#pentagram@irc.freenode.net logs for 15 Jun 2003 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage


[00:00:34] <-- Dark-Star has left IRC ()
[00:07:18] <wjp> bingo... doors no longer change colour when you open them :-)
[00:07:55] <oreilly> :)
[00:08:41] <oreilly> how are you working on it
[00:09:26] <wjp> what do you mean?
[00:10:32] <oreilly> how do you test your changes
[00:11:03] <oreilly> i mean do you have a working enigne
[00:11:10] <oreilly> to play with
[00:11:12] <wjp> yes, we do
[00:11:26] <wjp> or working enough, anyway :-)
[00:11:37] <oreilly> yeah.. hehe
[00:11:54] <oreilly> how much does the usecode control?
[00:12:04] <wjp> a _lot_
[00:12:12] <oreilly> i know speech
[00:12:18] <oreilly> schedules?
[00:12:28] <wjp> yes
[00:12:45] <wjp> even looking at items is controlled by usecode
[00:13:05] <wjp> (i.e., if you click on an item to look at it, usecode is run, and that usecode displays some text over the item)
[00:13:17] <oreilly> yeah
[00:15:44] <oreilly> so in order to get doors working, you have to dig through the usecode
[00:15:48] <wjp> yes :-)
[00:16:02] <wjp> I had the usecode interpreter output each opcode as it executed it
[00:16:16] <oreilly> cool :)
[00:16:20] <oreilly> is that ucmachine?
[00:16:22] <wjp> and noticed a right shift wasn't doing what I was expecting
[00:16:23] <wjp> yes
[00:16:39] <wjp> so it turned out my original guess of the operand order of the right shift was wrong
[00:16:57] <wjp> (I did 'b >> a' instead of 'a >> b')
[00:17:02] <oreilly> ahh
[00:17:20] <wjp> which screwed up some calculation, which made it use the wrong type of door for the animation
[00:18:56] --> mobill||PAGAN-ul has joined #pentagram
[00:19:01] <wjp> ah, found it...
[00:19:11] <wjp> a file about intro/endgame format is docs/u8skf.txt
[00:19:50] <oreilly> yeah i found that on google #pentagram log search heh.. but i have no docs
[00:20:02] <wjp> do you have our CVS?
[00:20:24] <oreilly> on sourceforge right?
[00:20:27] * wjp nods
[00:20:56] <oreilly> i have pentagram from the exult site, i don't think i ever got it from cvs hehe
[00:21:04] <wjp> oh, that's ancient :-)
[00:21:38] <oreilly> yeah i figured hehe, it was cool though, when i first saw it
[00:21:43] <wjp> that's just a bit of a playground
[00:21:48] <oreilly> yeah
[00:21:54] <wjp> experiment with graphics, map format, etc...
[00:22:04] <oreilly> and usecode
[00:22:08] <oreilly> very cool
[00:22:20] <wjp> the usecode support in there is very very limited
[00:22:28] <oreilly> yeah
[00:22:43] <oreilly> i noticed a lot of u7 code
[00:22:54] <wjp> exult code, you mean :-)
[00:23:08] <oreilly> yeah :)
[00:23:47] <wjp> anyway, our current engine works a 'bit' better :-)
[00:24:01] <wjp> the execution scene at the start runs quite well, for example
[00:24:07] <oreilly> awesome
[00:24:33] <wjp> map teleporters work too, so you can explore quite a large part of the world
[00:24:40] <oreilly> except for darion? :)
[00:24:55] <wjp> he's not the only problem, unfortunately
[00:25:00] <oreilly> yeah..
[00:25:03] <wjp> we have some animation sync issues :-(
[00:38:48] --> Kirben has joined #pentagram
[00:38:48] --- ChanServ gives channel operator status to Kirben
[00:38:54] <wjp> hi Travis
[00:41:39] <Kirben> Hi
[00:57:13] <-- mobill||PAGAN-ul has left IRC (Read error: 110 (Connection timed out))
[01:03:26] <wjp> time for me to go... 3am is just a bit too late :-)
[01:03:47] <-- wjp has left IRC ("Zzzz...")
[01:21:14] <-- oreilly has left IRC (Read error: 104 (Connection reset by peer))
[02:20:03] --> oreilly has joined #pentagram
[03:00:45] <oreilly> anyone around?
[03:01:50] <DarkeSleep> Tentatively.
[03:02:18] <DarkeSleep> (As in, I'm kinda here, not completely awake, and will probably be disappearing soon, but can answer questions if you have some. *grin*)
[03:04:30] <oreilly> :)
[03:04:42] <oreilly> i'm having trouble with wincvs
[03:05:45] <oreilly> cvs [login aborted]: recv() from server cvs.sourceforge.net: EOF
[03:06:44] <oreilly> i've never used cvs before
[03:06:56] <oreilly> i've read some guides
[03:07:30] <DarkeSleep> I suggest grabbing tortise cvs (IIRC, that's the name), and using that under windows instead. It integrates with your standard explorer window and looks much easier to get working then wincvs. *grin*
[03:07:54] <oreilly> yeah i tried tortoise :) i have both installed
[03:08:11] <DarkeSleep> I only ever used the commandline cvs client under windows anyway, so I'm not really someone who can probably answer your question. *grin*
[03:08:35] <DarkeSleep> You've followed the instructions for anonymous cvs access on the sf.net webpage?
[03:08:49] <oreilly> yeah
[03:08:58] <oreilly> do i want to do checkout?
[03:09:46] <DarkeSleep> Yes.
[03:11:37] <oreilly> CVSROOT=:vs :cvs.sourceforge.net:cvsroot/pentagram login
[03:11:37] <oreilly> cvs [checkout aborted]: the :vs : access method is not supported by this port of CVS
[03:12:40] <DarkeSleep> Shouldn't cvsroot be: CVSROOT=:cvs.sourceforge.net:cvsroot/pentagram ?
[03:14:06] <oreilly> what port is it
[03:14:27] <DarkeSleep> Actually, I think it should be: CVSROOT=:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pentagram
[03:15:00] <DarkeSleep> I couldn't tell you. It's opening up from the inside of a firewall anyway, so it should go out ok, unless you've got a "deny all, don't tell me" rule setup.
[03:16:06] <oreilly> Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/pentagram
[03:16:06] <oreilly> **CVS password:
[03:16:06] <oreilly> cvs [login aborted]: Error reading from server cvs.sourceforge.net: 0
[03:17:41] <DarkeSleep> What's the delay betweenwhen it told you it was logging in, and when it gave you a login aborted message? Instantanous or quite a delay?
[03:17:57] <oreilly> instantaneous
[03:19:26] <DarkeSleep> Try it a few times with a minute or so's delay between them. sf.net's cvs' have been a bit flaky the last couple of days.
[03:20:05] <oreilly> ahhhhhhh
[03:20:23] <oreilly> haha
[03:20:27] <oreilly> now it's going
[03:20:39] <oreilly> thanks
[03:20:47] <DarkeSleep> No problem. *grin*
[03:21:48] <oreilly> that is cool
[05:07:29] --> Colourless has joined #Pentagram
[05:07:30] --- ChanServ gives channel operator status to Colourless
[05:07:56] <Colourless> where is he!?!?!
[05:08:37] <Colourless> d:\Pentagram\world\Item.cpp(32): fatal error C1083: Cannot open include file: 'GumpShapeFlex.h': No such file or directory
[05:14:22] <Colourless> time to hack ul pentagram to get it to compile with said missing file
[05:58:58] --> mobill||PAGAN-ul has joined #pentagram
[06:41:07] --> Cash|away has joined #pentagram
[06:41:12] --- Cash|away is now known as Cashman
[06:41:27] <Cashman> geez we are full today
[06:42:11] <Cashman> hey mobill
[06:45:33] <Cashman> and others
[06:52:45] <Cashman> anyone around?
[06:53:17] --- Cashman is now known as Cash|Away
[06:53:22] <Cash|Away> hmm not me now
[06:53:26] <-- Cash|Away has left IRC ()
[06:59:46] <-- mobill||PAGAN-ul has left IRC (Read error: 110 (Connection timed out))
[07:46:59] <Colourless> got to go
[07:47:00] <-- Colourless has left IRC ("casts invisibility")
[10:17:35] --> wjp has joined #pentagram
[10:17:35] --- ChanServ gives channel operator status to wjp
[10:30:29] * wjp hmmms
[10:30:53] <wjp> why is this one guard patrolling backwards, while this other one does face the right direction?
[10:31:01] * DarkeSleep points up at Colourless' comment as to missing files, if you didn't notice. *grin*
[10:31:34] <wjp> um, oops?
[10:32:20] <wjp> fixed now
[10:32:45] --> Colourless has joined #Pentagram
[10:32:48] --- ChanServ gives channel operator status to Colourless
[10:33:06] <Colourless> you!
[10:33:15] * wjp yelps and hides behind Darke
[10:33:15] <DarkeSleep> It's fixed, calm down. *grin*
[10:33:20] <wjp> it was Darke's fault! really!
[10:33:42] <wjp> *cough*
[10:33:46] <wjp> anyway, files are committed now
[10:34:32] * DarkeSleep watches the levitating, neon pink, 5 metre long finger of blame point at wjp.
[10:34:46] <wjp> oops; busted :-)
[10:35:07] * wjp middle-mouse-clicks on himself to turn himself invisible
[10:35:46] * wjp middle-mouse-clicks on the finger of blame too, while he's at it
[10:35:57] <DarkeSleep> Hey! No fair!
[10:36:11] <Colourless> i noticed the middle click stuff... i have to ask, what's it's point?
[10:36:24] <wjp> looking through walls
[10:37:00] <wjp> there's this really weird bug where the guard patrolling in front of the first guardhouse in central T. occasonially pathfinds to behind the guardhouse
[10:37:31] <wjp> so looking through some walls I saw a path egg there (a red 1)
[10:37:42] <wjp> really weird, since that isn't there when I restart pentagram
[10:37:49] <Colourless> heh
[10:38:21] <wjp> hm, wait a sec
[10:38:42] <wjp> is the 'occludes' flag negated by invisibility?
[10:38:46] <Colourless> no
[10:39:02] <wjp> I originally had middle-click forcefully delete on item
[10:39:09] <wjp> that's when I saw the path egg
[10:39:23] <wjp> (but obviously deleting items produced some issues with globs)
[10:40:37] <Colourless> in ItemSorter.cpp there is 2 instances of si->occl = info->is_occl();
[10:41:47] <Colourless> you'll want to set si->occl to 0 if the invisiblity flag is set
[10:43:42] <wjp> I can just use si->flags for that I guess?
[10:44:07] <Colourless> yes
[10:44:15] <wjp> how convenient :-)
[10:44:39] <wjp> ok, that path egg _is_ there
[12:02:52] <Colourless> i am utterly confused with what is going on in tenebrae
[12:02:57] <Colourless> sortorder wise that is
[12:03:08] <Colourless> it 'really' shouldn't be doing what it's doing :-)
[12:06:46] <Colourless> problems seem to be related to "Recursive item sorting"
[12:06:56] <Colourless> question of course is why is it doing Recursive item sorting
[12:07:17] <wjp> what do you mean by recursive item sorting?
[12:08:02] <Colourless> well, item sorting creates dependencies for each item
[12:08:42] <Colourless> recursive item sorting means that that one of the dependencies of an item, has that item as a dependency
[12:09:16] <wjp> a cycle in the dependency graph?
[12:09:22] <Colourless> yes
[12:09:48] <wjp> hm, that shouldn't happen when sorting boxes
[12:10:02] <Colourless> exactly, it 'shouldn't' happen :-)
[12:10:18] <wjp> boxes with surfaces perpendicular on the axes, that is
[12:10:37] <wjp> s/on/to/ ?
[12:11:15] <Colourless> to
[12:14:08] <wjp> can you identify the cycle?
[12:14:24] <wjp> maybe paint only the cycle?
[12:14:45] <Colourless> i'm trying :-)
[12:24:33] <DarkeSleep> I think there's some weirdness happening with door opening too. If that's not already known. *grin*
[12:24:48] <Colourless> it's all related
[12:27:45] <Colourless> ok, if i disable occlusion, the problems.... disappear
[12:28:39] <Colourless> uh, oops :-)
[12:28:45] <Colourless> i know what the problem is
[12:29:02] <DarkeSleep> Darn it. You can't use perfume. Or a hairbrush. You'd think they'd have at least made the Avatar make a snappy comment about them. *grin*
[12:29:49] <wjp> do you really think that would work while you're encased in steel armour? :-)
[12:30:26] <DarkeSleep> "*clunk* *clunkclunk* You know... this would work better if I wasn't wearing this toaster."
[12:35:46] <Colourless> hmm, intersting
[12:35:54] <Colourless> i drank a purple potion
[12:36:01] <Colourless> and odd stuff happened :-)
[12:36:27] <wjp> um, how weird
[12:36:39] <wjp> where am I? :-)
[12:36:47] <Colourless> yes exactly :-)
[12:37:02] <wjp> or at what altitude am I, rather
[12:37:29] <wjp> hm, maybe I'm reading deltaz signed in animations?
[12:37:33] <wjp> unsigned, I mean
[12:38:17] <wjp> yes, that was it
[12:40:49] <wjp> fixed and committed
[12:41:12] <Colourless> ok committed the fixed itemsortercvs server: Up-to-date check failed for `ChangeLog'
[12:41:17] <Colourless> cvs [server aborted]: correct above errors first!
[12:41:27] <wjp> um, sorry about that :-)
[12:41:40] <Colourless> damn you :-)
[12:41:53] <DarkeSleep> Heh.
[12:43:03] <Colourless> ok, actually committed the itemsorter stuff now
[12:43:39] <wjp> lots of unused vars in operator<, operator<<
[12:44:16] <Colourless> hmm, yes. comment them out
[12:44:58] <Colourless> then again, i'll do it
[12:52:29] <Colourless> ok committed new one
[12:52:33] * DarkeSleep hmms... and can consistantly crash pentagram by opening and closing doors. Is that also a known problem?
[12:57:29] <Colourless> 'T' teleporters don't work
[12:58:03] <Colourless> i think...
[13:05:45] <wjp> 'T' teleporters?
[13:08:16] <Colourless> like the 'S' and 'D' teleporters
[13:11:08] * DarkeSleep adds 'frame limiter' to things we need to add to pentagram. We really don't need to use every, last, cycle of CPU, do we? *grin*
[13:11:13] <wjp> Colourless: can you give an example of one?
[13:11:34] <Colourless> there is one in the obsidian fortress
[13:11:57] <Colourless> but the reason it may not have worked might have been because of z difference (i was below it)
[13:12:24] <wjp> that's the MAPTELE class probably?
[13:12:40] <Colourless> no idea
[13:15:57] <Colourless> in the fishermans reef map i can not enter the cave
[13:16:14] <Colourless> the teleporter just isn't triggered
[13:16:52] <Colourless> i'll see if i can figure out why
[13:21:35] <Colourless> ok
[13:22:01] <Colourless> the 'q' value for the teleporter source doesn't have anything in the high byte of q
[13:22:37] <wjp> hm, I see
[13:25:40] <Colourless> changing isTeleporter to
[13:25:42] <Colourless> bool isTeleporter() const { return frame != 1; }
[13:25:44] <Colourless> made it work
[13:26:20] <wjp> that's what it was before I made it use quality :-)
[13:26:35] <wjp> ah well, it was a nice pattern but apparently it doesn't hold :-)
[13:27:48] <wjp> it does of course leave the question what the high byte of the quality means
[13:31:18] <Colourless> teleportToEgg needs to be implemented ;-)
[13:31:50] <wjp> yes... one tricky thing about that
[13:31:55] <wjp> it does a map switch from usecode
[13:31:58] <Colourless> it'
[13:32:22] <Colourless> well, really that isn't a problem if you think about it. it's a process
[13:32:31] <wjp> so it'll get killed
[13:33:57] <wjp> ...and that's not what we want
[13:34:05] <Colourless> because it's a process. the usecode wont be running when the TeleportToEggProcess->Run() has been called
[13:34:18] <wjp> oh, teleportToEgg is a process?
[13:34:30] <Colourless> "process teleportToEgg(word, word, ubyte)",
[13:34:56] <wjp> map, ?, egg quality?
[13:35:14] <Colourless> map, teleporter, 1/0
[13:35:23] <wjp> yes, that last one does look like a flag
[13:35:23] <Colourless> i'm thinking 1/0 == q>>8
[13:36:39] <wjp> the one for recall is: teleportToEgg(map, 30, 1)
[13:36:50] <wjp> the destination egg on the roof of the palace has q=30
[13:41:14] * wjp hmms
[13:41:35] <Colourless> your concern?
[13:41:53] <wjp> you'd say we shouldn't delete the TeleportToEggProcess and the UCProcess that called it
[13:42:13] <Colourless> why?
[13:42:27] <wjp> because things happen in that UCProcess after teleporting
[13:42:58] <Colourless> hmm, maybe
[13:43:03] <wjp> take a look at GRAVEGG
[13:44:20] <Colourless> that maybe teleporting within the same map
[13:44:34] <wjp> hm, good point
[13:45:03] <wjp> 6 is cemetery
[13:46:46] <wjp> hm, segfault while scrolling around the cemetery
[13:48:46] <Colourless> i got a crash in the reef, and just got a crash talking to mythran
[13:48:59] <Colourless> Trying to access stack of non-existent process (pid: 1)
[13:49:12] <wjp> 0x0807da84 in ItemSorter::AddItem(Item*) (this=0x8400898, add=0x8400898)
[13:49:26] <wjp> strange how this==add...
[13:49:33] <wjp> could be stack corruption though
[13:49:49] <Colourless> :-)
[13:50:23] <wjp> it probably is... surf in GameMapGump::PaintThis==0x1022
[13:55:09] <-- Colourless has left #Pentagram ()
[13:55:20] --> Colourless has joined #pentagram
[13:55:20] --- ChanServ gives channel operator status to Colourless
[14:00:36] <wjp> for some reason ItemSorter::AddItem is sometimes called with garbage
[14:23:32] --> circuit9 has joined #pentagram
[14:23:33] <-- oreilly has left IRC (Read error: 104 (Connection reset by peer))
[14:32:19] <-- circuit9 has left IRC (Read error: 60 (Operation timed out))
[14:32:22] --> oreilly has joined #pentagram
[15:00:06] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[15:16:41] <Colourless> so descriptive: Process 4286 caused an error. Killing process.
[15:20:16] <Colourless> that happened when talking to orlok
[15:20:29] <wjp> causes for errors are either invalid/unexpected operands to opcodes, invalid usecode pointer dereferences, unimplemented opcodes, unimplemented search type, stack corruption in the middle of an itemloop
[15:21:17] <wjp> if it didn't give an error message before the "Process x caused an error.", it's most likely unexpected operands or opcode 0x6C
[15:21:25] <wjp> oh wait, opcode 0x6C does print an error
[15:22:47] <wjp> either a non-zero-terminated string, or a stringlist with elementsize != 2, it seems
[15:23:02] <Colourless> something sort of died it seems
[15:23:13] <Colourless> lots and lots of unhandled opcodes
[15:23:27] <Colourless> and these are opcodes that are just invalid
[15:23:34] <Colourless> unhandled opcode F9
[15:23:35] <Colourless> unhandled opcode C3
[15:23:35] <Colourless> unhandled opcode C8
[15:23:35] <Colourless> unhandled opcode 05
[15:23:35] <Colourless> unhandled opcode C8
[15:23:35] <Colourless> unhandled opcode 06
[15:23:36] <Colourless> unhandled opcode C8
[15:23:38] <wjp> heh :-)
[15:23:38] <Colourless> unhandled opcode 07
[15:23:40] <Colourless> unhandled opcode C8
[15:23:42] <Colourless> unhandled opcode C8
[15:24:04] <Colourless> just ask him 'What do you do'
[15:24:18] <wjp> brb
[15:26:48] <wjp> b
[15:27:48] <Colourless> wb :-)
[15:28:31] <wjp> thx :-)
[15:28:34] <wjp> hm, stack underflow
[15:29:09] <wjp> but that appears to be after it jumps into garbage
[15:29:10] <Colourless> the problem is ealier than that
[15:29:19] <Colourless> sp = 22; 2810: 52 jmp 9176h (to FFFFB989)
[15:29:23] <wjp> ywa
[15:29:27] <wjp> yes, even
[15:30:05] <Colourless> lets see what disasm says
[15:30:08] <wjp> the same
[15:31:05] <Colourless> hmm
[15:31:25] <wjp> kind of an ugly hack, this...
[15:31:29] <Colourless> there are a few of those
[15:31:40] <wjp> it depends on IP being 16 bit
[15:32:22] <Colourless> and?
[15:32:29] <wjp> our IP is 32 bit :-)
[15:32:46] <Colourless> we already assume it is 16 bit in many places
[15:32:51] <Colourless> such as call :-)
[15:33:29] <Colourless> stack.push2(classid); // BP+04 prev class
[15:33:33] <Colourless> stack.push2(ip); // BP+02 prev IP
[15:33:33] <Colourless> stack.push2(bp); // BP+00 prev BP
[15:33:38] * wjp nods
[15:33:49] <Colourless> i somehow things that if we are actually using 32bit ip, then that just aint going to work :-)
[15:33:56] <Colourless> s/things/think/
[15:34:12] <wjp> si16a = static_cast<sint16>(cs.read2());
[15:34:12] <wjp> ui16a = cs.getPos() + si16a;
[15:34:12] <wjp> cs.seek(ui16a);
[15:34:33] <Colourless> that works?
[15:34:36] <wjp> it should, right?
[15:34:47] <Colourless> lets find out :-)
[15:35:09] <wjp> seems to work
[15:36:19] <Colourless> it just crashed when i attempted to buy a drink from orlok :-)
[15:36:45] <Colourless> sp = 3B; 1F4D: 0F calli 0034h (0Ch arg bytes) Item::legal_create(uword, uword, uword
[15:36:50] <Colourless> , word) Trying to access stack of non-existent process (pid: 1)
[15:37:00] <wjp> previous couple of lines?
[15:37:14] <Colourless> sp = 39; 1F3D: 6E move sp -0Ah
[15:37:17] <Colourless> sp = 2F; 1F3F: 3F push [BP-06h] = 4F02h
[15:37:17] <Colourless> sp = 31; 1F41: 01 pop [BP+06h] = 4F02h
[15:37:17] <Colourless> sp = 2F; 1F43: 0A push byte 0001h
[15:37:17] <Colourless> sp = 31; 1F45: 3F push [BP+06h] = 4F02h
[15:37:17] <Colourless> sp = 33; 1F47: 3F push [BP+0Ah] = 0006h
[15:37:18] <Colourless> sp = 35; 1F49: 3F push [BP+08h] = 00B4h
[15:37:20] <Colourless> sp = 37; 1F4B: 4B push addr [BP-02h]
[15:37:22] <Colourless> sp = 3B; 1F4D: 0F calli 0034h (0Ch arg bytes) Item::legal_create(uword, uword, uword
[15:37:24] <Colourless> , word) Trying to access stack of non-existent process (pid: 1)
[15:40:25] <wjp> oh, I screwed up
[15:42:01] <wjp> ok, fixed
[15:43:23] <wjp> and committed
[15:43:57] <Colourless> care to explain?
[15:44:07] <wjp> some screw-up as with popToContainer before
[15:44:24] <wjp> (i.e., I used ARG_CONTAINER(container) for something other than a this pointer)
[15:45:41] <Colourless> you've done that before :-)
[15:46:04] <wjp> s/some/same/
[15:46:36] <Colourless> surprise surprise
[15:46:39] <Colourless> cvs server: conflicts found in usecode/UCMachine.cpp
[15:46:58] <wjp> not really surprising, no :-)
[15:47:12] <wjp> whitespace? The LOGPF #defines at the top?
[15:47:26] <Colourless> yes
[15:47:30] <Colourless> LOGPF
[15:47:55] <wjp> I tend to change that number from time to time, strangely :-)
[15:51:52] <Colourless> committed some stuff.... I_ask() hack.... never existed ;-)
[15:52:07] <wjp> yay! :-)
[15:52:15] <wjp> um, what I_ask() hack?
[15:52:25] <wjp> my turn: cvs server: conflicts found in world/TeleportEgg.h :-)
[15:52:46] <Colourless> 4 new files btw
[15:53:30] <Colourless> a(up), z(down) and s(toggle avatarInStatis) keys now do stuff
[15:55:16] <wjp> _that_ was just to annoy me, wasn't it? :-)
[15:55:33] <Colourless> yes, just for you
[15:55:57] <wjp> now if only it worked :-)
[15:56:08] <wjp> oh, case issue
[15:56:22] <wjp> "u8/ConvertUsecodeU8.h" instead of "U8/..."
[16:04:17] <wjp> hm, double clicking on the avatar now produces the cheat menu again
[16:04:32] <wjp> oh, wait, that's single clicking
[16:05:21] <wjp> heh, oops...
[16:05:25] <wjp> Target: (select an object)
[16:05:25] <wjp> Can't: avatarInStasis
[16:07:16] <Colourless> lithos works :-)
[16:07:56] <wjp> wow :-)
[16:09:47] <Colourless> startos though... very much doesn't work at all :-)
[16:10:13] <Colourless> things go really wierd and it crashes
[16:11:55] <Colourless> s/startos/stratos/
[16:13:52] <wjp> fire shield spell works nicely :-)
[16:14:08] <wjp> except for the fact that it leaves you in stasis afterwards :-)
[16:14:34] <Colourless> devastation works :-)
[16:14:45] <Colourless> i saw devon geting zapped by lightning :-)
[16:15:00] <wjp> nice special effect
[16:15:07] <wjp> I wonder why that worked
[16:15:18] <wjp> apparently they didn't use sprites for that
[16:16:59] <Colourless> metoer shower = print lots of
[16:17:00] <Colourless> Unhandled intrinsic 'Item::hurl(word, word, word, word)' (44) called
[16:17:08] <wjp> fire shields animates in an interesting way because of the objid%6 thing :-)
[16:17:24] <wjp> (since the flames get sequential objids)
[16:17:37] <Colourless> doesn't work for me
[16:17:42] <Colourless> (does nothing)
[16:17:58] <wjp> oh, you need to set 'canExistAt' to 'UCMachine::I_true'
[16:18:11] <wjp> *cough* :-)
[16:18:20] <wjp> hm, I should probably properly implement it
[16:19:21] <wjp> ok... that thing takes _how many_ arguments?!?
[16:19:24] <Colourless> which file?
[16:19:32] <wjp> u8intrinsics.h
[16:19:35] <Colourless> ah, no file :-)
[16:19:47] <Colourless> it takes 7 :-)
[16:20:48] <wjp> my collision detect function takes more, though :-)
[16:20:52] <wjp> s/detect/detection/
[16:20:59] <wjp> 9, IIRC
[16:21:15] <wjp> but the last two aren't necessary for this
[16:21:22] <wjp> I wonder if that's a coincidence :-)
[16:21:47] <Colourless> yes it does animate interestingly
[16:22:17] <Colourless> the 's' key is most useful :-)
[16:22:24] <wjp> yes :-)
[16:22:30] <Colourless> i noticed lots of stuff was messing and leaving me inStatis
[16:23:01] <wjp> ah, you're converging to inStasis :-) (inStatus->inStatis->inStasis? ;-) )
[16:24:13] <wjp> ok, first four arguments are (shapenum, x, y, z)
[16:24:42] <Colourless> blow up is interesting :-)
[16:24:59] <wjp> uh...
[16:25:17] <wjp> that looks... interesting, yes :-)
[16:26:19] <wjp> the 6th argument seems to be an itemid
[16:26:45] <wjp> (but often 0)
[16:27:04] <wjp> 7th argument is always 7, AFAICT
[16:27:15] <wjp> 5th argument is 1 or 4
[16:29:02] <Colourless> conflagration is really slow to execute
[16:31:07] <wjp> I'm guessing it would be more spectacular if the createSprite was implemented :-)
[16:32:26] <Colourless> have you seen how many Item::receiveHit()s it calls
[16:32:32] <wjp> tons :-)
[16:36:57] <wjp> ugh, 7th argument is always _0_, AFAICT
[16:37:07] <wjp> might be 'flipped'
[16:37:34] <wjp> of course, it doesn't mean much, since it's always false
[16:37:46] <wjp> although it would probably be an uchar if it was a flag
[16:37:53] <wjp> (and it is a short)
[16:45:35] <Colourless> i should be going
[16:45:36] <Colourless> cya
[16:45:38] <-- Colourless has left IRC ("casts invisibility")
[17:06:31] <oreilly> pent_include.h includes a file msvc_include.h but it doesn't exist..
[17:27:51] <wjp> we don't "really" support building in msvc
[17:30:12] <wjp> it's possible, but you need to put some 'hacks' in msvc_include.h
[17:46:08] <oreilly> cool.. just wondering
[17:46:35] <wjp> you could probably get msvc_include.h from Colourless if you ask nicely :-)
[17:47:32] <oreilly> k :)
[17:48:43] <oreilly> are you in linux?
[17:48:56] <wjp> yes
[19:23:47] --> Dark-Star has joined #pentagram
[19:54:49] <Dark-Star> hmmm... it seems the sf.net cvs server backup was made during a commit or something...
[19:55:08] <wjp> I forgot to commit some files last night
[19:55:49] <Dark-Star> ok, I think I'll just have to wait until they are backed up to anoncvs...
[19:56:01] <wjp> http://www.math.leidenuniv.nl/~wpalenst/GumpShapeFlex.h
[19:56:06] <wjp> http://www.math.leidenuniv.nl/~wpalenst/GumpShapeFlex.cpp
[19:56:09] <wjp> put them in the graphics/ dir
[19:59:04] --> Dominus has joined #pentagram
[19:59:10] <wjp> hi
[19:59:35] <Dominus> hi
[20:00:39] <Dominus> interesting updates to pentagram this weekend
[20:00:44] <Dark-Star> wjp: thanks, but there's more...
[20:01:03] <wjp> ok, then it might've been in the middle of a commit, yes
[20:01:15] <Dark-Star> in GameMapGump.cpp, line 152: getZ is not a member of 'Item'
[20:01:44] <wjp> let's try to deduce the backup time from that :-)
[20:02:18] <wjp> I committed that at 0:21am last night according to the commit mail
[20:03:47] <wjp> (local time)
[20:04:00] <Dominus> OT atm, but blow up is really interesting. somehow I had a ghost avatar afterwards and could blow up that one as well so I was left with two avatar-body-parts jugglers
[20:06:06] <wjp> :-)
[20:09:02] <Dominus> uggh, what'S up with the cellar of the "castle"?
[20:10:07] <wjp> what do you mean?
[20:10:12] <Dominus> it looks as if it has some see-through blooks on top
[20:10:21] <wjp> that's because it does :-)
[20:10:36] <wjp> to prevent you from jumping
[20:10:41] <Dominus> you can't click on anything because of it
[20:10:49] <Dominus> I see
[20:11:16] <wjp> we should probably add a way to remove editor-objects
[20:16:41] <Dominus> I got a reply from ibm and am supposed to send my drive in the next 30 days and will most likely get a replacement
[20:18:33] <wjp> that's good
[20:19:42] <wjp> ok, I made 'e' toggle painting editor items
[20:20:04] <wjp> committing... done
[20:21:53] <Dominus> what'S the flag that does look like a golden G or something like that for?
[20:22:08] <wjp> I'm guessing guardian speech
[20:22:29] <Dominus> makes sense
[20:22:37] <Dominus> going to look at the console next time
[20:23:32] <wjp> yes, the hatch of that egg calls Item::guardianBark
[20:28:21] <Dominus> exploring is really fun
[20:29:13] <wjp> you can start submitting bug reports if you want, btw :-)
[20:29:37] <wjp> not clearly unimplemented features, but small things that go wrong
[20:30:01] <Dominus> he he
[20:30:45] <Dominus> good you made the t switch then
[20:30:47] <wjp> like 'extinguish' removing a candle instead of extinguishing it... :-)
[20:31:12] <wjp> t? what's so interesting about engine stats?
[20:32:03] <Dominus> at least the map number without looking at the console again (and scrolling upwards)
[20:32:27] <wjp> you don't get the map number from t
[20:32:58] <Dominus> oops, I thought that was what maps did
[20:33:06] <wjp> number of loaded maps :-)
[20:33:25] <Dominus> that's what I figured NOW
[20:34:37] <wjp> but not a bad idea...
[20:34:41] <wjp> it outputs current map now too :-)
[20:34:55] <Dominus> he he, maybe coordinates as well
[20:35:36] <Dominus> well, you could get it through the cheat menu
[20:36:12] <Dominus> wow, run demo is working somewhat as well
[20:36:32] <wjp> as you wish... coordinates too :-)
[20:37:52] <wjp> committed
[20:52:43] <wjp> hm, wasn't a scroll of Trap Detection supposed to disappear when you used it?
[20:55:33] <Dominus> don't know but I guess it should
[20:55:58] <wjp> I seem to remember a scroll of Trap Destruction _didn't_ disappear when it found no traps, so I always used those
[20:56:23] <Dominus> yeah, can'T tremember if I ever used them
[21:06:42] <wjp> "Unusual? I do not see anything unusual about my living quarters. It does not differ from any other extra-dimensional abode. " :-)
[21:07:06] <Dominus> he he
[21:07:17] <wjp> ok, let's get this teleportToEgg in so you can get to Mythran without cheating
[21:33:55] <wjp> how interesting... now the spike spheres roll straight through the walls
[21:34:01] <wjp> s/spike/spiky/
[21:34:17] <Dominus> he
[21:34:34] <wjp> and that's with collision detection enabled
[21:34:35] <Dominus> got to go
[21:34:38] <Dominus> bye
[21:34:43] <Dominus> oops
[21:34:44] <wjp> night
[21:34:49] <wjp> not?
[21:34:52] <-- Dominus has left IRC ("enough for now")
[22:10:28] <DarkeSleep> HACK_TO_INCLUDE_CONVERTUSECODEU8_THIS_IN_UCMACHINE_WITHOUT_BRINGING_IN_FOLD <- This is a hint as to what I should try to mess with today and fix? *grin*
[22:11:01] <wjp> I shortened it already ;-)
[22:13:24] <wjp> I fixed the double-door-mismatch, btw
[22:13:45] <DarkeSleep> Yay! *grin*
[22:14:07] <wjp> my "is item within search-range" check was accidentally a "is search-range within search-range" (roughly) check... *cough*
[22:14:27] <wjp> (surprisingly, that was true for a lot of items ;-) )
[22:14:44] <DarkeSleep> Umm... oopsie. *grin*
[22:17:49] <wjp> and I flipped a < in the collision detection, which helped :-)
[22:19:30] <wjp> still some strangeness with collision detection, though
[22:19:41] <wjp> the rolling spiky spheres in Mythran's house stop once they hit a wall
[22:19:54] <DarkeSleep> And they're not?
[22:20:07] <wjp> ?
[22:21:31] <DarkeSleep> Not supposed to? (that is) Sleepy brane. *grin*
[22:21:44] <wjp> I'm pretty sure they're supposed to roll on
[22:22:10] <wjp> (the animation does continue, so they're spinning in place)
[22:22:38] <wjp> I added a teleport line in GUIAp.cpp for Mythran's house, btw
[22:23:16] <DarkeSleep> Looks like there's still a race condition in the doors, I can still, irregularly, get the two doors to be out of sync, one opened, one closed. *grin*
[22:24:19] <wjp> hm, there are some editor items where the spheres are supposed to bounce back
[22:24:24] <wjp> but they're not flagged solid
[22:24:33] <wjp> (503, 0: Info: Fixed Ignore Generic Editor)
[22:24:51] <DarkeSleep> And I've managed to get the double doors again. One fake (Found item 40137 (shape 114, 15, (13183,9215,48) q:0, m:0, n:0) one real (Found item 40704 (shape 68, 2, (13183,9215,48) q:256, m:0, n:0)).
[22:25:16] <DarkeSleep> Heh. That 'might' cause problems. *grin*
[22:25:18] <wjp> yeah, I got that too
[22:25:24] <wjp> several times...
[22:25:40] <wjp> I only looked at picking the wrong 'other' door when opening/closing so far
[22:25:50] <wjp> door usecode is not something you want to look at :-)
[22:25:57] <wjp> s/you/I/, anyway :-)
[22:26:02] <wjp> maybe you do want to look at it? ;-)
[22:26:37] <wjp> anyway, those editor items are labelled "ignore"... which I do
[22:26:51] <wjp> but I'll have to take a peek at the logic behind the bouncing
[22:27:17] <DarkeSleep> Umm... I'm currently thinking that I should have continued to work on the decompiler, rather then distract myself by working on the compiler, now. *grin* Door logic can only look simpler in a more easy-to-read framework.
[22:29:37] * wjp hmms
[22:29:55] <wjp> apparently the direction in which it rolls is controlled by q
[22:30:02] <wjp> q is set by SPIKY::hit(ushort,short)
[22:31:28] <wjp> so maybe hit should be called when legalmove fails
[22:32:05] <DarkeSleep> That would make sense.
[22:32:48] <wjp> then there's of course the question what the parameters to hit() mean... *sigh* :-)
[22:34:52] <wjp> the ushort is the objid which was hit
[22:35:55] <wjp> can't find a place where the second argument is used
[22:36:45] <DarkeSleep> Don't you just *love* this stage of development? The more problems you fix, the more problems and questions you create, which you have to solve/fix, which makes more problems/questions. *grin*
[22:37:20] <wjp> oh, here's one place
[22:37:32] <wjp> ah, but at least there's always something fun to do :-)
[22:37:57] <DarkeSleep> Sure. *grin*
[22:38:17] <wjp> oh... the place where this is used is where gotHit calls Hit
[22:38:36] <wjp> (FIREMISS::gotHit calls FIREMISS::Hit :-) )
[22:38:40] <DarkeSleep> The question is never "Now what do I need to do today?" it's "What don't I NEED to do today?" *grin*
[22:38:43] <wjp> action, reaction :-)
[22:38:55] <DarkeSleep> Heh.
[22:39:12] <wjp> or rather "action, reaction, ouch!"
[22:39:20] * DarkeSleep giggles.
[22:39:34] <wjp> ok, second argument isn't used anywhere
[22:39:43] <wjp> that does _not_ help in figuring out what it means
[22:39:50] <wjp> (of course, it no longer matters either :-) )
[22:39:57] <DarkeSleep> Yep. *grin*
[22:41:02] <wjp> anyway, it's past my bedtime :-)
[22:41:04] <wjp> bye
[22:41:10] <-- wjp has left IRC ("Zzzz...")
[22:56:38] <-- Dark-Star has left IRC ()
[23:27:23] --> Kirben has joined #pentagram
[23:27:23] --- ChanServ gives channel operator status to Kirben