#exult@irc.freenode.net logs for 27 Jan 2002 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage


[00:13:26] <Dominus> hi
[00:13:32] <artaxerxes> hi
[00:13:40] <artaxerxes> one sec
[00:13:48] <artaxerxes> my wife is calling me .. brb
[00:13:50] <Dominus> sound turned off and been packing my stuff for holidays
[00:14:45] <artaxerxes> back
[00:15:00] <Dominus> oh and I'm not really the guy to ask on usecode stuff
[00:15:04] <artaxerxes> how do I use ucxt and ucc ?
[00:15:15] <Dominus> to me usecode sounds like necronomicon
[00:15:40] <Dominus> with usecode extract (ucxt) and usecode compiler
[00:15:41] <artaxerxes> It's probably what it is!
[00:16:36] <artaxerxes> if I understand well, I should take usecode, decompile the whole thing (!!), translate one fucntion after one function and when it is done, compile the functions into one usecode ?
[00:16:40] <Dominus> with ucxt you make the usecode semi -readable output to some file (.uc?) and with ucc you compile it back as usecode
[00:16:51] <Dominus> right
[00:17:11] <artaxerxes> can I extract one at a time, translate and re-integrate one at a time into usecode?
[00:17:33] <Dominus> not so sure, I guess no
[00:18:13] <artaxerxes> how do I decompile the whole usecode ?
[00:18:21] <Dominus> but you really need to ask Darke when he shows up in a couple of hour
[00:18:28] <Dominus> with ucxt, I guess
[00:19:09] <artaxerxes> Darke's the master of usecode? I thought Jeff was the King!
[00:19:37] <Dominus> yeah, jeff and darke
[00:19:50] <Dominus> darke is more likely to show up in the channel though
[00:19:59] <Dominus> and wjp would be a good candidate too
[00:20:08] <artaxerxes> actually, all the tools I have are: expack, mklink, rip, shp2pcx, splitshp, ucdump, wud and wuc
[00:20:24] <Dominus> what OS are you using?
[00:20:25] <artaxerxes> I see a wjp|lotr
[00:20:28] <artaxerxes> Linux
[00:20:41] <Dominus> so get the source and make the tools
[00:20:51] <sbx> i know very little about usecode too :)
[00:20:51] <artaxerxes> mind you, I haven't updated my CVS tree in a while.... :(
[00:20:58] <Dominus> wjp is out watching Lord of the rings finally
[00:21:06] <artaxerxes> good :)
[00:21:19] * sbx hasn't seen it.
[00:21:22] <Dominus> with ucxt it is quite recommandable to update often
[00:21:30] * artaxerxes think sbx should see it
[00:21:45] <artaxerxes> can't I work without it?
[00:21:52] <artaxerxes> just using wud and wuc
[00:21:55] <artaxerxes> ?
[00:22:05] <sbx> i couldnt get wud's output to go into wuc
[00:22:06] <Dominus> yeah, see it. I saw it twice now. 1st time with my girlfriend in the German, localized version, 2nd time in the original
[00:22:13] <sbx> i posted that in the forum before
[00:22:21] <artaxerxes> posted what ?
[00:22:35] <sbx> that its too tricky putting the usecode together with wuc
[00:22:40] <artaxerxes> I c
[00:23:27] <sbx> i started making my own usecode assembler but got sidetracked, and figured ucc was maturing so no point in me continuing work on it yet
[00:23:30] <Dominus> yeah, wud and wuc were the beginning of usecode decompiling
[00:23:39] <artaxerxes> I got to extract one function using wud (I could see the DATA zone with the strings in English) but I had (and have) no clue on how to put back that into usecode once translated.
[00:24:14] <artaxerxes> any connection between ucc and ucdump ?
[00:24:24] <Dominus> no clue
[00:24:44] <sbx> use ucxt to extract the usecode functions like you said, and edit them and use ucc to put them back into a patch file, at least... thats what should happen
[00:24:53] <artaxerxes> let me just grab the latest CVS and see what gives...
[00:24:56] <sbx> i dont know how well ucxt and ucc are working together atm
[00:25:12] <artaxerxes> humm...
[00:25:37] <artaxerxes> do you think Jeff's patch (where he is on the island) could give me a clue...
[00:25:55] <Dominus> hm, yes maybe
[00:26:00] <artaxerxes> after all, he made a patch for usecode the same way I would like to..
[00:26:21] <Dominus> if you get the disassembled usecode to look like usecode.uc
[00:26:40] <artaxerxes> yes ?
[00:26:59] <Dominus> ucc compile the file usecode.uc back as usecode.uco (which is the same as usecode)
[00:28:06] <artaxerxes> Origin made a pretty special job with that usecode stuff!
[00:29:30] <sbx> I'm going to be using a type of bytecode for my own game project soon.
[00:30:09] <sbx> it's pretty nifty :)
[00:30:25] <sbx> but bytecode languages like that can be a pain
[00:30:26] <artaxerxes> what are the advantages ? noone to understand how to reverse-engineer it !?!
[00:30:31] <sbx> hehe
[00:30:38] <sbx> portability, modularity
[00:31:15] <sbx> QuakeIII lets you use shared libraries, but also runs a Virtual Machine for those reasons
[00:31:25] <sbx> the VM can be used on any platform
[00:31:32] <artaxerxes> I haven't digged much into usecode file structure... I have created a file viewer for U7 (same as Exult!) that I use for the translation in French, but I have no clue about usecode
[00:32:00] <Dominus> don't go there :-) you will surely go mad
[00:32:12] <sbx> hehe
[00:32:26] <sbx> Go look at DrCode on the patch island and you can tell he's quite mad
[00:32:42] <artaxerxes> anyone has a rough clue on how it works? I know the question was asked in the forum but it is not technical enough for me...
[00:32:48] <artaxerxes> :)
[00:33:28] <sbx> its just commands that get executed by the game engine and control how NPC's act and what happens when you double click items
[00:33:43] <Dominus> go take a look at the patch island'S usecode.uc
[00:36:35] --> Kirben has joined #exult
[00:36:35] --- ChanServ gives channel operator status to Kirben
[00:36:52] <sbx> hi Kirben
[00:36:56] <Dominus> hi
[00:37:35] <Kirben> Hi
[00:38:15] <artaxerxes> hi Kirben
[00:46:47] <artaxerxes> ucc is not in the CVS! (/tools/)
[00:48:04] <Kirben> what you mean ? it is in snapshot
[00:48:50] <artaxerxes> I am using sf's CVS browser and nothing shows up under the tools/ directory as to ucc.
[00:48:50] <sbx> in mine it is..
[00:48:50] <Kirben> source is in exult/usecode/compiler
[00:48:55] <sbx> what Kirben said
[00:48:57] <sbx> heh
[00:49:03] <artaxerxes> Ahhh... sorry! :~
[00:49:36] <artaxerxes> I am deserving 2 strikes with a whip...
[00:49:45] <sbx> On the ML there was discussion about cleaning up the tree to avoid that kind of confusion.
[00:50:23] <artaxerxes> Guess what??? I DO have ucc... :)
[00:50:28] <sbx> :O
[00:50:56] <artaxerxes> it even comes with a test1.uc file...
[00:51:54] <artaxerxes> pretty confusing actually...
[00:52:12] <artaxerxes> what's with the ucxt business?
[00:53:51] <sbx> ?
[00:54:43] <Kirben> exult/usecode/ucxt ucc is usecode compiler and ucxt is usecode decompiler
[00:55:48] <artaxerxes> so I run "ucxt $param" to extract the functions, and once translated, use "ucc $params" to re-create the usecode file?
[00:56:26] <Dominus> i'm not entirely sure about the ucc stuff
[00:57:06] <Dominus> ucc is really quiet
[00:57:19] <artaxerxes> quiet ? what do you mean ?
[00:57:53] <sbx> meaning ucxt tells you how to use it
[00:57:58] <sbx> ucc is not as verbose
[00:58:00] <Dominus> when you run ucxt it tells you what parameters you can use and I think it has some level of error output
[00:58:01] <sbx> i think thats what he means
[00:58:04] <sbx> yeah :-)
[00:58:14] <Dominus> yeah, sbx got it right
[00:58:33] <Dominus> so I'm not really sure if it even accepts any parameters
[00:59:37] <sbx> i think it just accepts the input file name
[00:59:45] <sbx> if you dont give it one, it takes input from stdin
[00:59:49] <artaxerxes> humm... would wuc do the job to compile it then?
[01:00:04] <artaxerxes> what kind of file is ucc expecting ?
[01:00:23] <sbx> the kind that comes with that island patch
[01:00:26] <Dominus> as i said take a look at the island patch
[01:00:54] <Dominus> if you run "ucc usecode.uc" you get usecode.uco which is the same file as usecode in the patch
[01:01:01] <artaxerxes> do you mean ONE function at a time ? How can that create the whole usecode ?
[01:01:54] <artaxerxes> the reason why I am asking is because when I used wud, I had to provide a function name and then only would it show me the content of the function
[01:02:17] <Dominus> compile ucxt and run it
[01:03:06] <artaxerxes> I did
[01:03:15] <Dominus> I think that you can decompile the whole usecode with it, can't you
[01:03:17] <Dominus> ?
[01:03:18] <artaxerxes> I love the content of the help
[01:03:25] <sbx> you can compile more than one function
[01:03:29] <sbx> the patch has a few
[01:03:30] <artaxerxes> very thorough
[01:03:50] <Dominus> work in progress
[01:03:53] <Dominus> :-)
[01:05:18] <artaxerxes> the man who decoded usecode is a pure genius! I am reading the ucformat.txt file.... It is a NIGHTMARE! :)
[01:05:57] <Dominus> well, as long as you are translating the text only you should be fine...
[01:06:11] --- wjp|lotr is now known as wjp
[01:06:19] <Dominus> but I'm sure you will end up like all the others who read the necronomicon
[01:06:25] <wjp> artaxerxes: decoding usecode really isn't that hard...
[01:06:34] <wjp> hi, btw
[01:06:38] <Dominus> wb
[01:06:40] <wjp> thx
[01:06:45] <wjp> it just takes a lot of time
[01:06:58] <Dominus> how did you like it? (lotr9
[01:07:03] <Dominus> )
[01:07:17] <wjp> really great
[01:07:18] <artaxerxes> hi wjp
[01:07:23] <artaxerxes> enjoyed the ride ?
[01:08:49] <wjp> well, the movie, yes. The (bicycle-)ride there, no ;-)
[01:09:00] * wjp looks out the window.... rain, storm...
[01:09:22] <Dominus> ugh
[01:09:32] <artaxerxes> willem, I have been having a conversation with Dominus and sbx about usecode and they said you could be the man to answer the question. (they did a great job btw)
[01:09:46] <wjp> I'll read up on the logs
[01:10:45] <Dominus> basically how to decompile the usecode, translate it and recompile it
[01:10:57] * wjp nods
[01:10:57] --- Fingolfin gives channel operator status to wjp
[01:11:03] <wjp> thx :-)
[01:11:34] * Dominus eyes Fingolfin who is lurking back there in the shadow
[01:11:42] <artaxerxes> guys, my wife needs my machine to type a bit.... wjp please read the logs and see what you can do... I'll be back in maybe 20 minutes (I'll read the log too)..
[01:11:53] <artaxerxes> thx for all your help guys! You are great!
[01:12:16] <wjp> I might be gone by then, btw
[01:12:26] <wjp> (it's getting kind of late)
[01:12:33] * artaxerxes bbs
[01:13:13] <Dominus> wjp: I#ve got just the link for you now: http://www.chem.ucla.edu/~bnh/lotr/lotrmain.html
[01:13:38] <wjp> is that the lego one?
[01:13:47] <Dominus> yeah
[01:13:54] <wjp> that one was fun :-)
[01:14:17] <Dominus> it is. Even better than the Lego porn pages
[01:14:26] <wjp> lego porn?!
[01:14:32] <wjp> good god... how sick
[01:14:39] <Dominus> http://drew.corrupt.net/lp/series2.html
[01:14:51] <Dominus> quite funny actually
[01:15:39] <wjp> translating usecode: ucxt and ucc can't be used for it yet
[01:16:35] <wjp> in time you will be able to use them, but I'm not sure if C-like is the most convenient format to translate
[01:17:45] <wjp> the wud/wuc/rip/mklink tools might be able to do it, though
[01:21:33] <sbx> if you can figure out how to operate them :-)
[01:21:43] <wjp> indeed... I'm doing that now
[01:23:36] * wjp fixes segfault in wuc
[01:25:06] <Dominus> Kirben: btw, toolsinstall in makefile.win32 should put ucxt into u7path and usecode\ucxt\data\*.* to u7path/data
[01:25:31] <Dominus> or is it put somewhere else on purpose?
[01:29:06] <Kirben> I just thought it was better not to put too much in U7 directory, so ucxt/ucc need direct access to U7 directories ?
[01:29:30] <Dominus> ucxt reads exult.cfg by default
[01:29:40] <Kirben> ok will change
[01:30:25] <Dominus> I think that people who compile it themselves will be advanced enough
[01:30:39] <Dominus> but maybe keep it like it is for dist
[01:31:10] <Dominus> or maybe not :-9
[01:31:28] <Kirben> so just move ucxt ? or ucc too ?
[01:31:36] <Dominus> just ucxt
[01:31:53] <Dominus> you have to handle ucc manually anyway
[01:34:46] <wjp> grr... rip doesn't work properly either
[01:34:51] <wjp> time for some more bugfixing
[01:35:03] <Dominus> at this time ? :-)
[01:35:09] <wjp> :-)
[01:35:16] * Kirben slaps Dominus around a bit with a large trout
[01:35:37] <Kirben> Dominus: last cvs update added line endings to makeifle.win32
[01:35:38] <Dominus> why, what did I do this time?
[01:35:56] <Dominus> oopsydaisy
[01:36:43] <Fingolfin> tsk tsk
[01:36:48] <Fingolfin> bad boys & girls
[01:36:58] <Dominus> no just me :-)
[01:37:00] * Fingolfin considers breaking some CVS
[01:37:08] * Fingolfin has nothing to break right now, though, hm
[01:37:28] <wjp> pentagram could use some more breaking
[01:37:34] <Fingolfin> hm
[01:37:47] <Fingolfin> I thought about adding that event system I thought about
[01:37:48] <Fingolfin> but
[01:37:56] <wjp> hm, I didn't even have a chance to look at your application class yet
[01:37:57] <Fingolfin> I also would need to add a basic DisplayManager thingy
[01:37:58] <Dominus> yeah, I expect to hear about some breaking the next three weeks
[01:37:59] * wjp does that now
[01:38:14] <Fingolfin> wjp: well, it is a minimal thing, won't stay like that for eve
[01:38:23] <Fingolfin> Dominus: why 3 weeks?
[01:38:29] <wjp> we could toss in those output functions Dancer mentioned some time ago
[01:38:35] <Dominus> two and a half actually
[01:38:37] * wjp wonders if Dominus could be going away for 3 weeks...
[01:38:52] <wjp> to, oh I dunno..., Hawaii or something? :-)
[01:38:53] <sbx> Where is Dancer?
[01:38:56] <Fingolfin> output functions?
[01:39:03] <Fingolfin> oh, Dominus, nice!
[01:39:16] <Dominus> hm, did I mention I'm going to Maui on monday morning? :-)
[01:39:42] <Fingolfin> I may have missed it
[01:39:55] <wjp> yeah, output functions with an 'importance' or something. You set a 'message level', and only messages with importance > (or maybe <) then this level will get displayed
[01:39:57] * Dominus thought he was bragging so loudly that everyone must have heard it by now
[01:40:22] <Dominus> I expect you have moved everything to common in three weeks
[01:44:34] <wjp> umm.... fread(&fs,2,1,fi); where fs is a 32 bit integer? that can't be good...
[01:46:41] <Fingolfin> eeek
[01:46:42] <Fingolfin> ugly
[01:46:59] <Fingolfin> btw, we never got around adding a "alert box" function, did we? :)
[01:47:12] <wjp> no... another good candidate for Application
[01:47:13] <sbx> What would it do? shouldn't it just get the low-bytes?
[01:47:28] <wjp> depends on architecture, I guess
[01:47:50] <wjp> it leaves a partly undefined integer, in any case
[01:47:52] * Dominus wonders how he can avoid the line ending problem in the future
[01:47:59] <wjp> line ending problem?
[01:48:01] <sbx> hmm
[01:48:02] <Fingolfin> ?
[01:48:05] --> Wumpus has joined #exult
[01:48:20] * sbx hides.
[01:48:57] <Wumpus> grr
[01:48:58] <Dominus> like comitting makefile.win32 in a way that makes Kirben take out the large trout
[01:49:03] <wjp> hi
[01:49:03] <Wumpus> darke is asleep, i suppose? :/
[01:49:09] <wjp> what is wrong, then?
[01:49:10] <Wumpus> `lo dominux, sbx, wjp
[01:49:20] <Dominus> hi
[01:49:29] <Wumpus> ucxt is currently asserting on me, and i'm wondering if its my fault or if i can blame him and forget about it :-)
[01:50:11] <Wumpus> ucxt: ucfunc.cc:953: void readbin_U7UCFunc(ifstream &, UCFunc &): Assertion `ucop._params_parsed.size()>=2' failed.
[01:50:14] <Wumpus> like so :/
[01:50:28] <sbx> I think you could blame him.
[01:50:34] <Wumpus> (thats ucxt 487)... built yesterday evening (IE from CVS of about, oh, 16 hours ago i suppose)
[01:51:07] * Wumpus reads the instructions, which seem to have changed... maybe i'm doing something stoopid
[01:51:09] <wjp> hm, 487 works for me
[01:51:17] <wjp> "./ucxt 487" Just Works(tm)
[01:51:20] <Dominus> well pick one of the guys with the highest cvs break points (either Darke or Fingolfin) :-)
[01:51:59] <Fingolfin> bah
[01:52:01] <Fingolfin> Darke has a looong way to go to equal me
[01:52:01] <Wumpus> dominus- hehe :) well ucxt is largely darke's toy, no ? :-)
[01:52:01] <Fingolfin> It's all my fault
[01:52:06] <Wumpus> wjp- hmmmm, okie...
[01:52:42] <Dominus> Fingolfin: no, I think you didn't cause the last quake in LA (but I'm not sure about the Kennedy assassination)
[01:52:52] <Fingolfin> all me! muwahahah
[01:54:08] <Fingolfin> I think I will move the mouse stuff from display to Application (in pentagram), so that the mouse shows in the other apps, too
[01:54:21] <Fingolfin> just for fun =)
[01:54:38] * sbx breaks subject.
[01:54:38] <sbx> Who knows CSS?
[01:55:09] <Dominus> sounds fine
[01:55:40] <sbx> Can someone tell me how to set the document background color with CSS? :-)
[01:56:15] <Fingolfin> body {
[01:56:15] <Fingolfin> color:black;
[01:56:15] <Fingolfin> background-color:white;
[01:56:16] <Fingolfin> font-family:"Trebuchet MS",sans-serif;
[01:56:16] <Fingolfin> }
[01:56:25] <Fingolfin> grabbed from an arbitray web site :)
[01:56:31] <sbx> heh
[01:56:32] <sbx> thank you
[02:00:29] <Wumpus> oh, hey, its only 2 days after #exult's first birthday
[02:00:48] <Dominus> really?
[02:00:58] <Wumpus> well according to chanserv's info, anyway
[02:01:07] <Wumpus> Registered: 1 year 2 days (5h 30m 19s) ago
[02:01:11] <wjp> it was recreated back then. #exult has been here longer
[02:02:17] <sbx> logs _only_ go back to Dec 2000
[02:02:24] <sbx> so is exultbot about that age?
[02:02:30] <wjp> yeah
[02:02:59] --> michaelz has joined #exult
[02:02:59] <Dominus> hey, wjp, maybe you could create a downloadable log file backup again? :-) (the one I have is from April 01)
[02:03:04] <michaelz> bah
[02:03:08] <-- michaelz has left #exult ("stupid autojoin")
[02:04:01] <sbx> wget
[02:04:31] <wjp> http://www.math.leidenuniv.nl/~wpalenst/exultlogs.tar.gz (3.5Mb)
[02:04:44] <Dominus> thanks
[02:04:49] <sbx> yay
[02:06:47] <wjp> artaxerxes: see my reply to the "Need help with usecode" post on the forum
[02:07:03] <Dominus> what would also be nice if someone had a complete set of the ML in some kind of format
[02:07:30] <wjp> I should have most of it here
[02:07:55] <wjp> oldest one I have here in linux is from 3 may 2000
[02:08:20] <Dominus> if you ever fin d the time, it would be nice to have it at some time in some readable format...
[02:09:11] <Dominus> geocrawler lists the 1st one from 27.April
[02:10:06] <Dominus> nice to read the first one, actually
[02:10:14] <Fingolfin> not the 27th from Apri 1st ? :)
[02:10:43] <Dominus> this one really cracks me up everytime I read it: It`s a little
[02:10:43] <Dominus> disappointing how little feedback we`ve received from Windows users; I expected
[02:10:43] <Dominus> more of an avalanche.
[02:11:13] <Dominus> he he, the devil you called
[02:12:00] <sbx> ?
[02:12:39] * Dominus points to the topic and thinks sbx should know what I'm talking about
[02:13:44] <Dominus> a shame that geocrawler doesn't have the older messages
[02:15:29] <Dominus> Fingolfin: do you know if that translating job is still scheduled for sometime for the SF docs...
[02:15:49] <Fingolfin> hmm
[02:16:10] <sbx> Dominus: give me a link?
[02:16:10] <Fingolfin> I will ask moorman, over at #sourceforge on irc.slashnet.org
[02:16:31] <Dominus> *cough* not that I'm eager to do it soon :-)
[02:16:38] <Fingolfin> Dominus: special reason you ask?
[02:16:50] <Dominus> no, I just remembered it laely
[02:16:54] <Dominus> tately
[02:17:06] <Dominus> LATELY
[02:17:23] * Dominus looks at the time...
[02:17:44] <Fingolfin> =)
[02:17:45] <Fingolfin> gosh
[02:17:55] <wjp> hm, kind of late
[02:18:01] <sbx> Dominus: where is the first message?
[02:18:06] <Fingolfin> [2:12 Uhr] artaxerxes: guys, my wife needs my machine to type a bit.... wjp please read the logs and see what you can do... I'll be back in maybe 20 minutes (I'll read the log too)..
[02:18:07] <Fingolfin> [2:12 Uhr] artaxerxes: thx for all your help guys! You are great!
[02:18:07] <Fingolfin> [2:13 Uhr] wjp: I might be gone by then, btw
[02:18:07] <Fingolfin> [2:13 Uhr] wjp: (it's getting kind of late)
[02:18:10] <Fingolfin> hmmm
[02:18:16] <sbx> ?date
[02:18:16] <exultbot> It is now Sun Jan 27 02:18:16 2002 (GMT).
[02:18:25] <Fingolfin> different time zone
[02:18:25] <wjp> :-)
[02:18:40] <wjp> exultbot reports GMT
[02:18:45] <wjp> we're in GMT+!
[02:18:47] <wjp> s/!/1/
[02:18:48] <Dominus> sbx: http://www.geocrawler.com/redir-sf.php3?list=exult-general
[02:19:05] <sbx> thx
[02:19:46] * sbx is in GMT-6.
[02:19:52] <Dominus> from our sf page by clicking on lists you get there as well
[02:20:12] <sbx> ok
[02:20:32] <sbx> thats how I subscribed
[02:20:41] <Fingolfin> wjp: you think I can remove pentagram/viewer/Makefile ?
[02:20:53] <wjp> oh, I wanted to talk about that...
[02:21:02] <Fingolfin> sure shoot
[02:21:25] <wjp> I'd kind of like it if running 'make' in the viewer subdir would build (at least) the things in viewer/
[02:21:29] <Wumpus> is there a sort of generic "network help" channel ? EG, to ask about policy things etc?
[02:21:40] <wjp> #openprojects?
[02:21:44] <Wumpus> hmm
[02:21:46] <wjp> or is it #opn?
[02:21:47] <Wumpus> that would be too easy :-) thanks
[02:21:56] <Fingolfin> wjp: hmm
[02:22:27] <artaxerxes> back
[02:22:27] <wjp> easiest would probably be just recursing into the top-level makefile
[02:23:13] <Fingolfin> yeah, something like that
[02:23:17] <Fingolfin> question is, how exactly
[02:23:21] <wjp> <wjp> artaxerxes: see my reply to the "Need help with usecode" post on the forum
[02:23:24] <Fingolfin> top level makefile expects to be run from top level
[02:23:40] <wjp> that's what 'cd' is for :-)
[02:23:53] <Fingolfin> can we put a target into the sub level makefile that just does a "cd .. ; make $TARGET; cd back" ? (pseudo code)
[02:23:55] <Fingolfin> yeah :)
[02:24:06] <Fingolfin> it's possible to have a catch all target IIRC
[02:24:06] <Wumpus> that doesn't actually work though does it?
[02:24:14] <wjp> a "(cd ..; make $TARGET)" would be cleaner
[02:24:20] <Fingolfin> btw, you can already type (from toplevel) e.g. "make globdisp"
[02:24:29] <Wumpus> it still for some reason tries to run make from the wrong place, or something like that? I seem to remember having problems trying to get that to do what i wanted, in any case :|
[02:24:50] <wjp> (ie. running it in a subshell)
[02:29:41] <Dominus> got to go now
[02:29:59] <Dominus> have to finally sleep I guess
[02:30:03] <Dominus> bye
[02:30:09] <-- Dominus has left IRC ("Exult! Exult! Exult!")
[02:31:52] <wjp> I should go too... *yawn*
[02:31:57] <wjp> bye
[02:32:06] <-- wjp has left IRC ("[x]chat")
[02:32:19] * Wumpus senses that lurking in #openprojects to work out whether its where i should be is futile.... its even quieter than here, and yet has heaps of people in :P
[02:32:31] * artaxerxes finished reading the very long log posted on chan exult.
[02:32:53] * artaxerxes had a lot to read and thanks all for their help
[02:37:00] <sbx> Wumpus: channels like that are.. strange... but common :-)
[02:40:15] <-- Fingolfin has left IRC ("42")
[03:19:11] * Wumpus is off until tonight, probably, cya
[03:19:32] <-- Wumpus has left IRC ("Off until tonight")
[03:40:43] <artaxerxes> ciao all
[03:40:45] <-- artaxerxes has left IRC ("using sirc version 2.211+KSIRC/1.1")
[03:53:29] --> Darke has joined #exult
[03:53:29] --- ChanServ gives channel operator status to Darke
[03:53:34] * Darke greetingsbows.
[03:59:27] * sbx doessomethinggreets Darke.
[04:04:56] --- Darke has changed the topic to: Exult! An engine to play Ultima7: Black Gate and Serpent Isle! Exult!
[04:07:56] <sbx> That makes... sense.
[04:11:18] <Darke> Perfect. Just the reaction I was hoping for.
[04:14:51] <sbx> I was reading an article and I thought of another description of Exult(which is thankfully also true)...
[04:15:02] * Darke earperks.
[04:15:04] <sbx> exultbot: -Not- Powered by .NET
[04:15:08] <sbx> Exult: -Not- Powered by .NET
[04:15:16] <sbx> (heh stupid autocompletion)
[04:15:19] * Darke grins.
[04:15:57] * Darke has a strange aversion to all things .NET for some reason...
[04:16:48] <sbx> I could think of plenty of reasons. :P
[04:22:27] <sbx> Wumpus wanted to know if he could blame you ucxt crashing.
[04:23:10] <Darke> Maybe. I'd test it, but my copy of ucxt is in a non-compilable state at the moment. <grin>
[04:24:32] <sbx> <Wumpus> ucxt: ucfunc.cc:953: void readbin_U7UCFunc(ifstream &, UCFunc &): Assertion `ucop._params_parsed.size()>=2' failed.
[04:24:32] <sbx> <Wumpus> like so :/
[04:24:32] <sbx> <sbx> I think you could blame him.
[04:24:32] <sbx> <Wumpus> (thats ucxt 487)... built yesterday evening (IE from CVS of about, oh, 16 hours ago i suppose)
[04:25:11] <sbx> <wjp> hm, 487 works for me
[04:25:12] <sbx> <wjp> "./ucxt 487" Just Works(tm)
[04:34:25] <Darke> Perhaps he might need to do a `make clean; make` or something. Anyway, I'll test it soon enough when I've got my copy back into a working state. <grin>
[04:43:56] <sbx> Darke: I forgot to get you to tell me yesterday... Remind me why you hate the C syntax 'pointer + offset'???
[04:49:34] <Darke> Because it assumes that sizeof(char)==1. Which can be false.
[04:51:00] <sbx> When?
[04:52:05] <sbx> In general thats not true, your probably right if 'pointer' is a string and 'offset' is a character index.
[04:52:06] <Darke> Under unicode sizeof(char)==2.
[04:52:13] <sbx> oh
[04:53:01] <Darke> In general, I don't like it, because it breaks abstraction. <grin>
[04:53:01] <sbx> In that setting couldn't you just do something like mynewpointer = string + (n * sizeof(char)) ?
[04:53:36] <sbx> Yeah I suppose, then how do you do the same thing with ANSI C functions?
[04:54:12] <Darke> mynewpointer =string[n];
[04:54:27] <Darke> actually I think it should be: mynewpointer = &string[n];
[04:55:02] * Darke hasn't done much with plain char*'s for years. He tends to convert them to str::string's first.
[04:55:40] <sbx> woah...
[04:55:52] * sbx ponders mynewpointer = &string[n].
[04:56:14] <sbx> That makes perfect sense!
[04:56:16] * sbx tries it.
[04:58:53] <sbx> !
[04:58:56] * sbx thanks Darke.
[04:59:22] <sbx> although I will probably keep using the old sytax out of habit :P
[04:59:31] <Darke> Exactly, and most importantly, it _reads_ like exactly what you want. You want to take a pointer to a string that starts at that character. <grin> Not take a pointer to an offset in the middle of an array.
[04:59:32] <sbx> s/sytax/syntax
[04:59:34] <sbx> /
[04:59:57] <Darke> <nod> It's hard to break a habbit like that. <grin>
[05:06:09] <sbx> With no optimisation do both of those formats end up being compiled the same you think?
[05:06:38] <sbx> &string[n] is like &(*(string+n))
[05:09:16] <sbx> I would guess they do.
[05:13:07] <Darke> Yes. They do. IIRC I think even K&R2 makes a specific note about it.
[05:20:37] <sbx> Ok...
[05:21:23] <sbx> Darke have you ever taken 2-4 hours writing a 32 line "seek" function?
[05:21:52] <Darke> It depends upon how 'complex' the seek function was, but yes.
[05:22:34] <sbx> and I don't mean "do 5 lines, get up and get some food, do 2 lines, get up watch tv, do 10 lines, go to sleep, as is my usual style :-)
[05:22:42] --> V0|D has joined #exult
[05:22:46] <sbx> s/sleep/sleep"/
[05:22:47] <sbx> hi V0|D
[05:22:50] <V0|D> hi
[05:23:28] <sbx> Darke: I say so because I did just that a few days ago and .. I dunno... it just really pissed me off but I was glad I finally figured it out(and of course it seemed simple after I finished it).
[05:23:31] <V0|D> how goes it?
[05:23:43] <sbx> V0|D: I'm just sitting here.
[05:23:49] <sbx> :D
[05:23:59] <Darke> sbx: <grin>
[05:24:06] <V0|D> haha
[05:24:09] <V0|D> me too
[05:24:23] <sbx> Telling Darke how slow I am when it comes to figuring some things out. :P
[05:24:32] * Darke is sitting here, detailing why Pascal is not his favourite language on another channel. <grin>
[05:24:44] <V0|D> hahaha
[05:24:57] <V0|D> i think we've all felt like that at some stage, sbx
[05:25:44] <sbx> it took me at least 2 hours the other day just to do 32 lines(in C)... and I ended up doing recursion
[05:26:08] <sbx> Darke: Do you think recursion is a bad thing?
[05:26:11] * Darke spent two weeks trying to fix a bug in 50 lines of recursive code, and eventually had someone else spot it within half an hour or so. He wins. <grin>
[05:26:42] <sbx> yay
[05:26:46] <sbx> :P
[05:27:00] <Darke> sbx: Only in the sense that I have problems understanding it. But I know that's just me. <grin> I think you should use recursion when it's appropriate, like anything else.
[05:27:03] <sbx> although I don't think you want to get into who is the slowest
[05:38:00] * sbx updates his local Exult tree for the first time in over a month.
[05:39:12] * Darke watches sbx spend the next few hours recompiling...
[05:41:27] <-- V0|D has left IRC (Read error: 104 (Connection reset by peer))
[05:47:52] <sbx> Does files/rwregress.cc get compiled by default?
[05:51:41] <Darke> It shouldn't, IIRC.
[05:56:29] <sbx> What do I do to get it working?
[05:57:43] <Darke> Actually, no, it does appear to be compiled by default.
[05:58:15] <sbx> Oh alright..but now I get an error.
[05:58:36] <sbx> g++ -DHAVE_CONFIG_H -I. -I. -I.. -I./.. -I./../files -I/usr/include/SDL -D_REENTRANT -DXWIN -O2 -Wno-long-long @WARNINGS@ -g -O2 -Wp,-MD,.deps/Configuration.pp -c Configuration.cc -o Configuration.o
[05:58:36] <sbx> g++: cannot specify -o with -c or -S and multiple compilations
[05:58:57] <sbx> How did that happen?
[06:00:04] <Darke> Odd. I have no problems. It appears to be complaining about the `-o Configuration.o` attached on the end.
[06:02:24] <sbx> Should I just take it off?
[06:02:30] <sbx> and type make again?
[06:02:48] <sbx> somehow
[06:03:19] <sbx> It's in a directory you've been in. :-)
[06:05:25] <Darke> Perhaps re-autogen.sh-ing and configuring again, just in case?
[06:05:41] <sbx> ok
[06:06:43] <sbx> You should update your `aclocal.m4' by running aclocal.
[06:06:50] <sbx> is that necessary?
[06:07:24] <Darke> `rm -r aclocal.m4`. IIRC we had this problem earlier, it's an obsolete file.
[06:07:33] <sbx> Yeah, how did it get there again?
[06:08:39] <-- Kirben has left IRC ("System Meltdown")
[06:09:48] <sbx> i still get the error btw
[06:09:52] <sbx> after removing the file
[06:10:03] <sbx> i think there was some other file(s) that needed to be removed
[06:10:34] <Darke> Perhaps try 'make distclean; configure; make'? I'm not sure whether that will work right though.
[06:10:54] <sbx> No rule to make target distclean
[06:12:11] <Darke> I've actually got an aclocal.m4, so it doesn't look like that's the problem. <sigh> Perhaps a google search through the exultbot logs might help?
[06:14:39] <sbx> Ah.. Sharptooth was there. :)
[06:14:45] <sbx> Tooth
[06:17:59] <sbx> the solution was to remove acinclude.m4
[06:18:11] <Darke> Ahh. Well, we were close. <grin>
[06:18:22] <sbx> but that doesnt work
[06:18:28] <sbx> there is no acinclude.m4
[06:20:14] <sbx> oh well maybe it will compile
[06:20:37] <Darke> Hopefully.
[06:26:39] * sbx twiddles his thumbs.
[06:34:35] --> V0|D has joined #exult
[06:34:41] <V0|D> stupid isp
[06:36:47] <sbx> Does anyone think demo recording/playback in Exult would be a nice feature?
[06:37:16] <sbx> or am i the only one that would use that
[06:37:54] <V0|D> i'd never use it
[06:37:57] <Darke> Probably only you. <grin> I can't really think of a use for demo features.
[06:38:10] <sbx> hehe
[06:38:44] <V0|D> unless you could record a really cool animation sequence that involves a part of the game that i couldnt get to myself..then id wathc it
[06:53:35] <Darke> Ok, after finally getting my copy of ucxt to 'work' again, `ucxt -fa -fz 487` works as expected. It looks like something wasn't recompiled, or perhaps that it couldn't find a file.
[06:54:36] <sbx> Probably
[06:54:44] <sbx> What did you have to fix in ucxt to get it to compile?
[06:55:39] <Darke> I'm just making ucxt not dependant on the {bg|si}intrinsics.h files. One program 'creates' the u7{bg|si}intrinsics.data files, and ucxt just reads them, if it needs to.
[06:56:24] <sbx> Oh I read you were going to do that.
[06:56:29] <sbx> What is the format of the data files now?
[06:56:35] <sbx> Is it conf/ ?
[06:56:39] <Darke> conf/
[06:56:57] * sbx wants to see this. :-)
[06:57:18] <Darke> Currently there's u7misc.data and u7opcodes.data IIRC.
[06:57:41] <sbx> flags.data
[06:57:46] <sbx> events.data
[06:58:14] <Darke> Curretnly unused, and are in the 'wrong' format.
[06:59:14] <sbx> I wonder why the root has to be named in conf/ files?
[06:59:20] <sbx> <misc> <exult> etc
[06:59:52] <Darke> Because if it isn't, it defaults to <config>. That's Just How It Works(tm). <grin>
[07:00:26] <sbx> Ooh, did I mean <config> instead of <exult> ?
[07:00:31] <sbx> hehe
[07:01:07] <sbx> Well anyway, so you mean it doesn't store a tree from each file in a single structure?
[07:01:12] <Darke> It needs a root name, for reasons that make sense if you look at the code. <grin> I'm tempted to allow it to have more then one 'root', but that would require a little rewriting.
[07:01:29] <sbx> I would think you could refer to the root as '/'.
[07:01:47] <sbx> Well... I don't even know how the system works so why am I talking? :-)
[07:02:04] <Darke> <nod> It does. One tree, one structure. You can't do that, because the '/'s are implicit. I know, I tried. <grin> It breaks almost everything.
[07:03:46] <V0|D> later all
[07:03:49] <-- V0|D has left IRC ("()")
[07:03:57] <sbx> :\ ... As long as it Just Works(tm) I suppose.
[07:04:15] <sbx> Did i bore V0ID into leaving?
[07:04:44] <Darke> <grin> Maybe.
[07:29:23] <sbx> "Join the fight now and help stop the Rainforest before it's too late."
[07:29:39] <sbx> haha
[07:29:51] <sbx> sorry... I was watching South Park. :)
[07:29:59] * Darke blinkies.
[07:31:30] <sbx> I do strange things when my computer is busy compiling. :P
[07:38:52] <sbx> ouch
[07:38:58] <sbx> Npc_actor_in takes 14 arguments!
[07:39:31] <Darke> Intrinsic, or in exult's code? <grin>
[07:41:38] <sbx> exult
[07:41:52] <sbx> actros
[07:41:54] <sbx> actors
[07:42:54] <sbx> wtf
[07:43:11] <sbx> Apparently that is an unrecoverable error?
[07:43:18] <sbx> actors.cc: In function `static void Actor::update_from_studio(unsigned char *, int)':
[07:43:18] <sbx> actors.cc:1735: passing `short int *' as argument 14 of `Npc_actor_in(unsigned char *, int, long unsigned int &, int &, int &, int &, int &, int &, int &, string &, short int &, short int &, int &, int *, short int &, short int &, long unsigned int &, long unsigned int &, long unsigned int &, short int &, Serial_schedule *)'
[07:43:29] <sbx> although it was doing a lot after that
[07:43:32] <sbx> then it quit
[07:43:41] <Darke> Weird.
[07:47:04] <sbx> Suggestions?
[07:49:13] <Darke> Find argument 14, the one that is listed as a 'short int *', on line 1735 of actors.cc, and drop a (int *) in front of it?
[07:53:24] <sbx> Aren't types supposed to be converted automatically when passed to functions with ANSI-C?
[07:53:47] <sbx> Oh, and doesn't short int & == short int *?
[07:56:01] <sbx> Retrying
[07:56:15] <Darke> No. That's passing a short int _reference_, it would be `short int *` in the above if it was passing a pointer.
[07:57:11] <Darke> For, say a function called foo(const string &bar, string *baz); it should be called with foo(bar, &baz), if that helps.
[07:59:03] <sbx> string is char *?
[07:59:27] <Darke> No, in this case string is std::string. Perhaps I should have used 'unsigned int' or something. Same effect.
[08:00:29] <sbx> foo(unsigned int &bar, unsigned int *baz) should be called with foo(bar, &baz)?
[08:01:02] <Darke> Yes.
[08:02:03] <sbx> I understand the second parameter, but still don't understand why the first isn't *..
[08:02:15] <sbx> if bar contains an address?
[08:02:29] <sbx> Can you explain the difference between a reference and a pointer ? ^_^
[08:02:34] <sbx> please
[08:02:47] <Darke> The first is a reference. A reference is similar to a pointer, with the exceptions that you cannot reassign a reference once it's assigned, and a reference is _never_ null.
[08:03:09] <Darke> s/null/NULL/ to be specific.
[08:05:57] <sbx> Within foo, can bar be used as a normal unsigned int?
[08:06:22] <Darke> You don't need to redirect it, and you can treat it as if it were just another variable. The benefits of it, are that you don't need to use the silly redirection syntax, which adds another level of abstraction. You can modify it as if it were a pointer, but you always know there's something there, so you don't need to assert() that it's not NULL here, there and everywhere.
[08:07:24] <Darke> Yep. It can be used as a normal int, in every way. You can even make a pointer to it if you wish. <grin> The benefit of it, is if you modify it inside foo(), it will also be modified outside of foo. It's 'kind of' a pointer in that respect.
[08:07:44] <sbx> Well, you need to assert that its not 0 don't you?
[08:08:16] <Darke> The pointers? NULL==0 for most architectures.
[08:08:29] <sbx> the references
[08:08:36] <sbx> Well it can be null then
[08:08:40] <Darke> The references never have to be asserted. Because they will _always_ point to something.
[08:08:42] <sbx> If something sets it to that
[08:08:50] <sbx> You cant do &bar = ?
[08:09:14] <sbx> Hmm no.. that would just change it's address.. which wouldnt be possible
[08:09:20] <sbx> hehe
[08:09:38] <Darke> Only when you declare it for example `unsigned int a=10; unsigned int &bar=foo;` After that, you can't change where bar points to, it will always point to foo.
[08:10:04] <Darke> s/foo/a/
[08:10:11] <Darke> s/foo/a/g
[08:10:14] <sbx> I get it. Are you saying bar IS foo?
[08:10:26] <Darke> For all intents and purposes, bar is foo.
[08:11:01] <Darke> There are execptions, when you're dealing with base/child classes, but they are 'advanced' topics. <grin>
[08:13:21] --- Darke is now known as Darke|afk
[08:13:25] <sbx> If you passed baz (a non-NULL pointer)to the 'foo' function in the previous example, would the bar within foo be a reference to the memory pointed to by baz, or to baz's memory?
[08:14:26] <sbx> base/child classes.. hmm
[08:14:41] <Darke|afk> If you called `unsigned int baz=10; foo(baz, &baz);` inside foo, both baz and bar would be 10.
[08:15:18] <Darke|afk> `unsigned int *baz = new unsigned int(10); foo(*baz, baz);` would also work.
[08:15:34] * Darke|afk will, however, be afk for a bit.
[08:15:47] <sbx> grr
[08:15:53] <sbx> This is FUBAR!
[08:15:57] <sbx> alright
[08:16:19] <sbx> Is what we're talking about a strictly C++ concept?
[08:16:30] <Darke|afk> Yep. It won't work in C.
[08:16:40] <sbx> sweet thanks
[08:16:53] * sbx snaps his fingers and forgets everything Darke|afk just told him.
[08:17:59] <sbx> Actually that didn't work because I can't snap my fingers together. :-)
[08:20:03] * Darke|afk giggles.
[08:28:29] <sbx> gamewin is much too large
[08:41:56] <Darke|afk> Agreed.
[08:49:29] <sbx> NOOOOOoooo
[08:49:51] <sbx> It finally got to the end and it couldnt find -lvga
[08:52:09] <sbx> -rwxr-xr-x 1 root root 331476 Jun 7 2001 /usr/lib/libvga.so.1.4.3*
[08:52:25] <sbx> I should link from libvga.so and try it
[08:54:34] * Darke|afk snickers.
[08:58:36] <sbx> Huzzah!
[08:58:41] <sbx> I am Zoltan!
[08:58:42] <sbx> i mean..
[08:58:44] <sbx> It works!
[08:59:04] * Darke|afk is impressed!
[08:59:20] <sbx> Except I need to set the path to ultima7 now...
[09:00:32] <sbx> Suggestion: Instead of using ~/.exult.cfg use ~/.exult/exult.cfg and optionally use that directory for other local files (such as patches or sfx).
[09:01:38] --> Wumpus has joined #exult
[09:02:12] <Darke|afk> sbx: Sounds reasonable, except you'd have to fiddle with it for non-unix OSes.
[09:03:06] <sbx> Windows uses the exult installation directory.
[09:03:08] <sbx> hi Wumpu
[09:03:11] <sbx> s
[09:03:19] <Darke|afk> Hi Wumpus.
[09:03:24] <Wumpus> `lo darke, sbx
[09:03:32] <sbx> Wumpus: &string[index] !
[09:03:36] <sbx> hehe
[09:03:41] <Wumpus> sbx- hmm?
[09:03:47] <sbx> replacement for string + index
[09:03:58] <Wumpus> um
[09:04:02] <Wumpus> thats messy
[09:04:10] * Wumpus still doesn't see whats wrong with string + index...
[09:04:12] <sbx> Darke|afk says it adds abstraction
[09:04:44] <Wumpus> by doing & though, you're necessarily dealing with pointers, no? :P
[09:04:47] * Darke|afk points to his arguments in the logs. Sure, it's not _important_ but...
[09:04:57] <Wumpus> bah logs :P
[09:05:09] <Darke|afk> You're always dealing with pointers, char* right?
[09:05:14] <Wumpus> did you fix an assert in ucxt recently, darke?
[09:05:20] <Wumpus> like, in the last few days
[09:05:35] <Wumpus> darke- i dunno... I just don't see what sbx was saying about abstraction
[09:05:48] <sbx> Hey I didn't say I understood it either.
[09:05:55] <Darke|afk> No. I have, however added a u7misc.data file, which if it's not found, may cause that problem.
[09:05:57] <Wumpus> hehe :-)
[09:06:26] <sbx> Just that I guess your not supposed to think of it as an offset of an array, but as a character index in a string.
[09:06:41] <Wumpus> darke- ahh, hmm
[09:06:49] <Wumpus> oh i see, and thats not in my packages... grr
[09:07:01] <Wumpus> where does it go? /usr/share/games/exult ?
[09:07:09] <Darke|afk> And the fact, you're assuming a char is 1 byte, when if you're using unicode, or char_w, it's not.
[09:07:17] <Darke|afk> In the normal exult data directory.
[09:07:19] <Wumpus> darke- no you're not
[09:07:29] <Wumpus> pointer arithmetic works on the width of they type
[09:07:33] <Wumpus> s/they/the/
[09:07:45] <sbx> It does?
[09:07:58] <Wumpus> like, if you have an int* foo, then foo+1 points to the next int in the array, not to an unaligned location in the middle of the first int
[09:08:10] <Wumpus> sbx- well yeah, otherwise it'd be horrible and useless
[09:08:22] <Darke|afk> Fair enough. I haven't used it for that long. I'll remember to complain to that lecturer then. <grin>
[09:08:41] <Wumpus> that is, foo[bar] === *(foo+bar)
[09:08:48] <Wumpus> hehe darke
[09:09:07] <sbx> Wumpus: So intpointer + 3, is an offset 96 bytes from intpointer?
[09:09:17] <sbx> assuming sizeof(int) = 32
[09:09:17] <Wumpus> 96 bytes?
[09:09:28] <Wumpus> thats a hell of a big int :P
[09:09:36] <Wumpus> you mean sizeof(int) = 4 surely? :P
[09:09:40] <sbx> wait
[09:09:41] <sbx> bits
[09:09:42] <sbx> hehe
[09:09:49] <Wumpus> i don't think there are any 256 bit machines yet ;-p
[09:09:52] <sbx> s/bytes/bits/
[09:09:54] * Darke|afk grins.
[09:09:57] <sbx> :P
[09:10:02] <sbx> well
[09:10:10] <Wumpus> yeah, bits true
[09:10:18] <Wumpus> but you can't align pointers to bits at all, so better to talk about bytes ;-p
[09:10:54] <sbx> Not only do I have a hard time understanding abstraction, but I'm thinking in terms of bits as well. Maybe I'm more suited to assembly? :-)
[09:11:22] <Darke|afk> You can, but you're talking the pathological case of hardware then.
[09:11:38] <Wumpus> asm coding is fun :P
[09:12:07] * Darke|afk would rather not code in asm. He prefers virtual machines.
[09:12:14] <sbx> Someone should make a U7 Usecode CPU.
[09:12:18] <Wumpus> eww java? :P
[09:12:20] <sbx> Which only runs U7.
[09:12:22] <Wumpus> sbx- rofl
[09:12:32] * Darke|afk doesn't like Java much.
[09:12:37] * Wumpus proposes it as a computer architecture assignment
[09:12:43] <Wumpus> darke- *phew* :-)
[09:12:46] <Darke|afk> I'm thinking more Smalltalk or usecode like languages. <grin>
[09:12:49] * sbx gets out the soldering iron and PCBs.
[09:13:34] <sbx> Yeah usecode, I don't want to imagine U7 in Java.
[09:14:07] <Darke|afk> You'd just output the usecode as Java then, and compile it. Much simpler. <grin>
[09:14:11] <Wumpus> darke- this is the error i was getting, and continue to get even with u7misc.data in the /usr/share/games/exult dir
[09:14:16] <Wumpus> ucxt: ucfunc.cc:953: void readbin_U7UCFunc(ifstream &, UCFunc &): Assertion `ucop._params_parsed.size()>=2' failed.
[09:14:23] <Wumpus> (mmm /exec -out is good :-))
[09:15:54] * Wumpus doesn't paticularly feel like getting new stuff, but i suppose i should, grr
[09:16:21] <sbx> sh: /home/sbx/build/exult/usecode/ucxt/ucxt: No such file or directory
[09:16:23] <sbx> oops
[09:16:45] * Wumpus suggests using just /exec wihtout -out to experiemnt :P)
[09:17:03] <sbx> \/
[09:17:05] <sbx> hmm
[09:17:13] <sbx> /
[09:17:25] <sbx> /exec BitchX ?
[09:17:41] <Wumpus> lol
[09:17:42] <sbx> with a startup autocommand of /exec BitchX
[09:17:45] <Wumpus> that would be a worry :P
[09:18:30] <sbx> "sbx: Master of recursive flooding"
[09:18:36] <sbx> :P
[09:20:40] <Darke|afk> Wumpus: Are you decompiling the spanish SI?
[09:21:40] <Wumpus> no :P
[09:21:45] <Wumpus> trying to do BG
[09:22:02] <Wumpus> it apparently works for wjp, so either something is wrong with what i have, or i'm missing some other files, or something
[09:22:36] <Darke|afk> Because, theoretically, you can't actually get to that assertion unless you've hit a 0x4D opcode, which theoretically is only in the debugging versions.
[09:22:43] <sbx> Wumpus: There's a forum thread asking where a good spot is in SI for a HQ.
[09:23:56] <sbx> "I'm soooo close"
[09:26:33] <Wumpus> hmm sbx?
[09:26:41] <Wumpus> darke- well its' wroked in the past, hmm
[09:27:57] <Wumpus> darke- it also occurs with, eg, -fl -a... hmm
[09:28:01] <Wumpus> also -fl -a -si
[09:28:15] * Wumpus ponders
[09:28:20] <sbx> Wumpus: Previously you had stated in here how you liked to set up an equipment storage area.. in, the Crematorium I think. I thought you might be interested in responding to that post.
[09:28:23] <Wumpus> oaky, recompile time
[09:28:39] <Wumpus> sbx- ohh, hehe :-)
[09:28:47] <Wumpus> sbx- nah, i haven't touched the forum in quite a while :P
[09:29:03] * Darke|afk should be commiting a few changes to ucxt 'soon' too, so that may fix your problems. Who knows.
[09:29:06] <sbx> What did -fl do?
[09:29:17] <sbx> list all functions?
[09:29:21] <sbx> er
[09:29:26] <sbx> list functions which call this one?
[09:29:30] <Wumpus> just list format.. -a says all
[09:29:37] <Darke|afk> Lists the basic function data in short format.
[09:29:44] <sbx> Oh
[09:30:32] <Wumpus> hmm, no signiciant updates, hmmmmm
[09:31:19] <sbx> In C if you declare a function as whatever(int &cantdoreferencesinC);, would cantdoreferencesinC end up as a pointer or would the compiler give some kind of error?
[09:32:56] <Wumpus> that format doesn't make sense in plain C :)
[09:33:05] <Wumpus> the int &foo part, i mean
[09:33:11] <Wumpus> its a C++ism
[09:33:22] <Wumpus> i might be mistaken, but i think I know C well enough to be right there ;-p
[09:33:25] <sbx> i know darke told me
[09:33:30] <Darke|afk> I'm pretty sure it'd give a compile error. I have a faint memory of the latest C standard adding references though.
[09:33:33] <sbx> I'm asking what would happen if you used it.
[09:33:37] <sbx> Ooh ...
[09:33:48] <Wumpus> oh, it'd be a compiler error, one would hope
[09:33:51] <Wumpus> :P
[09:33:55] <Darke|afk> I know they're adding the 'const' keyword, which is wonderful. <grin>
[09:34:05] <sbx> It isn't already there??
[09:34:18] <Wumpus> const was there already, no?
[09:34:22] <Darke|afk> Not the last time I used C... it's been a while though. <grin>
[09:34:22] * Wumpus has used it, anyway :P
[09:34:27] <sbx> I been using const
[09:34:49] <Wumpus> darke- its in the original K&R book I have, i'm fairly sure
[09:35:08] <Darke|afk> Weird. I've tried to use it in C before. But it's always not worked.
[09:35:25] <Darke|afk> This wasn't using a gcc compiler though.
[09:35:44] <sbx> I get warnings if I try to alter const or pass it to a function that doesn't specify const.
[09:36:19] * Darke|afk knows gcc tends to support things before they become ratified if they're proprosed as a standard as non-standard extensions...
[09:36:22] <Wumpus> looks like i was wrong about the K&R thing... its not in the list of keywords, hehe :P
[09:36:57] <Darke|afk> Again, I just remember it being pointed out by a C++ lecturer, as being something that was being back-grafted onto C from C++.
[09:37:13] <sbx> Hehe "back-grafted"
[09:37:26] <sbx> So GCC 2.95.3 probably allows you to use references?
[09:37:36] <sbx> If they were added to the latest standard.
[09:37:44] <Wumpus> sbx- why not just try it and see? :-)
[09:38:02] <sbx> eh too confusing
[09:38:08] * sbx doesn't want to bother.
[09:38:20] * Darke|afk is almost sure it would. However... you can't rely on your code being portable until the standard is ratified. He doesn't know if that has happened yet.
[09:38:53] <Wumpus> I mean if you look at something like man strcpy, it uses const in the type signature there ;-p
[09:39:58] <Wumpus> and that manpage is date 1993-04-12 :P
[09:40:05] <Wumpus> (which may or may not be correct)
[09:40:34] <sbx> Heheh Darke|afk is C++ all the way, and consideres ANSI-C only a distant memory.
[09:41:57] * Darke|afk considers ANSI-C a very, very vivid, but slightly annoying memory. A more annoying memory is Visual-C++ not-quite-standard C and C++, and C#.
[09:43:07] <sbx> C# is related to .NET?
[09:43:13] <Wumpus> darke- I have it on reasonable authority that `const' is at least as old as ANSI C, possibly older :P
[09:43:45] <Darke|afk> sbx: Yes. It's apparently the 'glue' language for it, or something. I tend to avoid it.
[09:43:45] <sbx> yeah const was added to ANSI C but not part of K&R
[09:44:04] <Wumpus> its certainly in the ansi-C version of K&R :P
[09:44:19] <Darke|afk> Wumpus: Fair enough. I'd love to work out where this lecturer was getting his information then.
[09:44:28] * Darke|afk is really afk now.
[09:44:37] <Wumpus> out of his MyArse database :P
[09:44:43] * sbx thought you were already afk.
[09:44:56] <Wumpus> he was teletyping :P
[09:45:00] <sbx> aah
[09:45:05] <sbx> hehe
[09:45:09] * sbx goes to install Ultima7.
[09:45:18] <-- sbx has left IRC ("-_-")
[09:45:28] * Wumpus goes to work out why ucxt doens't work
[09:46:03] <Wumpus> if i just want to compile ucxt, is configure, cd usecode/ucxt, make... going to work?
[09:46:08] <Wumpus> ie, whats the minimal stuff i need?
[09:54:52] <Wumpus> we need a --disable-exult option to exult's configure :-) for building only the tools or whatever :)
[09:54:54] --> sbx has joined #exult
[09:55:31] --- Wumpus is now known as Ankheg
[09:56:27] --- Ankheg is now known as Wumpus
[09:59:36] * sbx installs SI.
[10:02:16] * sbx installs U8, just so he can try Pentagram.
[10:04:32] <-- sbx has left IRC ("rebooting")
[10:04:32] --- Darke|afk is now known as Darke
[10:05:48] <Darke> Wumpus: `./configure; cd files; make; cd ../conf; make; cd ../usecode/ucxt; make;` should work.
[10:06:10] <Wumpus> ah, cool... i guess i'll find that out when the one in usecode/ucxt fails :)
[10:06:30] * Darke giggles at the thought of a --disable-exult switch in exult's configure file.
[10:07:29] --> sbx has joined #exult
[10:08:21] * sbx Exults!
[10:08:22] <sbx> it works
[10:08:31] <sbx> (as it should)
[10:10:48] <Wumpus> :)
[10:58:11] --> Kirben has joined #exult
[10:58:11] --- ChanServ gives channel operator status to Kirben
[11:21:31] --> Kirben2 has joined #exult
[11:21:32] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[11:22:06] <Darke> sbx: You know. That is so very, very, very sad. <grin>
[11:22:15] <sbx> Agreed.
[11:22:36] * sbx is tired of that and will sleep now. :-)
[11:22:36] <Wumpus> ?
[11:22:39] --- sbx is now known as sbx|sleep
[11:22:46] <Darke> Night sbx. <grin>
[11:22:55] <Wumpus> g'night
[11:23:41] <Darke> Wumpus: He DCCed me a picture of the guardian speaking, with the text, in U7 font below it saying "All your base are belong to us."
[11:23:51] <Wumpus> hehe
[11:26:32] --- Kirben2 is now known as Kirben
[11:26:35] <Wumpus> darke- i still get that assert, even compiling it as you said and then, from <exult_src_root>/usecode/ucxt/src, doing ./ucxt 487
[11:27:41] * Darke ponders.
[11:27:55] <Wumpus> from cvs of, well, when i asked :)
[11:28:18] * Wumpus considers compiling with debug and staring at it... i could have some paths set strangle,y but i mean, exult -bg works
[11:28:32] <Darke> Actually, run it with -v and see what happenes.
[11:29:26] <Wumpus> blah blah blah, then, data dir = /usr/share/games/exult (not sure if this is good, i'd rather it would use the stuff in its "current" directory"), then 'Configuring for bg.', then the assert
[11:30:40] <Wumpus> ucxt: ucfunc.cc:953: void readbin_U7UCFunc(ifstream &, UCFunc &): Assertion `ucop._params_parsed.size()>=2' failed.
[11:30:41] <Wumpus> Loading exult configuration file...
[11:30:41] <Wumpus> Initing static tables...
[11:30:41] <Wumpus> Initing runtime tables...
[11:30:41] <Wumpus> datadir: /usr/local/share/exult/
[11:30:41] <Wumpus> Configuring for bg.
[11:30:43] <Wumpus> ahem
[11:30:51] <Wumpus> the assert should be at the end of that lot, stupid stderr :P
[11:31:11] <Wumpus> (that's ./ucxt -v 487 | tail -5 , with the assert in the wrong place :P)
[11:31:25] * Darke nods. No problem.
[11:32:25] <Darke> Try adding something like this to .exult.cfg, just between the <config> tags:
[11:32:26] <Darke> <ucxt>
[11:32:27] <Darke> <root>
[11:32:27] <Darke> /home/st/exult/usecode/ucxt/data
[11:32:27] <Darke> </root>
[11:32:27] <Darke> </ucxt>
[11:32:53] <Wumpus> /home/st/exult <-- my source root?
[11:33:01] * Darke nods.
[11:34:31] <Wumpus> yup, that works
[11:34:37] <Wumpus> so i'm still missing something in the install stuff
[11:34:41] <Wumpus> which files does it use?>
[11:34:50] <Wumpus> (in /usr/share/games/exult, that is)
[11:35:22] <Wumpus> actually, i can check that myself P
[11:35:24] <Darke> Currently u7opcodes.data, u7misc.data. In my next commit it will also want u7bgintrinsics.data and u7btsiintrinsics.data
[11:35:38] <Darke> s/u7btsi/u7si/
[11:36:02] <Wumpus> ahh, u7opcodes.data
[11:36:13] <Wumpus> opcodes.txt is deprecated? :P
[11:36:18] <Darke> opcodes.txt isn't used anymore. Yep.
[11:36:56] <Darke> The code is still in the program, and it can be used by changing an '0' to a '1', which is why that file is still there. <grin> But it nolonger needs to be installed.
[11:37:15] <Wumpus> problem is, i can't easily just say "everything in usr/share/games/exult" should be included, because some things need to go in the exult package, some in the exult-tools pacakge
[11:37:27] <Wumpus> (for the package building stuff)
[11:37:37] * Darke nods.
[11:38:10] <Darke> The *intrinsics.data files are going to be automagically generated by the makefile, but they're going to be needed to be installed very soon too.
[11:40:21] --> Kirben2 has joined #exult
[11:40:57] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[11:42:51] * Wumpus finally gets around to making a patchfile for his mapedit/Makefile.am change so i don't have to manually change it each time :P
[11:45:37] <Darke> A good incentive. <grin>
[11:47:27] <Wumpus> yaay *haxors around problem* ;-p
[11:51:07] <Wumpus> eep @ new u7opcodes.txt format
[11:51:32] * Darke cackled evily. "Like? Or run screaming from?" <grin>
[11:52:05] <Wumpus> initial impression is ewww :P
[11:52:29] <Wumpus> but i've probably just gotten used to the table format :P
[11:52:48] <Wumpus> but if you're going to XMLify it, it'd be nice to have some nice viewer for it :-) I suppose there's plenty of XML viewers, though, hmm
[11:52:50] <Darke> <grin> Mine too. I'm still not sure if I'm insane or not using it, which is why the opcodes.txt file is still there. But it appears to be easier, at least for me to modify. Although it is a tad less readable, IMHO.
[11:53:15] <Wumpus> re readability, ack
[11:53:39] <Darke> It's far, far less easy to make a mistake modifying it.
[11:53:56] <Wumpus> "less easy" ? :-)
[11:54:08] <Wumpus> grr, extern
[11:54:10] * Wumpus thwacks extern
[11:54:27] <Darke> <grin> It makes sense.
[11:55:08] <Wumpus> oh, not something about extern in u7opcodes.data, just its existence
[11:55:19] * Wumpus was hoping for a nice easy to find bug, but its leading me around
[11:55:32] <Darke> Nah. The 'less easy' statement. <grin>
[11:55:55] <Wumpus> oh :-)
[11:56:35] <Wumpus> you haven't got a nice listing of short descriptions for the usecode functions doy ou? :P
[11:57:35] <Darke> Nah, not at the moment. I've got something that's hacked up for some of them, but it hasn't been modified in the last year and a half, and appears to be mostly useless to me. <grin> You can have it, if I can find it, if you want.
[11:57:56] <Wumpus> nah, probably not worth the effort
[11:59:00] <Wumpus> mm, setr, not something i've encountered before
[12:00:19] <Wumpus> how about a list of item flags? :P
[12:00:23] <Wumpus> actually, i suppose thats in the source
[12:00:44] <Darke> Item flags?
[12:01:29] <Wumpus> get_item_flag things :P
[12:01:42] <Wumpus> hmm, this is interesting..
[12:01:56] <Darke> It'd probably be in exult's source somewhere.
[12:02:00] <Wumpus> yeah, it is
[12:02:02] <Wumpus> objs/flags.h
[12:02:02] <Wumpus> :)
[12:03:37] <Wumpus> 0x8F7 is roughly "check if NPC is nearby and able to talk" kind of (IE, its used to check if a secondary person in a converation is around)... and it checks if they are nearby, and also checks if flag *0* is set, which is the invisible flag... okay, that makes sense, kind of... but its not checking the `asleep' flag (1), which the Real Game (TM) clearly is checking (I've tried this)
[12:03:57] * Wumpus ponders
[12:04:09] * Wumpus wonders if asleep characters are not considered to be nearby
[12:05:15] <-- Darke has left IRC (sterling.openprojects.net irc.openprojects.net)
[12:05:56] <-- Kirben2 has left IRC (Read error: 104 (Connection reset by peer))
[12:05:59] --> Kirben has joined #exult
[12:12:17] --> wjp has joined #exult
[12:12:17] --- ChanServ gives channel operator status to wjp
[12:12:22] <wjp> hi
[12:12:45] <Wumpus> `lo
[12:30:38] --> Darke has joined #exult
[12:30:41] <wjp> hi
[12:36:03] <-- Darke has left IRC (sterling.openprojects.net irc.openprojects.net)
[12:37:59] --> Darke has joined #exult
[12:46:34] <Wumpus> *blink*
[12:47:15] <Wumpus> why did ucparse.yy build before and just now stop building, without any changes in between... weird
[12:49:33] <wjp> strange... I just got 4 mails from Amy to the ML from the past week that I had already received back then
[12:49:48] <Kirben> same
[12:50:28] * Wumpus glares at exult tiredly, and decides it works now, i'll kick it a bit tomorrow, perhaps
[12:50:49] <Wumpus> dammit, almost midnight again... i raelly need a good, long night one of these days... oh well, sleep now, g'night all
[12:51:08] <-- Wumpus has left IRC ("Zzzzz")
[12:52:04] <Kirben> how are new data files generated exactly ? ./head2data data/u7bgintrinsics.data data/u7siintrinsics.data
[12:53:50] <Darke> Exactly like that.
[12:54:31] <Darke> It just outputs the BG data into the first and the SI data into the second. The paths could point anywhere, and don't have to be relative IIRC.
[12:55:23] <Kirben> ok
[12:56:11] <Darke> One problem, however, is that it isn't using the correct U7open. Just a sec.
[12:59:54] <Kirben> Also ucc still seems to hang if not arguments are given
[13:00:07] <wjp> that's expected behaviour
[13:00:13] <wjp> it's waiting for you to enter a program :-)
[13:01:22] <Kirben> ok
[13:03:29] --> DominatoR^^^HC has joined #exult
[13:03:34] <DominatoR^^^HC> hi all
[13:03:42] <wjp> hi
[13:03:43] <Darke> Hi.
[13:03:56] <DominatoR^^^HC> how are things going? all ok?
[13:03:58] <Darke> Kirben: File has been correctly U7open-ized.
[13:04:27] <Darke> Fine, other then me being forgetful. <grin>
[13:04:35] <DominatoR^^^HC> ehhe
[13:05:51] * Darke admits it wouldn't have mattered much, since he _wants_ the files to be opened as ASCII but...
[13:08:42] --> Colourless has joined #Exult
[13:08:42] --- ChanServ gives channel operator status to Colourless
[13:08:52] <Colourless> hi
[13:08:56] <wjp> hi
[13:09:04] * Darke bows, "Hi."
[13:09:14] <DominatoR^^^HC> hi
[13:12:56] <DominatoR^^^HC> ehi anyone ever noticed that in SI when you start the game, if you use teleport and jump around the egg that starts the "teleport" at the end there is an infinitive bow ?
[13:17:11] <Darke> Infinitive bow? No, I only know of the magic bow further down.
[13:17:12] <-- Colourless has left IRC (Read error: 104 (Connection reset by peer))
[13:17:15] --> Colourless has joined #Exult
[13:17:22] --- ChanServ gives channel operator status to Colourless
[13:18:05] <DominatoR^^^HC> yeah in fact it's strange
[13:18:26] <DominatoR^^^HC> it's on the first of the three coasts
[13:18:33] <DominatoR^^^HC> these used to make the initial sequence
[13:18:56] <DominatoR^^^HC> about where the monk appears, but in the first coast
[13:20:06] * Darke nods.
[13:20:38] <Colourless> it's probably a developer thing
[13:20:43] <DominatoR^^^HC> maybe...
[13:21:43] <Colourless> well, since that is where you actualy start before teleporting, it would be very easy to get, if the teleporting didn't occur
[13:22:08] <Colourless> it might have been possible for the programmers to prevent the teleporting from occuring
[13:22:40] <DominatoR^^^HC> in fact I cheated to arrive there
[13:22:49] <DominatoR^^^HC> alt+t ^^
[13:24:33] <DominatoR^^^HC> I'm realizing a makefile skeleton for exult to compile under hellcat ( naturally when I'll finish it... :P ), but the HellCat's Make already works.
[13:24:42] <DominatoR^^^HC> If I make it can I give it to you?
[13:25:00] <DominatoR^^^HC> or I'll distribute it on my own?
[13:25:59] * Colourless doesn't know what you are talking about
[13:26:26] <DominatoR^^^HC> oh... ehm read the post on exult forum "Big project involving exult"
[13:26:34] <DominatoR^^^HC> HellCat is a virtual machine I'm creating
[13:27:38] <Colourless> hmm, i don't know
[13:29:24] <DominatoR^^^HC> ok is not a problem
[13:29:52] <DominatoR^^^HC> the only thing that differs is an "HCMakefile.src" file :P
[13:34:15] <DominatoR^^^HC> aeeetcciiiiooouu. ... sniff...
[13:40:47] <DominatoR^^^HC> mmm maybe I found a little bug in usecode/ucxt Makefile
[13:40:51] <DominatoR^^^HC> there is head2data data/bgintrinsicetcetc
[13:40:57] <DominatoR^^^HC> it should be ./head2data
[13:41:35] <wjp> I also get an automake warning there:
[13:41:41] <wjp> usecode/ucxt/Makefile.am:13: deprecated feature: `head2data.test' overrides `head2data.test$(EXEEXT)'
[13:41:41] <wjp> usecode/ucxt/Makefile.am:13: change your target to read `head2data.test$(EXEEXT)'
[13:42:29] <wjp> and, yes, that missing ./ is a bug
[13:42:41] <Kirben> Colourless: msys is quite good now if you need a shell for mingw. msys is the offical shell for mingw.
[13:43:38] <Kirben> Colourless: http://sourceforge.net/project/showfiles.php?group_id=2435&release_id=46827
[13:44:36] * Colourless doesn't need a shell
[13:44:58] * Colourless doesn't use mingw if possible... too slow :-)
[13:45:17] <Kirben> Colourless: vc is much faster ?
[13:45:29] <Colourless> yes, MUCH MUCH faster :-)
[13:45:40] <Colourless> takes 2 minutes to compile exult in msvc
[13:47:48] <Kirben> Will have to try that out one day
[13:48:03] <wjp> I wonder how fast gcc 3 with PCH is
[13:48:19] <Kirben> 3.1 has PCH, right ?
[13:48:27] <Kirben> gcc 3.1 I mean
[13:48:28] <wjp> no, it was delayed, IIRC
[13:48:36] <Kirben> oh no
[13:49:25] <Colourless> sounds lik vaporwear to me :-)
[13:49:33] <Colourless> s/lik/like/
[13:49:48] <wjp> Fingolfin said the macosx version of gcc3 does have PCH
[13:50:04] <wjp> ...and they're trying to get it into the main gcc tree
[13:50:27] * Colourless things apple wanted gcc just a 'bit' faster
[13:50:35] <Colourless> s/things/thinks/
[13:58:22] <Colourless> brb
[13:58:24] <-- Colourless has left IRC ("brb")
[14:06:46] --> Fingolfin has joined #exult
[14:06:55] --- wjp gives channel operator status to Fingolfin
[14:07:06] <wjp> hi
[14:07:57] <Darke> Hi.
[14:08:01] <DominatoR^^^HC> hi
[14:10:51] <Fingolfin> hi
[14:11:12] --> Colourless has joined #Exult
[14:11:20] --- ChanServ gives channel operator status to Colourless
[14:11:41] * Darke bows, "Hello again, oh Colourless one."
[14:11:56] <Colourless> thx
[14:17:15] <Fingolfin> hi ryan
[14:17:21] <Colourless> hi
[14:17:39] * Fingolfin wonders why nobody complains about compile errors in pentagram
[14:17:58] <Colourless> cause no one compiles it :-)
[14:18:15] <Colourless> unless you add a new feature, there isn't really any point at the moment
[14:18:16] <DominatoR^^^HC> I'm compiling it for the first time just now
[14:19:24] <Fingolfin> hey, you can now use the mouse in all four viewers, and all have changable backcolors now! if that aren't exciting features =)
[14:19:38] <Fingolfin> well, actually, I wanted to implement a walking/jumping avatar now
[14:20:22] <Colourless> the main program shouldn't have a background at all, it's a waste of 'fillrate'
[14:20:31] <DominatoR^^^HC> I have the original U8 Pagan CD, but I have only linux ... how I can install it to use with pentagram?
[14:20:33] * Darke looks impressed, then returns to hacking code.
[14:21:00] <Colourless> granted at this stage a background is probably a good idea
[14:21:26] <Colourless> i don't want to see 'HOM' effects all the time
[14:21:52] <Darke> Dom: Not sure at the moment. I know it's possible with the U8 off the collectors edition. But IIRC the original U8 CD had some of the datafiles compressed or something.
[14:22:10] * Fingolfin wonders if he should install the korean localisation update SoftwareUpdate is offering to install
[14:22:14] <Colourless> yep, shapes was compressed
[14:22:26] <DominatoR^^^HC> in fact ... it's a single file compressed
[14:22:43] * Fingolfin decides that his knowledge of the korean language is not really fit, and declines the offer along with the Simplified (Simplified? Ha!) Chinese support
[14:23:03] <Colourless> heh
[14:23:03] <Fingolfin> "HOM" effects?
[14:23:08] <DominatoR^^^HC> it's in arj format
[14:23:11] <Darke> Fingolfin: Hall of Mirrors.
[14:23:19] <Fingolfin> the backcolor fill is the same speed as before, btw, only that I use backcol instead of 0 :)
[14:23:19] <Fingolfin> ahhh
[14:23:34] <Colourless> hom: http://www.users.on.net/triforce/u8screwup/Image4.png
[14:24:30] <DominatoR^^^HC> opening...
[14:24:39] <DominatoR^^^HC> eheheh cool
[14:25:02] <Fingolfin> yeah I know that one
[14:25:06] <Colourless> i kind of jumped off the map :-)
[14:25:17] <Fingolfin> in the halls of the death, you could climb up at one spot where you weren't supposed to
[14:25:21] <Fingolfin> similiar effect :)
[14:25:23] <Fingolfin> yeah :)
[14:26:21] <Colourless> of course with that shot i managed to run through the map change arch, and the map change didn't get triggered
[14:27:45] <DominatoR^^^HC> argh it's hard to checkout 50 MB of CVS, open two web pages and check mail with a 28.8 :(
[14:29:39] <Fingolfin> =)
[14:30:21] <DominatoR^^^HC> ufff I just saw that there is no possiblility to un-arj under linux :(((
[14:31:11] <DominatoR^^^HC> ahem ...
[14:31:13] <DominatoR^^^HC> just found arj for linux :P
[14:33:15] <Fingolfin> with source code???
[14:33:34] <Fingolfin> please tell me the URL
[14:33:54] <DominatoR^^^HC> I'm opening that web page...
[14:34:02] <DominatoR^^^HC> but I think that it's only freeware, without souce
[14:34:14] --- Fingolfin is now known as Fingolfin|afk
[14:34:17] <Fingolfin|afk> oh
[14:34:49] <DominatoR^^^HC> testcase.newmail.nu ... but my nestscape can't seem to open it
[14:34:53] <DominatoR^^^HC> maybe you will have more luck
[14:36:08] <DominatoR^^^HC> well... there is an unarj-er
[14:36:16] <DominatoR^^^HC> but it can't create archives... only uncompress
[14:37:42] <DominatoR^^^HC> and maybe it's with source ( it's a tar.gz archive, but I'm downloading it ... )
[14:39:09] <DominatoR^^^HC> yeah it's with source Fingolfin
[14:39:17] <DominatoR^^^HC> do you wants url?
[14:39:38] * Colourless notes fingolfin is afk, away from keyboard :-)
[14:39:54] <DominatoR^^^HC> oooopppps :P sorry
[14:40:02] <DominatoR^^^HC> I'll post here the URL, for anyone interested
[14:40:07] <DominatoR^^^HC> ftp://sunsite.unc.edu/pub/Linux/utils/compress/%21INDEX.html
[14:40:17] <DominatoR^^^HC> it's very small... about 40k
[14:41:09] <DominatoR^^^HC> I'll try to uncompress U8 data under linux eheheheh
[14:43:01] --> Dominus has joined #exult
[14:43:01] --- ChanServ gives channel operator status to Dominus
[14:43:12] <Dominus> hi
[14:43:15] <wjp> hi
[14:43:21] <Colourless> hi
[14:43:40] <Dominus> just finished packing and cleaning up the flat and until my gf picks me up I have some time
[14:43:44] <DominatoR^^^HC> hi
[14:44:02] <Dominus> actually to complain about Fingolfin|afk's chnages to Pentagram :-)
[14:44:38] * Darke bows to Dominus, "Hi."
[14:44:43] <Dominus> can someone hide the ugly sdl mouse pointer again? (i think it was hidden in display before, wasn't it?)
[14:45:09] <Darke> Dominus: Complain, complain, complain. Is that all you do? <grin>
[14:45:17] <Colourless> yeah it was hidden
[14:45:23] <Colourless> well it's not like he codes
[14:45:28] <Dominus> Yeah, me is the big complainer but not the big fixer :-)
[14:45:40] * Darke snickers.
[14:45:48] * Dominus thinks about taking his big c++ book with him
[14:46:00] * Dominus didn'T think long and discards this idea
[14:46:06] <DominatoR^^^HC> yahooo it works I'm decompressing U8 under linux
[14:46:25] * Colourless thinks taking C++ book with gf is bad idea
[14:46:58] <Dominus> yeah, I guess so
[14:47:33] <Dominus> so Colourless, when will we see the new, improved opengl.icd for Voodoo cards? :-)
[14:47:37] <wjp> btw, the compression used for the shapes file will be easy to reverse
[14:47:50] <DominatoR^^^HC> who is working on pentagram ?
[14:47:57] <wjp> (if you have the UC it's already uncompressd, though)
[14:48:08] <Dominus> wjp, Colourless, Fingolfin|afk, and Darke a bit
[14:48:15] <Colourless> Dominus: seriously, probably never
[14:48:15] <Colourless> wjp, you looked in to it?
[14:48:41] <wjp> Colourless: yes, it's just missing most 'offset' fields in the frame headers
[14:48:44] <Dominus> Colourless: is it so bad with those 3dfx undeground guys?
[14:49:04] <Colourless> Dominus: I doubt the programming potential of the people invovled. plus their idea are unrealistic
[14:49:12] <Colourless> s/idea/ideas/
[14:49:57] <Dominus> ah, I saw a long post on the x3dfx forum explaining what they wanted to do
[14:50:46] <Dominus> so how about your xpglide project, any new plans for improvement or do you consider it working good enough for now?
[14:51:13] <Colourless> it needs more work
[14:51:22] <Colourless> Glide 2 needs to be fixed up
[14:51:29] <Colourless> compatibility with Glide 2 is pretty low
[14:51:42] <Dominus> yeah
[14:51:53] <Dominus> not that I tried much...
[14:52:44] <Colourless> it could be made faster if i used asm the asm sources, but thats only something I'll do once everything is stable
[14:53:45] <Colourless> plus I want to add a cupple of features. at the moment these are forced texture compression for glide, auto gen mipmaps, a special motion blur mode (5500s will probably be too slow)
[14:54:00] <Dominus> :-(
[14:54:07] * Darke notices the only 'bit' of help he's done with pentagram, is to complain about a lack of using std:: declarations and to fix it...
[14:54:27] * Colourless compains about the same in exult all the time, and fixes them too
[14:54:44] * Darke does as well. <grin>
[14:55:09] * Darke wonders if we should force everyone to upgrade to gcc3.0.x
[14:55:09] <wjp> well, you also helped with decoding usecode
[14:55:35] <Dominus> yeah, that's whaty I thought of, when I mentioned Darke
[14:56:17] <Darke> Hmm... I'd forgotten about that. <grin> Anyway, back to fixing ucxt and breaking exult.
[14:56:47] <Colourless> wjp: i'm guess it would be pretty simple to write a shapes decompressor then.
[14:57:23] * wjp nods
[14:58:23] <DominatoR^^^HC> I must go now
[14:58:25] <DominatoR^^^HC> bye all
[14:58:34] <Darke> Bye.
[14:58:37] <-- DominatoR^^^HC has left IRC ("[-Bye Bye DominatoR ^^^ HC is going...-]")
[14:58:39] <Colourless> cya
[15:00:29] <Colourless> you know, ultima 8 seems to be a much more sanely constructed engine compared to ultime 7 (save game problems aside). there hasn't really been too much so far that just didn't make any senes
[15:00:29] <Colourless> s/senes/sense/
[15:04:31] * Darke gets the feeling that it's the same thing that's happening with exult/pentagram.
[15:04:52] <Colourless> true :-(
[15:05:24] <Darke> They knew what they had to do, and how to do it, so they could do more planning up front, and implement it how it 'should' have been implemented.
[15:05:58] <Colourless> yeah. exult really is a hacked up map viewer :-)
[15:06:39] <Colourless> written for x, then ported to SDL
[15:08:27] <Darke> So? Where would you start if you were writing a rpg engine from scratch? <grin>
[15:09:08] * Darke thinks his mind is going, what's with that 'So?'...
[15:09:12] <Colourless> exult wasn't even intended to be a rpg engine
[15:09:56] <Dominus> yeah, funny actually, developing a new rpg engine woulc be kind of hard if you don't have a refernce on where to start with it
[15:09:58] * Darke knows, he just had a little light blub appear over his head.
[15:10:37] <Colourless> renderer is almost always the first thing that needs to be done
[15:10:38] * Dominus wonders where all his typos come from
[15:11:24] <Darke> I know where I would start. With a map viewer, then add the ability to walk something, say, your 'avatar' around it, then add some sort of triggering system so we can interact with the environemnt, say we call it 'usecode'... <grin>
[15:11:41] <Dominus> he he
[15:11:45] <Dominus> now you know
[15:12:02] <Colourless> but you would have planned the engine to act like the. no?
[15:12:22] <Colourless> of course the important step is the planning, of which i think exult had little ;-)
[15:12:59] * Darke is not all that sure that ultima7 actually had all that much planning, more then exult, yes. But...
[15:13:01] <Colourless> even that comment of yours above is a plan
[15:14:14] <Dominus> all of this proves how much better U9 would have been if the original team had done it (experience with previous ultimas)
[15:14:39] <Colourless> uh yeah.
[15:14:48] <Darke> At a high level, yes. But can you think of any _other_ way to do it? Not much point for a sound system if there isn't anyway to trigger it. No point to adding triggers if you can't see them to trigger. So a 'map vewer' would have been the first thing to create. <shrug> Not really all that much 'planning' involved. <grin>
[15:15:28] <Darke> Dominus: It couldn't have been any worse, but I suspect, at least the engine would have been much, much better. <grin>
[15:15:35] <Colourless> ultima 9's final engine was a really really hacked up version of the original 3d over the top engine written for it. of course the programming team completely changed
[15:16:13] <Colourless> starting over when the teams changed would have been a much better idea than to continue with something that really was unsuitable
[15:16:43] * Colourless has to restart
[15:16:44] <Colourless> brb
[15:16:46] <-- Colourless has left IRC ("brb")
[15:19:33] <Dominus> The old screenshots of the engine looked far more promising... well you can always blame UO for all that went wrong with U9
[15:20:21] <Dominus> after all UO looks far too much like U8 in my view (very similar system)
[15:22:51] * Darke nods. Agreed.
[15:24:17] <Dominus> he he he http://uo.jeuxonline.cc/lbr/images/lbr.box.jpg
[15:24:32] --> Colourless has joined #Exult
[15:24:33] --- ChanServ gives channel operator status to Colourless
[15:27:15] <Dominus> http://homepage.powerup.com.au/~gjdanger/Terilem/archived.htm to see thumbs of how the old engine of u9 looked like (unfortunately the thumbs point to no longer existing pictures)
[15:30:56] <Darke> Oooh, that actually looks really, really nice.
[16:11:26] <Dominus> okay, I'm off now for a while. See you then.
[16:11:27] <Dominus> bye
[16:11:30] <-- Dominus has left IRC ("Exult! Exult! Exult!")
[16:11:31] <Colourless> cya
[16:32:35] --> Dominus has joined #exult
[16:32:35] --- ChanServ gives channel operator status to Dominus
[16:32:43] <Dominus> hi
[16:32:51] <Darke> Back again?!? <grin> Hi.
[16:33:02] <Colourless> hi
[16:33:17] <Dominus> small notice if anyone want s to see Darke and Colourless in the patch for BG download http://www.unet.univie.ac.at/~a9848357/exult/patch.zip
[16:34:15] * Darke suposes he'd best grab a copy. <grin>
[16:34:41] <Dominus> just a small hack for the usecode script and in no way do I really want to have those conversations
[16:35:06] <wjp> *bowfluff* LOL
[16:35:40] * Dominus thinks that soon we
[16:35:45] <wjp> *grin*
[16:35:46] <wjp> very cool :-)
[16:36:00] <Dominus> soon we'll need a cvs tree for our island patch
[16:36:32] <Dominus> other than that I only added a real bed for my favourite charcter
[16:36:33] * Darke snickers.
[16:37:02] * Darke can see the usefulness of a cvs branch for this. <grin>
[16:37:24] <Dominus> I had to take out the sleep schedule for darke as that bunny liked to hop in bed with the Dominik character
[16:37:33] <wjp> rofl
[16:37:43] * Darke giggles.
[16:38:04] <wjp> UI_item_say(item, "Colorless?"); <-- intentional typo? :-)
[16:38:13] <Dominus> and we don't want to give endusers the wrong impression, do we?
[16:38:16] <Dominus> yep
[16:40:48] <wjp> Jammet posted some conversation for a 'leopard cub' character some time ago, and have him play 'kid games' with Darke :-)
[16:41:02] <wjp> umm... "and we could have him"
[16:41:29] * Darke ooohs, the bunny is so _cute_!
[16:42:06] <wjp> we just need a bunny-face... :-)
[16:42:17] * Darke thinks you've got two bunnies confused, but that's ok, as soon as it's in cvs, he can sort this sort of thing out... <innocentlop>
[16:42:19] <Dominus> in that island cvs tree we then need some prefered pictures of the "cast"
[16:42:44] <Darke> And an 'invisible' face for Colourless. <grin>
[16:42:52] <wjp> hehe :-)
[16:43:47] * Darke thinks the bunny needs 'hopping' frames. It seems to glide around everywhere. <grin>
[16:44:49] <Darke> Incidentally, it probably should also be ...<xml>... just to be... pedantic.
[16:46:56] <Dominus> there are some things I would like to see fixed for it anyway (like you actually start the game the way it is intended and don't start it at the patch, stopping of game time while in editor mode and so on...)
[16:47:16] * Darke nods.
[16:48:45] <Dominus> the worst problem I encountered while making this patch: I forgot that in hex 0x570 does not follow 0x569 :-)
[16:48:56] <Colourless> heh
[16:49:08] * Colourless finally downloads
[16:50:25] <Dominus> not to mention that my cluelessness of the syntax made me just copy/paste the whole script...
[16:51:30] <Darke> Yeah, there is that problem. To a C programmer it makes 'sense' but to others... <grin>
[16:52:11] <Colourless> it makes perfect sense :-)
[16:54:40] <Dominus> well, it wasn't that difficult to understand it in the end...
[16:56:36] <Dominus> ok, now I'm really off. enjoy the patch. It will stay there until I return. I'll make a post to the ML as well
[16:57:01] <wjp> enjoy Hawaii! :-)
[16:57:05] <Dominus> thanks
[16:57:12] <Dominus> see you all then.
[16:57:15] <Colourless> cya
[16:57:17] <wjp> bye
[16:57:30] <Dominus> (I#ll probably post to the ml during that time anyway)
[16:57:35] <Dominus> bye
[16:57:38] <-- Dominus has left IRC ("Exult! Exult! Exult!")
[17:13:04] * Darke bows and must disappear. "Night!"
[17:13:13] <-- Darke has left #exult ()
[17:22:34] <-- Kirben has left IRC ("System Meltdown")
[17:32:01] --> Fingolfin has joined #exult
[17:32:15] <Fingolfin> tsk
[17:32:24] <Colourless> what?
[17:32:26] --- ChanServ gives channel operator status to Fingolfin
[17:32:35] <Fingolfin> seems I got disconnected, and my client didn't notice :)
[17:32:43] <Colourless> :-)
[17:32:44] <-- Fingolfin|afk was kicked from #exult by Fingolfin (Fingolfin)
[17:32:48] * wjp just loves it when that happens :-)
[17:33:46] <Fingolfin> I got suspicious when I could say something, but my nick wouldn't change =)
[17:35:34] * wjp wonders what could have that effect
[17:57:01] <Fingolfin> regarding viewer/Makefile
[17:57:14] <Fingolfin> I have a version that works by just passing all on to the parent Makefile
[17:57:26] <Fingolfin> however, this means that "make clean" will clean all, not just the viewer subdir
[17:57:43] <Fingolfin> I can change it, but then the sub makefile would get more complex...
[17:58:09] <Fingolfin> but I think it would be possible to use some tricks, so that in the end we have one or to more "common" files, and the subdir Makefiles still look simple
[18:02:18] <Fingolfin> although one could wonder why one would wnat to have a subdir specific "clean" targer
[18:03:32] * Fingolfin is not sure if anybody is listening or interested, but anyway ... :)
[18:04:00] <Fingolfin> we could change all to have the sub-dir module.mk provide targets like all-viewer, clean-viewer. Then the global all/clean targets simply would depend on those
[18:04:12] * Colourless just isn't interested as he will likely not use the unified makefile regardless
[18:04:33] <Fingolfin> the Makefiles in the subdirs would still be calling the upper level make, but transform clean & all to clean-NAME and all-NAME
[18:04:54] <Fingolfin> what are the main problem, Colourless? using del/copy etc. shouldn't be too hard
[18:05:10] <Fingolfin> and I already allow for .exe suffixes
[18:05:22] <Colourless> gcc is too slow, and i use msvc
[18:05:24] * wjp was away for a sec.. sorry
[18:05:32] <Fingolfin> ah ok
[18:06:32] <wjp> last idea sounds good. (the make clean -> make clean-viewer)
[18:07:00] <Fingolfin> ok, shouldN't be too hard either
[18:07:07] <Fingolfin> make shpdisp etc. will just work as before
[18:11:42] <Colourless> ah, just remembered something. some commands (copy for example) must use blackslashes for paths. slashes will not work
[18:12:08] <Fingolfin> that is the difference between .win32 and ..cygwin, isn't it?
[18:12:33] <Colourless> the cygwin shell attempt to emulate posix
[18:12:54] <Colourless> most win32 stuff doesn't care which slash is used, but copy does
[18:15:15] <Colourless> i was thinking though a way around it might be to create some helper applets for win32 that will fix up those slash problems
[18:16:28] <Colourless> windows users would just have to compile (or whatever) these programs and put them in the pentagram dir
[18:33:29] <Fingolfin> I can also transform all / to \
[18:33:38] <Fingolfin> not a big deal with GNU make
[18:34:07] * Fingolfin stares irritated at the error he jsut got
[18:34:08] <Colourless> how?
[18:34:14] <Fingolfin> make[1]: *** No rule to make target `viewer/globdisp20', needed by `globdisp'. Stop.
[18:34:14] <Fingolfin> make: *** [globdisp] Error 2
[18:34:52] <Fingolfin> Colourless: GNU make supports quite some reg ex stuff, I think it should be possible to write somthing that takes a var, and turn all / into \ or vice versa
[18:35:34] <Colourless> hmm, i never knew that. i can't exactly say i've looked into what make can actually do though
[18:40:38] <Fingolfin> neither did I :)
[18:40:49] <Fingolfin> I am finding out all the time, and boy, it sure has quite some cool features
[18:41:05] <Colourless> so really, is automake needed?
[18:41:35] <Colourless> (that is at all, ever)
[18:41:39] <Fingolfin> automake is either to get into I figure; and it has some other nice features; but for our needs, I don't see why we would want AM
[18:41:45] <Fingolfin> s/either/easier/
[18:41:54] <Fingolfin> erhm, well
[18:42:04] <Fingolfin> waht I mean is, Makefile.am files are quite simple to understand I think
[18:43:39] <Colourless> i guess that automake does automatically generate dependancies doesn't it?
[18:44:15] <Fingolfin> yeah, just like we do :)
[18:45:56] * Fingolfin sees why he got the above weird error, with globdisp20
[18:46:08] <Fingolfin> the globdisp.rules file is garbled - but why????? ugh
[18:46:39] <Fingolfin> uh I see why
[18:46:42] <Fingolfin> idiot, me
[18:47:05] <Colourless> something else that confuses you perhaps? ;-)
[18:47:41] <Fingolfin> nah, I just found a stupid mistake in genrules.pl
[18:47:59] <Fingolfin> do you guys want the ability to say "make tools" from the main dir, to build all in the tools subdir ?
[18:48:26] <Colourless> i guess so
[19:03:07] <wjp> yeah, would be nice
[19:03:29] <Fingolfin> already done
[19:03:34] <Fingolfin> was the easiest part of it all :)
[19:08:22] --- Fingolfin is now known as Fingolfin|dinner
[19:08:45] <Fingolfin|dinner> in CVS, please try
[19:41:59] <wjp> it looks like the 'catch all rule' in viewer/ is still executed even when you use 'make clean'
[19:42:11] <wjp> (but the 'clean-viewer' rule is too)
[19:44:18] <wjp> to fix it, I think you need to say "clean: clean-$(LPATH) ;" (add a semicolon)
[19:44:53] <wjp> (and similar for 'all' of course)
[19:51:31] --- Fingolfin|dinner is now known as Fingolfin
[19:52:20] <Fingolfin> hm, I see - this used to work. must have changed something
[19:52:37] <Fingolfin> oh I see
[19:52:40] <wjp> did you remove an explicit command for clean/all
[19:52:43] <wjp> ?
[19:53:02] <Fingolfin> yes, I did, this is all done by the clean-FOO/all-FOO targets
[19:53:05] <Fingolfin> the work I mean
[19:53:42] <wjp> (see the "Using Empty Commands" section in the make infopage for the reason, btw)
[19:54:02] <Fingolfin> nah, I understood :)
[19:54:33] <wjp> we should also add a .PHONY to the sub-Makefiles, I guess
[19:54:52] <wjp> although it's probably not necessary
[19:54:59] <wjp> no, wait. It is
[19:55:07] <Fingolfin> yeah sure
[19:55:13] <Fingolfin> doing that now
[19:55:28] <Fingolfin> hm
[19:55:51] <Fingolfin> tools/Makefile and viewer/Makefile are almost identical, except for the path. would be nice to unify this
[19:56:38] <wjp> dir := `basename `pwd`` ?
[19:57:01] <Fingolfin> I tried this
[19:57:07] <Fingolfin> but there is a problem
[19:57:31] <wjp> sym-/hardlinks?
[19:58:39] <Fingolfin> hm?
[19:59:02] <wjp> just a theoretical problem. You could link a dir to a differently named dir
[19:59:39] <Fingolfin> LPATH := `pwd`
[19:59:39] <Fingolfin> LPATH := $(basename $(LPATH))
[19:59:43] <Fingolfin> -> leads to this output:
[19:59:49] <Fingolfin> [localhost:~/pentagram/tools] maxhorn% make
[19:59:49] <Fingolfin> cd .. && make all-`pwd`
[19:59:49] <Fingolfin> make[1]: *** No rule to make target `all-/Users/maxhorn/pentagram'. Stop.
[19:59:49] <Fingolfin> make: *** [all-`pwd`] Error 2
[20:00:09] <Fingolfin> hm
[20:00:14] <wjp> what happens if you say "basename `pwd`" in a console?
[20:00:32] <Fingolfin> [localhost:~/pentagram/tools] maxhorn% basename `pwd`
[20:00:32] <Fingolfin> tools
[20:00:37] <Fingolfin> as expected
[20:00:50] <Fingolfin> there is something icky with how & when Make expands the variables
[20:01:09] <Colourless> wont `basename `pwd`` just generally screw up?
[20:01:30] <wjp> yeah, you need to escape the inner `'s
[20:01:35] <Colourless> i could imagine it splitting it into "`basename `" and "pwd" and ``
[20:03:09] <Colourless> time for me to depart
[20:03:15] <wjp> goodnight
[20:03:22] <Colourless> cya
[20:03:39] <-- Colourless has left IRC ("[6:34]")
[20:06:34] <wjp> LPATH := $(shell basename `pwd`)
[20:06:35] <wjp> seems to work
[20:08:05] <wjp> the $(basename ...) from make works differently than my /bin/basename. funny
[20:12:14] <Fingolfin> hmm
[20:12:14] <Fingolfin> ok
[20:13:49] <Fingolfin> so we could change those two makefiles to simply read: -include ../OurNewSharedMakefile
[20:14:09] <Fingolfin> where OurNewSharedMakefile is a better name we need to come up with :)
[20:14:13] <Fingolfin> e.g. conveniance.mk
[20:14:20] <wjp> what would happen with >1 level of subdirs?
[20:14:37] <Fingolfin> hmm
[20:14:43] <Fingolfin> I thought about that
[20:15:30] <Fingolfin> we would need to take the last two/three/n dirs of the path
[20:15:39] <Fingolfin> then, turn foo/bar into foo-bar
[20:15:46] <Fingolfin> or so...
[20:16:01] <wjp> recursively would be nicer
[20:16:10] <Fingolfin> hm, sure, why not
[20:16:26] <wjp> it'd require changing the 'all: ' targets to 'all-....:' though
[20:16:43] <wjp> (however you specify that in gmake)
[20:18:14] <Fingolfin> why that? in fact, as long as the sub dirs never have equal names, we don't even have to change anything, do we?
[20:18:31] <wjp> do we want that restriction?
[20:18:44] * wjp points at exult/data and exult/usecode/ucxt/data
[20:18:49] <Fingolfin> sure
[20:19:36] <Fingolfin> well, I won't change anything else for today after this last checking , I think =)
[20:24:19] <wjp> geeh, conflicts... I wonder why :-)
[20:25:05] <wjp> the comment in the one in viewer/ reads 'tools' ;-)
[20:28:06] * wjp wonders if Fingolfin will change something else today :-)
[20:29:12] <Fingolfin> no, I leave that to people interested in this =)
[20:43:28] * wjp looks around
[20:43:40] * wjp doesn't find anyone interested :/
[20:45:00] * Fingolfin stares suggsetively at exultbot
[20:45:07] <Fingolfin> exultbot: don't you feel bored recently?
[20:45:38] * exultbot awakes.. Huh? what?
[20:46:59] <exultbot> *looks around nervously* no... not at all... I'm busy... umm... writing... umm.. my novel. Yes, that's it. A novel
[20:53:30] <Fingolfin> cool
[20:53:34] <Fingolfin> exultbot: what about?
[20:53:41] <Fingolfin> exultbot: can we get an excerpt? :)
[20:57:14] <exultbot> no ;-P
[20:57:43] <exultbot> you'll just steal my idea about a couple of people meeting in some cool virtual place talking about creating another cool virtual place.
[20:57:52] <exultbot> oops
[21:01:31] <wjp> I have to go
[21:01:32] <wjp> night
[21:01:34] <-- wjp has left IRC ("[x]chat")
[22:16:24] --> DominatoR^^^HC has joined #exult
[22:16:27] <DominatoR^^^HC> hi all
[22:16:39] <sbx|sleep> hi
[22:16:42] --- sbx|sleep is now known as sbx
[22:17:54] <sbx> what were you doing with makefiles earlier DominatoR^^^HC?
[22:18:53] <DominatoR^^^HC> I just added the HCMakefile, needed to compile under HellCat OS
[22:19:13] <sbx> HellCat OS?
[22:19:21] <DominatoR^^^HC> HellCat OS doesn't really exist for now, but I already had a Make tool
[22:19:23] <DominatoR^^^HC> yeah
[22:19:29] <DominatoR^^^HC> it's a virtual machine
[22:19:47] <DominatoR^^^HC> it runs on top of a normal computer
[22:19:57] <sbx> why not use vmware?
[22:20:10] <DominatoR^^^HC> because HellCat is not a normal computer
[22:20:20] <DominatoR^^^HC> it's a trinary system
[22:20:26] <DominatoR^^^HC> with 27 processors
[22:20:40] <DominatoR^^^HC> and it's very different from a PC
[22:20:54] <sbx> ...
[22:21:06] <sbx> I said yesterday someone should make a U7 usecode CPU :)
[22:21:18] <DominatoR^^^HC> it's also a cluster machine... if you want you can let every processor, or every group of processors on a different machine
[22:21:20] <sbx> that only runs u7
[22:21:23] <DominatoR^^^HC> eheheh
[22:21:27] <DominatoR^^^HC> well this is a sort of
[22:21:30] <DominatoR^^^HC> because the OS
[22:21:35] <DominatoR^^^HC> will have a GDR interface
[22:21:47] <DominatoR^^^HC> infact the gui will be a GDR ... you can walk in your computer
[22:21:52] <sbx> GDR?
[22:21:56] <DominatoR^^^HC> ops sorry
[22:21:57] <DominatoR^^^HC> RPG
[22:22:01] <DominatoR^^^HC> Role Playing Game
[22:22:21] <sbx> ooh.. whats a RPG interface?
[22:22:36] <DominatoR^^^HC> you will really be in your computer
[22:22:45] <sbx> different RPG's look different
[22:22:48] <DominatoR^^^HC> you can open your HD by opening a door for example
[22:23:16] <sbx> I assume this will look like U7?
[22:23:20] <DominatoR^^^HC> exult is a perfect engine to do such a thing
[22:23:41] <DominatoR^^^HC> well I'll have different graphics and maybe a slight different world measures
[22:23:42] <DominatoR^^^HC> I mean...
[22:23:51] <DominatoR^^^HC> U7 is divided in chunks
[22:24:09] <DominatoR^^^HC> my world will have rooms, and will be more accurate
[22:24:16] <sbx> Putting no doors on the west and north sides of buildings? :)
[22:24:29] <DominatoR^^^HC> eheh nono
[22:24:38] <DominatoR^^^HC> rooms I mean in a "MUD" style
[22:24:56] <DominatoR^^^HC> the client will load only the room you are in it
[22:25:01] <DominatoR^^^HC> and a room can vary in dimensions
[22:25:10] <DominatoR^^^HC> it's a bit complicated.. :P
[22:25:59] <sbx> my online project is divided into Grids :)
[22:26:25] <DominatoR^^^HC> HellCat OS it's also modular
[22:26:27] <DominatoR^^^HC> for example
[22:26:32] <sbx> and a square area of a grid can be considered a "room"
[22:26:33] <DominatoR^^^HC> you have already a client on your computer
[22:26:51] <DominatoR^^^HC> and by entering a portal, you will connect to a server and play a RPG with other people
[22:27:16] <sbx> i thought you were talking about an operating system
[22:27:21] <sbx> not the game
[22:27:28] <sbx> are they the same?
[22:27:39] <DominatoR^^^HC> yes
[22:27:45] <DominatoR^^^HC> it's a Game-OS :P
[22:27:53] <DominatoR^^^HC> it's an OS with a RPG interface
[22:27:59] <DominatoR^^^HC> it's a totally new idea
[22:28:24] <sbx> theres no such thing as an RPG interface, dont you mean U7 interface?
[22:29:58] <DominatoR^^^HC> U7 it's one of the interfaces... HellCat OS will have also a 3D first person interface... using Crystal Space engine I think, and a more complex virtual interface... still to define
[22:32:11] <sbx> I'm making my own 3D engine... don't ask me why. :)
[22:32:17] <sbx> What is the main language of HellCat OS?
[22:33:03] <sbx> Usecode?
[22:33:35] <DominatoR^^^HC> no we have three languages called HC-A HC-M and HC-H
[22:33:38] <DominatoR^^^HC> ahem
[22:33:39] <DominatoR^^^HC> HC-A
[22:33:41] <DominatoR^^^HC> HC-C
[22:33:43] <DominatoR^^^HC> and HC-S
[22:33:44] <DominatoR^^^HC> sorry
[22:34:16] <DominatoR^^^HC> they are an evolution of Assembly, C++ and a sort of scripting language adapted for HellCat
[22:34:42] * sbx runs from C++. :-)
[22:34:44] <DominatoR^^^HC> naturally all this will be free and opensource, but we are not under the GNU GPL ...
[22:34:48] <sbx> How did you evolve assembly?
[22:34:52] <DominatoR^^^HC> well
[22:35:16] <DominatoR^^^HC> for example HellCat will have programmable instruction set for processor in run-time
[22:35:27] <DominatoR^^^HC> you can assign a single instruction to a single processor
[22:35:47] <DominatoR^^^HC> and you can do low-level operations on hardware ( it's a virtual machine so you can do almost anything ... )
[22:36:18] <sbx> wow
[22:36:21] <sbx> why is it called HellCat?
[22:37:26] <DominatoR^^^HC> HellCat is the name of our team, it's the name of a creature in the "plot" of the RPG that will run on the main server and I like it :P
[22:37:56] <sbx> Will the logo for HellCat be a picture of that creature? :-)
[22:38:09] <DominatoR^^^HC> yes
[22:38:18] <DominatoR^^^HC> I have some drawings of it, but they are on paper
[22:39:09] * sbx wants to steal you to get you to work on his project. :P
[22:39:14] <sbx> heh heh sorry
[22:39:20] <sbx> sounds cool
[22:39:39] <DominatoR^^^HC> eheh yeah it's an interesting project
[22:39:49] <DominatoR^^^HC> I'm currently in search of people to aid me
[22:40:54] <sbx> For what?
[22:41:35] <DominatoR^^^HC> well programmers and graphicians, but mainly programmers
[22:41:43] <DominatoR^^^HC> low-level programmers mostly...
[22:42:03] <DominatoR^^^HC> I mean... programmers that know what a computer is and can write an emulator
[22:43:24] <-- Fingolfin has left IRC ("42")
[22:43:36] <DominatoR^^^HC> I don't want to disturb exult developers because they're already busy with their projects
[22:44:17] --> artaxerxes has joined #exult
[22:44:28] <artaxerxes> hi there! anyone on board ?
[22:44:32] <DominatoR^^^HC> hi
[22:44:55] <artaxerxes> hi DominatoR^^^HC
[22:45:03] <artaxerxes> how's your project going?
[22:45:18] <sbx> hi artaxerxes
[22:45:22] <artaxerxes> h isb
[22:45:25] <artaxerxes> hi sbx
[22:45:42] <sbx> DominatoR^^^HC: I would ask to help but I only know C :)
[22:45:43] <artaxerxes> sbx, I've got another question regarding usecode ... :D
[22:45:50] <DominatoR^^^HC> well sbx
[22:45:50] <sbx> ok
[22:45:56] <DominatoR^^^HC> my project is currently developed in C
[22:45:56] <DominatoR^^^HC> :P
[22:46:09] <DominatoR^^^HC> artaxerxes: my project is going well thanks
[22:46:17] <artaxerxes> I've tried what willem posted on the forum and it didn't work... let me explain:
[22:47:20] <artaxerxes> when I extract all functions from usecode and decode them, and then recode them immediately without making any change, the usecode obtained is identical to the one before I tried, but
[22:48:01] <sbx> im glad wjp got wuc to work
[22:48:14] <DominatoR^^^HC> yeah I tried it today...
[22:48:26] <artaxerxes> when I make a change to one function, recompile it and rip glue them all, the usecode has a different size (although I made sure I am replacing one character for one character) is different and the usecode function I change does not work anymore
[22:49:11] <DominatoR^^^HC> what editor are you using to edit the .uc files?
[22:49:29] <sbx> artaxerxes: the whole reason for using wuc and the tools is so it can have a different size, if you have strings that are the exact same size you would just need a hex editor to edit the usecode
[22:49:48] <artaxerxes> for instance, I extracted function 0449, replaced the string "I say," by "Oui ?" and recompile... the function 0449 does not work anymore
[22:50:09] <artaxerxes> I use emacs
[22:51:08] <artaxerxes> the exact same size thing was just a try.. I am sure there are many places where I will need to put WAY more text... after all, french needs 5 words to say something you would use 1 in English ! :P
[22:51:33] <DominatoR^^^HC> well sorry guys I must go to bed
[22:51:34] <DominatoR^^^HC> bye
[22:51:38] <sbx> bye
[22:51:39] <artaxerxes> bye DominatoR^^^HC
[22:51:41] <-- DominatoR^^^HC has left #exult ("[-DominatoR leaved this channel-]")
[22:51:48] <sbx> ive never used wuc and the tools to make usecode so I have no idea
[22:52:11] <sbx> It works if you disassemble and reassemble it exactly?
[22:52:16] <artaxerxes> yeap
[22:52:56] <sbx> but when you replace the usecode with changes what happens? you get "usecode xxx not found" errors from exult?
[22:53:07] <artaxerxes> not at all
[22:53:11] <artaxerxes> let me explain
[22:54:12] <artaxerxes> when I make a change, recompile usecode and copy it to my directory, the game starts fine etc but d-clicking on Renfry (usecode 0449) produces no effet at all. Nothing comes up on stderr nor stdout
[22:54:28] <artaxerxes> It just does nothing
[22:54:50] <artaxerxes> clicking once shows "stranger", d-click does nothing
[22:55:14] <sbx> Then it is finding the function, but something is wrong inside the function.
[22:55:17] <artaxerxes> If I use the original usecode, then d-clicking on Renfry start the converstation with him.
[22:55:39] <sbx> Did you try disassembling just that funciton?
[22:55:40] <artaxerxes> I've notice a few things in the .uc file though
[22:55:41] <sbx> function
[22:55:47] <sbx> to make sure it assembled the way it should
[22:55:48] <sbx> what?
[22:56:07] <artaxerxes> there are references to memory zone I guess: sth like
[22:56:44] <artaxerxes> L00C8
[22:56:47] <artaxerxes> L00C7
[22:56:48] <artaxerxes> etc
[22:57:05] <artaxerxes> Maybe altering the text should alter those references.
[22:57:37] <sbx> I need to take a look at that function to refresh my memory
[22:57:47] <sbx> I havnt seen any usecode in over a month
[22:57:52] <sbx> one sec
[22:58:05] <artaxerxes> you should try, it feels good... :P
[22:58:50] <sbx> is Renfry in SI?
[22:59:08] <artaxerxes> yes
[22:59:36] <artaxerxes> he is the guy at the crematorium
[23:00:40] <sbx> Yes those markers tell where the string is stored, but I didn't think wuc used them.
[23:01:43] <sbx> "Oui ?" is not the same length as "I say," by the way :)
[23:02:10] <sbx> But if the strings you are editing are the same length, theres no reason it should not work
[23:04:49] <artaxerxes> true ... my mistake... I replace "I say" with "Oui ?"
[23:05:23] <artaxerxes> even with the -s flag for wud and wuc it doesn't work
[23:07:42] <sbx> Disassemble just 449
[23:07:55] <sbx> and see if theres a difference between it and the unaltered 449
[23:09:55] <artaxerxes> I will... In the meantime, I modified the original usecode and replaced the "I say" with "Oui?" in emacs.. and THAT works.
[23:11:21] <sbx> you mean "Oui ?"
[23:11:50] <artaxerxes> the thing is, if I modify 0449 and recompile it, it gets a different size, even though I replace the same amount of characters.
[23:12:17] <artaxerxes> (not altered: 6853; altered: 6871)
[23:13:09] <sbx> what does diff say?
[23:16:09] <artaxerxes> lots of garbage
[23:16:25] <artaxerxes> (since they are bin files)
[23:16:35] <sbx> i meant disassemble them
[23:17:00] <sbx> disassemble the 449 from the original si, then disassemble the one you just assessembled, and check the changes
[23:19:02] <artaxerxes> what param you want me to use for the diff?
[23:19:12] <artaxerxes> besides the 2 file names
[23:19:29] <sbx> default should be fine, whatever lets you see the changes
[23:19:54] <artaxerxes> when I use the default param, I've got _a_lot_ of stuff coming up
[23:20:40] <sbx> use -y
[23:22:33] <artaxerxes> it looks different
[23:23:28] <sbx> How different?
[23:23:31] <sbx> Just the strings?
[23:23:41] <sbx> They just have different markers
[23:23:48] <sbx> or are there a lot of differences
[23:24:12] <artaxerxes> after a while, the files are really different. It started with a different "jne"
[23:24:32] <sbx> What was different about the jne?
[23:24:54] <artaxerxes> one says "jne 01c0" the other says "jne 01c6"
[23:26:21] <sbx> find that position in each of the files and see if it is different
[23:26:28] <artaxerxes> actually, the very first one is: jne 0041 while the other is jne 0043
[23:26:49] <artaxerxes> in the code section offset 0018
[23:26:58] <sbx> i mean, in the one that says jne 01c0, is everything after 01C0: the same as everything after 01C6: in the other file?
[23:27:25] <sbx> in mine it is 01C0: 1C D3 05 addsi L05D3 ; "'Tis the Monitor...
[23:27:35] <artaxerxes> actually, there are 6 additional lines on one side
[23:28:31] <artaxerxes> I've got that line right like you
[23:28:38] <sbx> what do you have for 01C6 in the new one?
[23:28:58] <artaxerxes> I don't have a 01C6.
[23:29:10] <artaxerxes> it does from 01C4 to 01C7
[23:29:13] <artaxerxes> directly
[23:29:32] <sbx> in the version that doesnt work?
[23:29:59] <artaxerxes> 01C6: 1C D3 05 addsi L05D3 ; "'
[23:30:09] <artaxerxes> sorry
[23:30:11] <sbx> Ooh
[23:30:13] <artaxerxes> missed it
[23:30:37] <artaxerxes> never mind the '\ thing
[23:30:48] <artaxerxes> it is because of the copy/paste within KDE
[23:30:50] <sbx> at the top of that file, is L05D3 the same as in the original?
[23:31:13] <artaxerxes> yes
[23:34:24] <artaxerxes> let me try sth... bbs
[23:34:24] <sbx> in the new file is this there? 0043: 48 push eventid
[23:34:24] <sbx> ok
[23:34:24] <sbx> Darke or wjp would be able to figure out whats wrong easier
[23:34:24] <sbx> I only played around with usecode
[23:36:20] <artaxerxes> I am getting somewhere.... here are the observation:
[23:37:04] <artaxerxes> when I rip all usecode, decompile 0449, recompile 0449 (no changes at all), I notice a file size diff betweem the orig 0449 and the 0449 just created.
[23:37:18] <artaxerxes> diff notices a difference too
[23:37:43] <sbx> but that works
[23:39:26] <sbx> REnfry still talks and walks in the game
[23:39:26] <artaxerxes> let me try
[23:39:26] <artaxerxes> nope...
[23:39:34] <artaxerxes> If I decompile/recompile it doesn't work
[23:39:42] <artaxerxes> if I rip all, rip glue, it does work
[23:39:51] <artaxerxes> so rip works, but not wuc/wud
[23:40:10] <sbx> ooh
[23:40:32] <sbx> can you send me both files?
[23:40:38] <sbx> just for my curiousity ? :)
[23:40:48] <artaxerxes> wuc does not compile exactly as a wud'd file
[23:40:53] <artaxerxes> no problem
[23:41:06] <sbx> 449 decompiled and unchanged, and 449 changed with french, compiled and then decompiled again
[23:41:11] <artaxerxes> you want 0449 and 0449_orig ? compiled or not?
[23:41:17] <artaxerxes> ok
[23:41:22] <artaxerxes> address pls
[23:41:34] <sbx> well you could DCC, or sbx@mailandnews.com
[23:41:54] <artaxerxes> my client doesn't DCC, so you'll get it by email
[23:41:58] <sbx> heh
[23:42:01] <artaxerxes> :)
[23:42:14] * sbx probes you.
[23:42:29] <sbx> oi
[23:42:34] <sbx> k
[23:42:39] <artaxerxes> hummm?
[23:43:02] <sbx> i was seeing what client it was
[23:43:48] <sbx> /ctcp sbx version
[23:43:58] <sbx> O_O
[23:44:28] <artaxerxes> never used that before.. :)
[23:44:36] * artaxerxes is not a IRC pro
[23:48:18] <sbx> i wonder if i should finish my usecode assembler
[23:48:31] <sbx> this wuc, rip glue stuff seems over complicated
[23:49:30] <artaxerxes> I am ready to send the email... give me a couple minutes to prepare
[23:55:07] <artaxerxes> sent
[23:55:35] <artaxerxes> basically, rip all extract all function, one at a time, to make it easier to translate.
[23:55:45] <artaxerxes> wud decode the worked-on function
[23:55:49] <artaxerxes> wuc recode it
[23:56:05] <artaxerxes> rip glue takes all the functions and recreate a usecode file
[23:57:26] <sbx> ucxt -fa could extract all the functions, and something called "uca" could recode them and put them into a usecode