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

Archive Today Yesterday Tomorrow
Exult homepage


[00:05:59] --- MichaelZ is now known as Wumpus
[00:07:39] * Wumpus bored fluffs
[00:09:35] <Wumpus> waiting for meetings at uni is fun :|
[01:07:42] --> matto has joined #exult
[01:29:06] --> sbx has joined #exult
[01:30:48] <sbx> w00t
[01:31:22] * Wumpus waves to sbx
[01:32:09] <sbx> hello The Wumpus
[01:32:18] * sbx waves at The Wumpus
[01:35:50] <sbx> Oooh lndir
[01:37:31] <Wumpus> oh dear, barbie computer games
[01:37:52] <Wumpus> hehe, very handy gadget for keeping multiple builds :)
[01:38:44] <sbx> there are so many binaries on my system that i dont even know about
[01:38:51] <Wumpus> hehe :)
[01:38:58] <sbx> either what they do or if they even exist
[01:39:09] <Wumpus> yeah, i only found out about it 'cos a project i was using last summer used it, and went "hpwoah" :)
[01:39:24] <Wumpus> phwoah evne
[01:39:34] <Wumpus> (only because hpwoah is too hard to say :P)
[01:39:36] * sbx gaps hpwoah!
[01:39:42] <sbx> gasps too
[01:39:55] <sbx> why is my lndir in /usr/X11R6/bin?
[01:40:29] <Wumpus> hehe yeah it lives there for some reason, my system(s) too.... who knows :P
[01:40:40] * sbx boggles.
[01:40:43] <sbx> i always liked '/usr/bin/yes'
[01:40:49] <Wumpus> hehe
[01:41:03] <sbx> 'yes no'
[01:41:53] * sbx ponders `yes`.
[01:42:20] * sbx ponders he won't try it.
[01:42:24] <Wumpus> eeeeeeek
[01:42:32] * Wumpus finds a server to try it on
[01:42:47] <sbx> `yes yes`
[01:43:10] <Wumpus> blink
[01:43:11] <Wumpus> hehe
[01:44:16] <sbx> that is nothing compared to :() { : | :; }; : i bet
[01:45:19] * sbx would try it when he needs a creative reason for rebooting.
[01:45:25] <Wumpus> hehe
[01:45:55] <Wumpus> it wouldn't actually get too interesting; you'd have to get it to echo yes& or something
[01:49:06] <sbx> you come up with a way to make it more interesting and then come back and tell me about it when youve rebooted and fsck'ed :)
[01:50:16] <sbx> what is UCT?
[01:51:31] <Wumpus> universal something time... related to GMT (not sure if its exactly the same)
[01:51:41] <sbx> what is UTC?
[01:52:16] <Wumpus> ohhh ? hmm maybe its that
[01:52:41] <Wumpus> UTC it is indeed
[01:52:44] <sbx> UCT makes more sense but then why did I think it was UTC, which doesn't make sense (if the C is coordinated)
[01:52:45] <Wumpus> Coordinated Universal Time
[01:52:55] <Wumpus> which doesn't fit the abbreviation either, but hey
[01:53:01] <sbx> now that doesnt make a lick of sense
[01:53:05] <sbx> hehe
[01:53:07] <Wumpus> -u, --utc, --universal print or set Coordinated Universal Time
[01:53:22] <sbx> they should call it CUT
[01:54:04] * sbx Zulus.
[01:59:54] <Wumpus> zulus?
[02:01:20] <sbx> naval/air name for utc
[02:01:37] <Wumpus> ahh thats right
[02:01:47] * Wumpus had this vague idea that it was ringing a relevant bell, hehe
[02:02:24] <Wumpus> hmmmm, home time
[02:02:25] <Wumpus> or something
[02:02:27] <Wumpus> byeeeee
[02:02:29] <-- Wumpus has left IRC ("No windows for this server")
[05:03:01] --> Darke has joined #exult
[05:03:01] --- ChanServ gives channel operator status to Darke
[05:03:17] * Darke greetingsbows.
[05:04:52] * sbx reciprocates.
[05:12:04] <sbx> you missed The Wumpus
[05:14:11] * Darke noticed. <grin>
[05:25:30] --> es_bee_ex has joined #exult
[05:25:57] <es_bee_ex> this topic has lasted a while
[05:27:37] * Darke just hasn't felt like changing it, and no-one else seems to have wanted to either.
[05:28:46] <es_bee_ex> It shows the strength of the usecode.
[05:30:55] * Darke snickers.
[05:47:23] <-- sbx has left IRC (Read error: 110 (Connection timed out))
[05:51:57] --- es_bee_ex is now known as sbx
[07:06:09] <sbx> "He tell me how you get dressed and I will say to you who you are"
[07:06:44] <sbx> ^- a Spanish translation by Google
[07:07:34] <sbx> o_O
[07:09:07] * Darke blink blinks. Umm... of what? The topic? <grin>
[07:09:39] <sbx> fashion awards i think
[07:11:27] <sbx> i think it would be interesting to run the Spanish BG usecode through a web translator :)
[07:12:55] * Darke snerks. "Fun, yes. Insane, also yes." <grin>
[09:12:05] --> Wumpus has joined #exult
[09:12:17] <Wumpus> `lo sbx, darke, matto
[09:12:23] <sbx> The Wumpus!
[09:12:28] <Wumpus> :P
[09:13:38] <Darke> Hi Wumpus.
[09:39:59] <Wumpus> is dominus still active at all?
[09:40:34] * Wumpus just gave a massively delayed reply to one of his feature requests which i think is an error :)
[09:40:52] <Wumpus> (IE I think it shouldn't be implemented, because i think its a valid plot point in the original)
[09:41:00] <Darke> He's still 'active' just not around here regularly.
[09:41:01] <Wumpus> aanyway, *wanders off*
[09:41:07] --- Wumpus is now known as Wumpaway
[09:41:16] <Wumpaway> darke- k, he'll get the mail then :)
[09:42:50] <sbx> what is the plot point?
[10:55:48] <Darke> https://sourceforge.net/tracker/index.php?func=detail&aid=465461&group_id=2335&atid=352335 That one, if you haven't already found it. <grin>
[10:57:22] <sbx> No I hadn't, thanks.
[10:58:07] * Darke bows, no problem. He would have located it... a while ago, but was a little distracted by other conversations. <grin>
[10:58:44] * sbx has no other conversations. :-|
[10:59:44] --- Wumpaway is now known as Wumpus
[10:59:56] * Wumpus wanders back
[11:02:03] <Wumpus> yeah, that link :)
[11:03:29] <sbx> makes sense
[11:03:41] <sbx> I will sleep now.
[11:03:44] <sbx> good afternoon
[11:03:44] <-- sbx has left IRC ("Push push push, add jmp mul pop, push call sub mod, in smth say...")
[11:40:22] <-- MMe has left IRC (capek.openprojects.net irc.openprojects.net)
[11:40:22] <-- Darke has left IRC (capek.openprojects.net irc.openprojects.net)
[11:42:22] --> Lurker has joined #exult
[11:42:39] --- Lurker is now known as Wumpus_Lurk
[11:42:43] * Wumpus_Lurk blinks
[11:42:45] <-- Wumpus has left IRC (Read error: 104 (Connection reset by peer))
[11:45:44] --> Darke has joined #exult
[11:45:44] --> MMe has joined #exult
[11:48:05] * Darke eyes the lurking Wumpus warily.
[11:53:03] --> Colourless has joined #Exult
[11:53:07] --- ChanServ gives channel operator status to Colourless
[11:53:11] <Colourless> hi
[11:53:31] <Colourless> wumpus: being hydros are you?
[11:55:16] <Darke> Hello. <bow>
[11:58:32] * Wumpus_Lurk yawns and looks at colourless curiously
[11:58:36] <Wumpus_Lurk> i'm not really here
[11:58:42] * Wumpus_Lurk tired and 90% asleep
[11:58:47] <Colourless> do you get the comment?
[12:00:16] <Wumpus_Lurk> about hydros? hehe yeah, after a bit of thought :)
[12:00:26] <Colourless> :-)
[12:03:19] * Wumpus_Lurk only played through u8 once, never really explored it in the same way as BG or SI
[12:05:38] --> Cless has joined #Exult
[12:05:38] <-- Colourless has left IRC (Read error: 104 (Connection reset by peer))
[12:05:39] --- Cless is now known as Colourless
[12:05:42] --- ChanServ gives channel operator status to Colourless
[12:26:23] --> wjp has joined #exult
[12:26:23] --- ChanServ gives channel operator status to wjp
[12:26:28] <wjp> hi
[12:26:51] <Colourless> hi
[12:27:04] * Wumpus_Lurk drops rocks on hr @ unsw, and then waves to wjp
[12:27:59] * Wumpus_Lurk en-lurks more fully and dozes off in bed while computer finishes some stuff
[12:29:07] <wjp> Darke: did you know all operators in opcodes.txt have their operands reversed?
[12:30:36] <Wumpus_Lurk> ummm
[12:30:45] * Wumpus_Lurk raises eyebrow
[12:30:50] --- Wumpus_Lurk is now known as Wumpus
[12:32:15] * wjp wonders why Wumpus' eyebrow is raised
[12:35:05] * Wumpus gets himself conuzzled
[12:35:09] <Wumpus> confuzzled
[12:35:21] <Wumpus> It was wrong recently, at least for sub, but i thought that was fixed...
[12:35:37] * Wumpus is not so sure about the "script" outputs, i just use the asm style and the comments, mostly, hehe
[12:36:05] * wjp pokes Darke
[12:36:32] <Wumpus> and i know he changed a few at that time, hmm,
[12:39:26] * Darke eep!fluffs and apologises for idleness.
[12:40:02] <wjp> np :-)
[12:40:27] <Darke> Umm... opcodes around the wrong way? Yes. Wumpus kind of went through my logic, and found that at the very least 'sub' was wrong, so therefore all the opcodes were wrong. I'm still not sure they're right, but Wumpus believes so. <grin>
[12:40:34] <Wumpus> the comment, at least for sub, is correct...
[12:40:50] <Wumpus> hey, i didn't make the second assertion :P
[12:40:55] <wjp> sub was definitely reversed
[12:41:03] <Wumpus> you were saying at the time that you weren't sure they were all the same, iirc?
[12:41:29] <Darke> cmpeq was the only one of them that was around the 'right' way, that is, the same way around that 'sub' should have been.
[12:41:57] <Darke> Wumpus: I know. But if that one was wrong. _All_ of them had to be, since they were all identical.
[12:42:35] <Wumpus> wjp- so you think sub is right now or wrong now? *examines one more time*
[12:42:43] <wjp> Darke: %p1 is the first element popped, and %p2 the second element popped, right?
[12:43:00] <Darke> That is they were all "%p2 {operator} %p1", except for cmpeq, which was "%p1 == %p2".
[12:43:07] <Darke> wjp: That 'should' be correct.
[12:43:30] <Wumpus> oh
[12:43:37] <wjp> hmm, they were all %p1 op %p2 in my version of opcodes.txt
[12:43:37] <Wumpus> hehe cmpeq it doesn't exactly matter :P
[12:43:45] * Darke is not entirely sure, since he had it 'this way' to start with, thought he was wrong and switched sides, then Wumpus pointed out he thought I was wrong.
[12:43:53] <wjp> Wumpus: well, reading if (1 == event) is more annoying than (event == 1)...
[12:44:09] <Wumpus> hehe fair enough :)
[12:44:22] <wjp> Exult's sub: sval = popi(); pushi(popi() - sval);
[12:44:24] <Darke> wjp: That's for the 'prettyness' optimisations to solve. <grin>
[12:44:27] <Wumpus> yeah
[12:44:35] <wjp> so: %p2 - %p1
[12:44:37] <Wumpus> the comment for sub is right but the pretty output is wrong?
[12:44:57] <wjp> well... the "pop v2, then pop v1" is a bit confusing
[12:45:12] <Wumpus> yeah, but its what makes the comment right :)
[12:45:20] <wjp> since ucxt "pops %p1, then pops %p2"
[12:45:25] <Wumpus> maybe i was confused between the two when i commented on it initially
[12:46:27] * Darke will attempt to find a short bit of usecode that uses 'sub' and double check. Yell (with the function number) if anyone else is doing/has done the same thing.
[12:46:36] <wjp> 102
[12:46:41] <wjp> did that yesterday
[12:47:16] <Darke> Ok. So the parameters, should really be "%p2 - %p1"?
[12:47:19] * wjp points to the "sval = popi(); pushi(popi() - sval) thing again
[12:47:25] <wjp> yes
[12:47:49] <Darke> Ok, I'll switch them back again, and try and try and update the comments clearly. <grin>
[12:47:51] <wjp> same for all other ops
[12:47:57] <wjp> (including comparisons)
[12:48:06] * Darke nods.
[12:48:24] <wjp> btw, some answers to questions in opcodes.txt:
[12:48:42] <wjp> * ABRT also exits all calling functions, effectively stopping the usecode interpreter
[12:49:02] <wjp> * SMTH doesn't push/pop anything
[12:49:15] * Wumpus agrees... and thinks he must have been wrong the first time... maybe I got confused by the comment... i dunno.. sorry :(
[12:50:15] * Darke shrugs, no problem. It continually confuses him for some reason, and he writes the code. <grin>
[12:50:45] <Darke> wjp: Thanks. I'll add those when I'm finished doing the alterations.
[12:50:59] <wjp> > 0x46 APUT "aput\t[%1]" "\t\t\t;" "var%1[%p1] = %p2" 2 {varoffset} 2 0 0 000000
[12:51:37] <wjp> > 0x4b POPEID "pop\teventid" "" "event = %p1" 0 {} 1 0 0 000000
[12:52:30] <wjp> (oh, that should probably be 'UcEvent', btw)
[12:53:07] * Darke nods. Thanks.
[12:53:57] * Wumpus grins at log
[12:54:33] * Darke earperks.
[12:55:44] <Wumpus> its alllllll yo0uurrrrr fault hehe :-p (j/k)
[12:56:03] <Wumpus> but you're answer to my initial question at the time was wrong, and i *was* misreading the docs, hehe :|
[12:56:42] <wjp> Wumpus: btw, you can easily keep multiple builds of exult around without using lndir
[12:56:57] <Darke> Wumpus: <grin> Fair enough.
[12:57:07] <Wumpus> wjp- without multiple copies out of CVS?
[12:57:22] <wjp> Wumpus: yeah. Just run configure from a different directory
[12:57:42] <wjp> brb
[12:58:04] <Wumpus> hmm, so i could make exult-cvs with my cvs tree, and then build-1 and build-2 and use ../configure from each? and that works? hmm wow
[12:58:18] <Wumpus> (build-1 and build-2 subdirs that is)
[12:59:27] <wjp> yes, although I'm not sure if it will work if build-1 and build-2 are actually subdirs of the source dir
[12:59:53] <wjp> (I have source in /data/exult/exult, debug build in /data/exult/debug, etc..)
[13:00:10] <Wumpus> hmm interesting, adn very cool, thanks :)
[13:02:46] <Wumpus> one reason i use lndir though is that my debug build has a bit of hacking on it, whereas i have an almost perfectyl clean tree (just that mapedit/Makefile.am change) for packaging...
[13:03:11] <Wumpus> s/debug build/debug tree/
[13:03:35] <wjp> yes... changing the source will require seperate source trees
[13:04:11] <Darke> I don't suppose anyone has a better suggestion for the bit of text describing sub/mul/whatever, other then just fixing the 'naming' (v1/v2) order to clarify things?
[13:04:31] <wjp> "subtract %p1 from %p2"
[13:05:12] <wjp> in fact, I don't think they really need any comment at all... (as long as the %pi things are explained at the top)
[13:06:42] <Darke> Fair enough. I was just thinking from the stack level, but that makes sense. (Since the %p1/%p2 'defines' the order of which things are popped from the stack.)
[13:08:22] <wjp> tr/12/21/
[13:08:33] <Wumpus> hehe
[13:12:26] <Wumpus> fiinally upgrade done... okay, much needed sleep now, g'night
[13:12:30] <-- Wumpus has left IRC ("zzz")
[13:25:02] * Darke returns after being harassed by humans.
[13:28:09] <Darke> Ok, just to nth check my confused mind. <grin> %p1 = popi(); %p2 = popi(); pushi(%p2 - %p1); %p1 is the first item off the stack, and %p2 the second.
[13:29:15] * wjp nods
[13:29:32] <Darke> Thanks. Somedays I worry about my mind. <grin>
[13:29:41] <wjp> :-)
[13:32:21] * Darke removes multiple line comments for the math/comparison operations, and replaces them with half a dozen words. Documentation Optimisation!
[13:33:32] <Darke> It's still overkill, but at least it doesn't strain the brain, trying to decode the line above it. <grin>
[13:33:47] <wjp> hehe :-)
[13:56:24] <Darke> Changes made, and tested somewhat. I'll commit the new opcodes.txt file in a few minutes, so you can complain about more bugs in it again. <grin>
[13:56:37] * wjp is looking forward to that ;-)
[13:56:41] <Colourless> :-)
[13:56:53] * Darke noticed. <grin>
[13:57:58] * Darke is tempted to start signing his commits as Darke... considering he seems to do most of his coding whilst on irc.
[14:05:54] <Darke> Hmm... s/most of his/all of his exult/ s/irc/#exult/
[14:06:12] <Darke> Committed. Feel free to tear it to shreds. <grin>
[14:07:18] <wjp> time for my daily conflict-resolving session :-)
[14:09:02] * Darke grins.
[14:10:27] <wjp> hmm, the decimal output of the 'pushi' opcode currently shows unsigned 16 bit ints, doesn't it?
[14:11:18] <wjp> (or maybe signed >16 bit ints)
[14:11:25] * Darke is almost certain that's correct. He'd need to double check to make sure though.
[14:13:01] <Darke> Twos-complimant is trivial to add though if it's wanted. I would have to add another specifier ('%ds1' or '%db1) or something to kno
[14:13:30] <Darke> to know the exact size of the number I'm dealing with.
[14:14:59] <wjp> yes, that would be nice for the pushb() output too
[14:15:41] <wjp> oh, another ucc-compatibility change: "arrc(%p,)" to "[%p,]"
[14:16:05] <Colourless> so, how long till you add x86 support to ucxt?
[14:16:19] <Colourless> :-)
[14:16:52] <Darke> wjp: Done. I'll take a look at pushb as well.
[14:17:57] <Darke> Colourless: Don't joke. <grin> It's getting a _little_ too close to me being able to handle it, the only thing I would have to fiddle with, is the logic that everything is on the stack.
[14:18:21] <wjp> (pushb() should just be %1 or something. I think I'd prefer 1 byte hex output (printf()'s %02X))
[14:19:22] <Darke> Currently pushb, is just that, it has a 'decimal' translated value of it in the comment.
[14:19:53] <wjp> not in -fz :-)
[14:20:36] <Darke> Ahh... so '0x%1' then? Does ucc handle C's hex specifier format?
[14:21:10] <Darke> Or rather '0x%b1'.
[14:21:48] <wjp> yes, ucc support 0x notation
[14:21:53] <wjp> s/support/supports/
[14:21:59] <Darke> Done. And 'works'.
[14:28:38] <wjp> ok... most of the opcodes seem to have a proper -fz representation now. Just calle() (0x47) and loop (0x2E/0x02)
[14:31:53] <Darke> Loop is going to be... interesting. I don't know if Jeff has handled that in ucc yet.
[15:04:02] <wjp> yes... very interesting
[15:05:53] <wjp> it doesn't really fit in any standard C structure
[15:07:33] * Darke considers a for() style loop.
[15:07:38] <Colourless> so, what is the different between 2e and 02?
[15:07:52] <wjp> 2E 02 form a loop together
[15:08:06] <wjp> the return jump at the end of the loop block jumps back to the 02 opcode
[15:08:15] <Colourless> ah, ok
[15:08:32] <wjp> so, basically 2E 02 = init loop, 02 = continue loop
[15:08:44] <Colourless> still have to wonder though, we do nothing in 02 at all
[15:08:49] <Colourless> 2e i mean :-)
[15:09:01] <wjp> no, but we check what the opcode is in 02
[15:09:17] <wjp> if we enter in 2E (and fall-through to 02), opcode is still 0x2E
[15:09:37] <Colourless> ah yes, i see it
[15:11:33] * wjp checks ucc
[15:12:07] <wjp> Jeff already implemented it, it seems
[15:12:31] * wjp deciphers bison code
[15:12:59] <wjp> ok... it looks like the most general form is:
[15:13:46] <wjp> for (varIter in Expr with varCounter to varTotal) statement;
[15:14:32] <wjp> you can omit the 'to varTotal' or the 'with varCounter to varTotal' part
[15:20:11] * Darke nods, and will be back in a few moments.
[15:20:13] <-- Darke has left IRC ()
[15:24:41] <wjp> hmm... we have an experience maximum of 32K ?
[15:24:50] <wjp> that's not good...
[15:25:14] * wjp remembers having >128K
[15:25:59] <wjp> ...although that's probably SI-only
[15:26:27] <wjp> hmm... or was that 12.8K?
[15:28:24] --> Darke has joined #exult
[15:28:25] --- ChanServ gives channel operator status to Darke
[15:29:15] * Darke bows.
[15:29:21] <wjp> wb
[15:39:34] <Darke> Hmm... it appears to be missing the offset/label to jump to, once it's finished the loop.
[15:41:46] <wjp> what do you mean?
[15:44:23] <Darke> One it's finished going through the loop, it jumps to a specified offset (the 5th parameter). Which I _presume_ is the opcode just after the end of the loop, but I can't guarantee it.
[15:46:06] <wjp> yes, technically there could be some stuff between it. (or it could even jump to a completely different place... backward even)
[15:46:17] * Darke nods.
[15:47:03] <wjp> would be nice if compiling was a surjective map from source language to bytecode :-)
[15:47:48] <wjp> (ie. if it would have a one-sided inverse)
[15:48:35] <Darke> Would be wonderful. <grin> We do have the spanish SI usecode with line numbers in that we could take guesses at how their language was formed, and try to replicate it. It just may not be worth the effort though.
[15:48:47] <wjp> question is how flexible you want to be. Do you only want to be able to properly decompile existing usecode and ucc output?
[15:50:24] <Darke> I'm currently trying to decompile exsisting usecode, with as 'minimal' goto/label statments as possible. I assume that, if I can decompile the existing usecode, then I can decompile non-optomised ucc output, this may not be the case though.
[15:51:23] <wjp> ucc should generate code identical to existing usecode, from the parts of the ucc code I've read
[15:52:24] * Darke nods, that's the impression he got from scanning over it. The usecode-script currently, is not all that more 'complex' then the assembler output.
[15:57:04] * Darke considers that, that's probably because, the usecode-assembler, is not really all that 'low level' itself.
[16:03:33] <wjp> hmm, indenting is behaving a bit weird it seems
[16:04:03] * Darke earperks. With ucxt?
[16:04:05] <wjp> it starts with 1 tab. Then there's a label (indented 1 tab too), and things after that are indented 2 tabs
[16:04:35] <wjp> ..until the next label, which is at 1 tab again.
[16:04:55] <wjp> maybe the temp. decrement doesn't decrement past 1?
[16:05:09] <wjp> (and increments regardless of whether it decremented or not?)
[16:05:13] <Darke> <nod> I'm intending upon fixing that. That's part of why I added those 'indentation' flags to opcodes.txt. Theoretically the label statements will be indented flush with the opening curly brace.
[16:06:35] <Darke> It just doesn't get incremented, because I don't output the 'labelFunc009a_0000:' (or whatever) label for the first block of opcodes (since it is never needed, and is just an artifact of the parsing process).
[16:07:12] <Darke> This is worrying though. In theory I have the 'next' opcode outputting correctly, but...: for (SOMETHING_GOES_HERE() in 0004 with SOMETHING_GOES_HERE() to SOMETHING_GOES_HERE() goto labelFunc009A_00CF);
[16:07:20] <wjp> labelFunc01F4_0010, actually
[16:07:50] <wjp> for (var0003 in var0000 with var0001 to var0002) atend goto labelFunc01F4_005A; is what I have get 1F4
[16:07:58] <wjp> s/have get/get in/
[16:09:31] <Darke> That works better. <grin> I had typoed.
[16:10:12] <Darke> for (var0003 in var0000 with var0001 to var0002 goto labelFunc01F4_005A);
[16:10:17] <wjp> 1f4 is a much nicer (ie. smaller) function than 9a, btw
[16:10:28] * Darke nods, he noticed. <grin>
[16:12:49] <Darke> So in theory, this output is 'correct', since we've come to the same conclusions. <grin> How are we going to handle the 'atend goto'? Outside the parens or inside? I think inside would probably be more consistant, but I don't really know.
[16:13:50] <wjp> dunno... your call
[16:14:03] <wjp> it's a temporary form anyway, right?
[16:15:17] <Darke> Hopefully. If it turns out that the usecode really does branch out into any old place it may become more 'permanant'. But currently it's 'temporary' since no-one has modified the compiler to accept it yet. <grin>
[16:16:10] <wjp> hm... getting the compiler to accept this will be quite annoying
[16:16:40] --- wjp is now known as wjp|away
[16:16:40] <wjp|away> bbl
[16:16:55] * Darke nods, since it'd mean adding the concept of labels and such to it as well, IIRC.
[16:45:07] * Darke must disappear. Sleep is calling. "Night all."
[16:45:18] <-- Darke has left #exult ()
[17:46:44] --- wjp|away is now known as wjp
[19:17:57] <-- Colourless has left IRC (capek.openprojects.net irc.openprojects.net)
[19:25:47] --- wjp is now known as wjp|dinner
[19:26:44] --> Dominus has joined #exult
[19:26:45] --- ChanServ gives channel operator status to Dominus
[19:26:54] <Dominus> hello
[19:28:04] <Dominus> ?seen clourless
[19:28:04] <exultbot> I haven't seen clourless lately
[19:28:15] <Dominus> ?seen Colourless
[19:28:15] <exultbot> colourless left IRC around Wed Jan 2 19:17:57 2002 (GMT) (capek.openprojects.net irc.openprojects.net)
[19:28:38] <Dominus> oh, that was recently
[19:44:35] <Dominus> replied to Wumpus' post on the feature request page.
[20:06:42] --- wjp|dinner is now known as wjp
[20:06:47] <wjp> hi
[20:06:51] <Dominus> hi
[20:07:54] <Dominus> when is your u8 shape viewer coming?
[20:08:00] <wjp> oh.. right...
[20:08:01] <wjp> hmm
[20:08:07] <Dominus> he he
[20:09:29] <Dominus> btw, the guy who made the patches for u2, u3, u5 (music, vga, extra keys - http://exodus.voyd.net/ ) expressed interest in Pentagram
[20:09:50] <wjp> he emailed you or something?
[20:10:49] <wjp> post on rgcu[ds]?
[20:10:57] <Dominus> yeah, you may have noticed my post on the dragons page asking for someone who may have used that sound compression method and I explained a bit about Pentagram there and he mailed me
[20:11:05] <Dominus> that he would be interested
[20:11:54] <Dominus> I pointed him to the web cvs and the exultbot logs of that day (in whcih we talked about pentagram) and gave him your email- address
[20:12:05] * wjp nods
[20:12:15] <wjp> a recent one I hope? :-)
[20:12:35] <Dominus> the sf one
[20:12:43] <wjp> k
[20:12:51] <Dominus> as in the changelog of pentagram
[20:13:07] <wjp> ok... that was the last GPL header...
[20:13:08] <Dominus> > If you folks need developers (or reverse developers), I would LOVE to be a
[20:13:08] <Dominus> > part of any project to disassemble U8, since that has been sort of a holy
[20:13:08] <Dominus> > grail of mine, the Exodus Project being one step towards that end.
[20:14:16] <Dominus> do you want to have his email-address or wait till he contacts you? He didn't mail back then (19.12.)
[20:15:18] <Dominus> i wrote him that you mainly wanted to stir up interest in something like exult for U8 in coders (like him for example)
[20:16:44] <wjp> the email at the bottom of exodus.voyd.net?
[20:17:08] <Dominus> yep
[20:22:47] <wjp> I committed the attempt at a shape & map viewer
[20:23:13] <wjp> hmm, I'd better check if it is in a runnable state :-)
[20:23:20] <Dominus> he he
[20:23:48] <Dominus> I also got an email by Jason Ely as well :-)
[20:23:55] <wjp> really? cool
[20:23:58] <wjp> what did he say?
[20:24:19] <Dominus> I hear you have some questions for me about Ultima 8 technology. What do you
[20:24:20] <Dominus> wish to know?
[20:24:33] <wjp> kind of an open-ended question :-)
[20:25:07] <wjp> "everything" would be a reasonable answer, I guess :-)
[20:25:24] <Dominus> I then answered him explaining what you are about to do and if it is allright to ask him a question now and then
[20:25:54] <Dominus> and that we don't want to ask him for the source (though it would be nice) only some hints now and then
[20:26:34] <Dominus> didn't hear back from him but as it was close to xmas I don't expect him to answer too soon if at all
[20:26:49] * wjp nods
[20:27:20] <Dominus> dransik.com is his recent project
[20:29:25] <Dominus> I also explained a bit about Exult and that we don't give out copyrighted material and require the user to have a legal copy of U7 (and if Pentagram ever proceeds) also a legal copy of U8
[20:44:03] <Dominus> I wonder if I could compile your viewer....
[20:44:09] <wjp> should work
[20:44:12] <Dominus> make sure doesn't work
[20:44:28] <wjp> it doesn't?
[20:44:48] <Dominus> g++ -g `sdl-config --cflags` -c -o shpdisp.o shpdisp.cc
[20:44:48] <Dominus> g++: cannot specify -o with -c or -S and multiple compilations
[20:45:17] <wjp> hmm.. must be the `` thing
[20:45:54] <Dominus> how to go about it? kill the `?
[20:45:57] <wjp> try replacing `sdl-config --cflags` by -I/my/SDL/include/dir
[20:46:10] --> Colourless has joined #Exult
[20:46:18] <Colourless> stupid
[20:46:19] <wjp> and `sdl-config --libs` (2x) by -lSDL
[20:46:40] <Colourless> eh, hi dom :-)
[20:46:48] <wjp> wb
[20:47:01] --- ChanServ gives channel operator status to Colourless
[20:47:01] <Dominus> g++ -g -o shpdisp shpdisp.o u8flx.o u8shape.o u8shapeman.o u8glob.o u8map.o `sdl
[20:47:01] <Dominus> -config --libs`
[20:47:01] <Dominus> g++: `sdl-config: No such file or directory
[20:47:01] <Colourless> thanks, i didn't notice the net split
[20:47:12] <Dominus> hi Colourless
[20:47:14] * wjp points at second replace line
[20:47:21] <Dominus> oops
[20:48:45] <Dominus> C:/Programme/Div/Curios/MinGw/BIN/../lib/gcc-lib/mingw32/2.95.3-6/../../../libmi
[20:48:45] <Dominus> ngw32.a(main.o)(.text+0x8d):main.c: undefined reference to `WinMain@16'
[20:48:45] <Dominus> make: *** [shpdisp] Error 1
[20:49:04] <wjp> try a -lSDLmain after the -lSDL
[20:50:37] <Dominus> with a space in between? with it I get the same
[20:51:18] <wjp> try reversing -lSDLmain and -lSDL
[20:51:31] <wjp> (so: -lSDLmain -lSDL)
[20:52:24] <Dominus> same error
[20:52:48] <wjp> ok... I give up... Colourless?
[20:54:05] <wjp> hmm.. if I copy the link line in Makefile.win32, it should be:
[20:54:43] <wjp> g++ -mwindows -o shpdisp.exe u8flx.o ... u8map.o -L/path/to/SDL/libraries -lSDLmain -lSDL
[20:55:24] <wjp> no, sorry: -lmingw32 -L/path/to/SDL/libraries -lSDLmain -lSDL
[20:56:34] <Dominus> ok, that did it
[20:57:37] <Dominus> now getting the readme
[20:59:56] <Dominus> hmpf, don't work
[21:00:11] <wjp> did you read the readme too? :-)
[21:00:42] <Dominus> I assumed from the readme that having them in static works
[21:01:07] <wjp> hmm, I forgot to mention 'current directory'?
[21:01:21] <Dominus> ah, wait lower, uppercase problem perhaps
[21:01:47] <wjp> static won't work, btw
[21:02:00] <wjp> case shouldn't be a problem in win32
[21:02:03] <Dominus> hm?
[21:02:11] <Colourless> actually, for make it is
[21:02:11] <wjp> it needs one file from outside of static
[21:02:33] <wjp> (nonfixed.dat)
[21:02:57] <Colourless> but, i'm guessing this is the map viewer that is complaining now :-)
[21:03:21] <Dominus> still nothing
[21:03:34] <wjp> are you trying the shape viewer or the map viewer?
[21:03:39] <Dominus> I have the exes in static and copied the nonfixed dat there
[21:03:59] <Dominus> and both don't make a bee
[21:04:01] <Dominus> p
[21:04:15] <wjp> I might've accidendtly left some local paths in there
[21:04:51] <wjp> anything in stderr.txt/stdout.txt?
[21:04:58] <wjp> (if it generates those, that is)
[21:05:14] <Dominus> nope, not there
[21:05:30] <wjp> hmm, I even open them "rb" instead of "r"
[21:05:37] <wjp> ...so that isn't it either
[21:05:39] <Dominus> I start them on a command line and immedialtely it jumps to a new propmt
[21:07:21] <wjp> strange
[21:09:43] <Dominus> could u8shapeman.cc be a problem?
[21:09:58] <wjp> hmm...
[21:10:02] <Dominus> u8shapes_flx = new U8Flex("/data/u8/static/u8shapes.flx")
[21:10:07] <wjp> there's the local filenames I mentioned earlier :-)
[21:10:55] * wjp double-checks
[21:11:03] <wjp> looks like that's the only spot I missed
[21:11:22] <Dominus> so if I execute it in a folder with the data structure like it is outlined there I will succeed?
[21:11:37] <wjp> just remove the path there
[21:12:13] <wjp> but, yes, if you had a C:\data\u8\static\u8shapes.flx, it probably would've worked
[21:13:13] <wjp> ok, committed
[21:14:15] <Dominus> shpdisp works
[21:14:19] <Dominus> display doesn't
[21:14:31] <Dominus> stderr.txt exists
[21:14:45] <Dominus> 2048 shapes
[21:14:46] <Dominus> 508, 35: 0, 4922
[21:14:58] <Dominus> and so on
[21:15:08] <Dominus> stops at 73, 52: 0, 2414
[21:15:28] <wjp> after 73, 236?
[21:15:43] <Dominus> yep
[21:16:10] <wjp> does display crash or infinite loop?
[21:16:20] <Dominus> crashes
[21:16:37] <wjp> and if you try it with other maps?
[21:16:39] <Dominus> for a second I see the sdl-app
[21:17:18] <wjp> display 24, for instance
[21:17:22] <Dominus> works with the other
[21:17:48] <wjp> ok. There's still a crash bug in there that I haven't found
[21:18:03] <wjp> I get it too with the 'default' map, but not until after I scroll right a few times
[21:18:35] <Dominus> if I scroll in the 24 to the left I see something but as soon as I try to scroll down it crashes
[21:19:00] <wjp> funny... there's nothing to the left there :-)
[21:19:18] <Dominus> hm
[21:19:30] <Dominus> I mean I press the left arrow
[21:19:44] <wjp> yes, me too
[21:19:54] <Dominus> yellowish lava with some rock on the top
[21:20:03] <wjp> oh, I get that to the right
[21:20:04] <Dominus> at first I see blackness
[21:20:17] <wjp> yes, it's the entrance to the sorcerers' enclave
[21:20:31] <wjp> (post-Hydros)
[21:21:15] <Dominus> funny that it is on your right and my left
[21:22:01] <wjp> yes, kind of strange
[21:22:34] <Dominus> funny is that I'm one of the persons who can't tell the difference between right and left
[21:22:39] <Dominus> it is on the right :-)
[21:23:11] <Dominus> I confuse right and left sometimes and only if I really think about it I get it right
[21:23:25] <Dominus> so it was only a user error
[21:24:57] <wjp> grr... I broke ucc
[21:25:55] <Dominus> oh, if anyone is interested Maxim Dragon solved the problem with the Underworlds on Win NT (2k and XP)
[21:26:37] <Dominus> Colourless: that is for you especially if you want to know
[21:27:21] <wjp> what was the problem with them, btw?
[21:28:12] <Dominus> the exe did some check on the keyboard leds and this isn't implemented in the Dosemulation of NT (in the words of someone who has no idea actually)
[21:28:38] <Dominus> UW2 has a function which sends "set LED indicators" command to the
[21:28:38] <Dominus> keyboard ports, bypassing BIOS.
[21:28:47] <Dominus> this way of accessing ports is incompatible with NTVDM and hangs it. NTVDM
[21:28:47] <Dominus> waits forever on some Win32 event as a result of the DOS app reading the
[21:28:47] <Dominus> port
[21:28:57] <Dominus> the patch switches the function away at all, C3 is RETN
[21:29:09] <wjp> heh, funny
[21:29:30] <Dominus> the patch is hexediting the exe on one byte
[21:29:55] <Dominus> find FA 52 BA 03 00 E4 64 A8 02 and exchange the FA byte to C3
[21:30:06] <Dominus> works for both Underworlds
[21:30:36] <Dominus> and i already started a game of Uw2
[21:30:48] <Dominus> (instead of working on the FAQ)
[21:34:08] <Dominus> Colourless: stil here?
[21:34:15] <Dominus> still even
[21:42:20] <wjp> yay! I managed to get ucc to recompile ucxt's output of function 0x96 with only a few minor mods
[21:42:43] <Dominus> cool
[21:46:51] <wjp> it has some interesting quirks, but the code does seem correct
[21:47:02] <Dominus> he he
[21:48:00] <wjp> I'll try to plug in the replacement in exult...
[21:49:37] <wjp> grmbl... oh right, loading is broken
[21:50:01] <Dominus> he he
[21:51:03] <wjp> ok, the gangplank still works :-)
[21:52:59] <Colourless> eh, no, i'm not really here
[21:53:29] <Dominus> do you know anything about that supposedly found source code (3dfx)?
[21:56:46] <Colourless> i know nothing
[21:56:59] <Colourless> i believe it's nothing
[21:57:08] <Dominus> do you believe it?
[21:58:20] <Colourless> i think someone found something and they don't know what it really is
[21:58:31] <Dominus> he
[21:58:34] <Colourless> i.e. they found linux glide and mesa
[21:58:42] <Dominus> I think so too
[21:59:54] <Colourless> the of course is 'fairly' useless as it's probably an old version of mesa, and glidexp is already based on linux glide and is functional
[22:00:08] <Dominus> yep
[22:01:40] <Dominus> wjp: shpdsip crashed on/after 341, 8: 12, 92, 88
[22:02:48] <Dominus> I kind of forgot how good the shapes looked for U8
[22:02:50] <wjp> hmm, it looks like 8 is the last frame
[22:03:08] <Dominus> but normally it doesn't crash on the last frame
[22:03:20] <wjp> well, the last frame is 19
[22:03:25] <wjp> but 9-19 seem to be empty
[22:03:34] <Dominus> ah, okay
[22:04:01] <wjp> could be a bug in the shape viewer, dunno
[22:04:13] <wjp> it seems to work, but it might be buggy in borderline cases
[22:04:34] <Dominus> what's up with 362
[22:04:53] <wjp> ?
[22:05:21] <wjp> looks like Stratos' platform
[22:05:29] <Dominus> shpdisp 362 crashes with segmentation fault for me
[22:05:38] <wjp> hmm, maybe it doesn't clip properly
[22:05:44] <wjp> (it's partly outside of the screen)
[22:05:56] * wjp wonders if he clips the shapes at all :-)
[22:06:21] <Colourless> impliment a guard band, it's faster than clipping :-)
[22:07:10] <Colourless> of course, do what you want :-)
[22:07:11] <wjp> I should probably just render those things at 320,200 instead of at 160,100
[22:07:21] <wjp> (default window is 640x480)
[22:08:05] <wjp> Dominus: if you feel like trying if that fixes the crashes, coordinates are in shpdisp.cc, line 96
[22:09:09] <Dominus> 160, 100, change to 320, 200, ?
[22:09:39] <wjp> yup
[22:10:50] <Dominus> fixed
[22:11:11] <Dominus> but gives weird effect with the browsing then
[22:11:28] <wjp> oh, right... I only clear 320x200
[22:13:13] <wjp> fixed & committed
[22:17:32] <Dominus> ok, what's up with those that show black frames at the end?
[22:17:57] <Colourless> brb
[22:18:10] <wjp> like that tower door?
[22:18:19] <wjp> (oh, does that one still crash?)
[22:18:55] <Dominus> nope like 387
[22:19:36] <Dominus> 341 doesn't crash anymore
[22:19:47] <wjp> hmm, 387 sure has a lot of frames
[22:19:57] <Dominus> so it's just some more with empty frames
[22:20:15] <wjp> if it's anything like U7, those are animations that that NPC doesn't need
[22:20:45] <wjp> (eg. spell-casting for non-magic-users)
[22:20:52] <Dominus> ok
[22:24:34] <Dominus> got to go now
[22:24:44] <Dominus> bye
[22:24:46] <wjp> k, g'night
[22:24:56] <-- Dominus has left IRC ("Exult! Exult! Exult!")
[22:28:13] * wjp has to go too
[22:28:14] <wjp> night
[22:28:16] <-- wjp has left IRC ("[x]chat")
[22:29:00] --> Cless has joined #Exult
[22:29:13] <matto> Chess!!! errr..... Cless!!!
[22:29:55] <Cless> err
[22:31:17] <-- Colourless has left IRC (Killed (NickServ (Nickname Enforcement)))
[22:32:00] --- Cless is now known as Colourless
[22:32:03] --- ChanServ gives channel operator status to Colourless
[22:32:30] <Colourless> ?seen wjp
[22:32:30] <exultbot> wjp left IRC around Wed Jan 2 22:28:16 2002 (GMT) ("[x]chat")
[22:32:36] <Colourless> ?time
[22:32:36] <exultbot> It is now Wed Jan 2 22:32:36 2002 (GMT).
[22:32:45] <Colourless> ?seen dominus
[22:32:45] <exultbot> dominus left IRC around Wed Jan 2 22:24:56 2002 (GMT) ("Exult! Exult! Exult!")
[22:34:01] <-- Colourless has left IRC ("bye")