#pentagram@irc.freenode.net logs for 14 May 2003 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage


[01:06:45] --> Cashman has joined #pentagram
[01:12:59] <-- Cashman has left IRC ()
[01:28:36] --> Kirben has joined #pentagram
[01:28:36] --- ChanServ gives channel operator status to Kirben
[02:54:30] <-- DarkeZzz has left IRC (vinge.freenode.net irc.freenode.net)
[03:00:18] --> DarkeZzz has joined #pentagram
[05:34:54] --> Cashman has joined #pentagram
[05:35:01] <Cashman> Hey Kirben! how are ya
[05:44:02] <Cashman> [19:48:18] <-- exultbot has left IRC (signing off...)
[05:44:02] <Cashman> [19:49:20] --> exultbot has joined #pentagram
[05:44:13] <Cashman> how is this possible? could someone explain!
[05:49:04] <Cashman> hm, monster eggs reset themselves when you leaveFastArea?
[05:49:17] <Cashman> oops thats ment to be quote "hm, monster eggs reset themselves when you leaveFastArea?
[05:50:06] <Cashman> umm has this got somthing to do with moving away from a monster - mean its out ur view - or fast area and when you go back its not attacking you e.g. its in its origional state?
[05:50:26] <Cashman> I think that was time based if I remember but I could be wrong?!!
[05:51:18] <Cashman> e.g. slow area + timer - egg. reset
[05:54:52] <Cashman> .
[05:55:15] <Cashman> anyways nice one wjp in getting that tmp map scroll committed! I mentioned that earlier on in the logs
[05:55:25] <Cashman> I thought it was a good point to put in a tmp scroll
[05:55:32] <-- Cashman has left IRC ()
[06:03:18] --> Cashman has joined #pentagram
[06:05:47] <-- Cashman has left IRC (Client Quit)
[07:25:22] --> servus has joined #pentagram
[07:43:34] --> sbx has joined #pentagram
[07:44:05] --- sbx is now known as SB-X
[07:57:32] --> Cashman has joined #pentagram
[07:57:38] <Cashman> hey bs-x
[07:57:40] <Cashman> sb-x
[07:58:26] <SB-X> hello
[07:59:03] <Cashman> you been able to compile latest cvs and see how things are going with pentagram or not?!
[08:01:16] <SB-X> not
[08:07:54] <Cashman> ok
[08:08:08] <Cashman> well most of the usecode is taking form within the engine!
[08:08:33] <Cashman> umm there is a tmp function that wjp put in - temporary scrolling of the map so you get a little bit more to play with
[08:08:53] <Cashman> and there is left and right mouse button detection with some refresh detection for that - so you can e..g talk to nps now
[08:09:21] <Cashman> but its just text logged on screen - shown in usecode! disasm
[08:09:37] <Cashman> no animation - walking nps etc. with flash game graphical text
[08:12:31] <SB-X> does it show crusader maps?
[08:14:37] <Cashman> well hmm havnt tried - crusader is tgwds!
[08:14:54] <Cashman> you get that - "the games we dont support" for one last time - this is an official acronym
[08:15:25] <Cashman> I could have a go! but no promises.. I see you are just as egar as me to see some crusader action
[08:22:13] <SB-X> i guess so
[08:26:19] <Cashman> do you use linux? do you have ultima 8
[08:28:15] <SB-X> yes
[08:28:22] <Cashman> linux or windows
[08:29:36] <SB-X> linux
[08:29:42] <SB-X> why?
[08:30:05] <Cashman> then ask wjp for a compiled very! - he could send a copy of his latest compile if u ask nicely!
[08:30:45] <SB-X> i guess he could
[08:30:51] <SB-X> i'll just compile it when i get a chance
[08:31:14] <Cashman> oh ok! hehe - you could do that
[08:42:07] <-- Cashman has left IRC ()
[10:35:46] --> Cashman has joined #pentagram
[10:35:46] <Cashman> hey again sb-x
[10:35:46] <SB-X> wb
[10:37:00] <-- DarkeZzz has left IRC (vinge.freenode.net irc.freenode.net)
[10:37:06] --> DarkeZzz has joined #pentagram
[10:38:26] <Cashman> hey Darke
[10:38:46] <servus> hlo
[10:46:26] <Cashman> recompiling cvs
[10:46:46] * Cashman wants to see wjps quick map scrolling implementation
[10:46:55] <Cashman> a nice tmp feature
[11:02:57] <Cashman> yeah sweet - you can even kinda talk to the guard at the gates to the town!
[11:06:29] * Cashman slaps DarkeZzz around a bit with a large trout
[11:06:37] <Cashman> you awake! still catching up on sleep aye!
[11:10:16] <Cashman> hello Matt
[11:10:33] <Cashman> sb-x you want me to try crusader!
[11:12:26] <SB-X> sure Cashman
[11:14:29] * Cashman gets out cruasder cd's
[11:15:47] <SB-X> you don't have to go to any trouble
[11:16:05] <Cashman> nah sure its ok!
[11:16:17] <Cashman> they are right next to my comp and I'll just try somthing quick
[11:16:54] <Cashman> hey the cool thing about ultima 8 is that its freeware now!
[11:17:47] <SB-X> i've never heard that
[11:18:33] <Cashman> well its downloadable as freeware - written off, obsolete
[11:19:50] <SB-X> when did that happen?
[11:20:17] <Cashman> well I might be wrong but its downloadable on the interest at some freeware sites
[11:20:30] <Cashman> eh it wouldnt matter anyways
[12:05:48] --> exultbot has joined #pentagram
[12:05:48] --- Topic for #pentagram is: Pentagram: a game engine for Ultima 8 - http://pentagram.sf.net/
[12:05:48] --- Topic for #pentagram set by wjp at Sat Mar 15 22:48:22 2003
[12:10:04] <Cashman> hey exultboit
[12:10:09] <Cashman> exultbot
[12:11:50] <Cashman> helloooo helllooooo people
[12:17:00] <Colourless> exultbot is male
[12:18:52] <Cashman> hehe ok
[12:25:15] <-- Cashman has left IRC ()
[12:37:21] --> Kirben2 has joined #pentagram
[12:37:21] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[12:39:48] --> Cashman has joined #pentagram
[12:42:19] <-- Cashman has left IRC (Client Quit)
[12:43:47] * DarkeZzz doesn't bother asking how Colourless knows exultbot is male. He's not really sure he wants to know. *grin*
[12:44:30] <Colourless> wjp said so
[12:45:00] <-- Kirben2 has left IRC (capek.freenode.net irc.freenode.net)
[12:46:11] --> Kirben has joined #pentagram
[12:46:51] * DarkeZzz looks dubious.
[12:48:27] --> Cashman has joined #pentagram
[12:48:38] <-- Cashman has left IRC ()
[12:55:58] --> sbx has joined #pentagram
[12:57:19] --> wjp has joined #pentagram
[12:57:19] --- ChanServ gives channel operator status to wjp
[12:57:20] * DarkeZzz can't see how there can be he/she's in bots, since they obviously reproduce asexually.
[12:57:28] <DarkeZzz> Hiya.
[12:57:32] --- DarkeZzz is now known as Darke
[12:57:34] <wjp> hi :-)
[12:57:47] <-- Darke has left IRC (Killed (NickServ (Ghost: Darke!~Darke@m084-124.nv.iinet.net.au)))
[12:58:04] * wjp refuses to comment on exultbot's gender
[12:58:11] --> Darke has joined #pentagram
[12:58:11] --- ChanServ gives channel operator status to Darke
[12:58:25] <Darke> Okk... *blink*
[12:58:27] <sbx> wjp: will you comment on how exultbot reproduces?
[12:58:54] <Colourless> hi
[12:58:59] <wjp> oh, that's easy: I add a new channel name to an internal array
[12:59:55] --> Kirben2 has joined #pentagram
[12:59:58] <wjp> hm, how seriously did I break I_getTypeFlag?
[13:00:00] <-- Kirben2 has left IRC (Read error: 113 (No route to host))
[13:00:12] * wjp didn't get the cvs mail for the world/ directory yet
[13:00:13] <-- SB-X has left IRC (Read error: 113 (No route to host))
[13:00:20] <sbx> well i need to go
[13:00:21] * sbx waves
[13:00:27] <Darke> Bye.
[13:00:28] <-- sbx has left IRC (Client Quit)
[13:01:00] * Darke got some emails relating to world.
[13:03:02] <Colourless> hmm, odd it didn't commit some of the changes
[13:03:43] <Colourless> but it has now :-)
[13:05:24] <wjp> maybe we should store typeflags in an 8 byte array too? :-)
[13:12:35] <wjp> I think that flag lookup code should be in the ShapeInfo class, btw
[13:13:22] <Colourless> yeah probably :-)
[13:13:35] <Colourless> or we could do something different enirely
[13:13:57] <Colourless> the thing is, it's only likely to be usecode that wants to do it that way
[13:13:58] <wjp> it wouldn't cost too much space to store the original 8 bytes as an array too
[13:14:20] <wjp> true
[13:25:25] <Darke> Scary. You can drink before you even exist too. *grin*
[13:25:39] * Darke just tried drinking a bottle, it weirdly enough worked. *grin*
[13:26:11] <Darke> Pity you can't use the tankard on the bottle, to make the bottle empty, then drink from the tankard. *grin*
[13:27:05] <wjp> in which way did it "work"?
[13:27:40] <Darke> What? My proposed 'tankard' usecode or successfully drinking from the bottle? 8grin*
[13:27:59] <wjp> drinking from the bottle :-)
[13:28:26] <Darke> You 'used' it, and it executed the usecode (you 'burped') and then when you tried to use the bottle again, it said it was empty. *grin*
[13:28:44] <Darke> There's a bottle on the table right next to the entrance guard, up from the docks.
[13:28:51] <wjp> cool :-)
[13:30:14] * Darke thinks he *really* needs to get this usecode compiler up and running so he can try and get the tankard->bottle stuff working. Unlikely to be able to though, since no doubt you'd have to have a 'full tankard' frame to test againt. Supose it's an excuse for others to add the ability to add our own images. *looks around innocently*
[13:30:35] <wjp> bottle->tankard might be more useful :-)
[13:31:29] <Darke> Nah. You drink the bottle when you use it right? So you kinda have to use the tankard on the bottle. *grin*
[13:31:53] <Darke> Actually, do we have events that trigger on the 'drop' phase of drag->drop?
[13:32:34] <wjp> putting an item on top of something triggers something
[13:33:05] <wjp> (I remember a towers-of-hanoi puzzle that used that)
[13:33:13] <Darke> Cool. Could just drag bottle onto tankard, or the reverse and have it 'work'.
[13:33:26] <Colourless> the marble puzzle :-)
[13:33:39] <wjp> or that one.. *shudder*
[13:33:39] <Darke> full bottle->empty tankard fills tankard, full tankard->empty bottle, fills bottle. *grin*
[13:33:55] <Colourless> the marble puzzle is so non obvious
[13:34:10] <Darke> Marble puzzle?
[13:34:13] <wjp> was that the one where you throw a marble on top of a pillar?
[13:34:19] <Colourless> yes
[13:39:25] <wjp> hmm...wasn't there also something there that flipped the screen upside down?
[13:41:58] <wjp> Camera::invertScreen() probably
[13:43:14] <Colourless> yep
[13:43:45] <Colourless> that's going to be a fun one to implement :-)
[13:45:15] <wjp> yeah...
[14:06:20] * Darke checks pentagram's 'workingness' with various versions. 2.10 seems to die because of the compressed shapes 'problem' (can't find the flex). How were we going to handle this again? Decompress at runtime? 'Install time'?
[15:05:24] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[15:12:02] * Darke yawns and hops off to sleep. Night!
[15:12:17] --- Darke is now known as DarkeZzz
[15:12:24] <Colourless> cya
[15:23:37] <wjp> probably decompress at 'install time'
[15:23:56] <wjp> (which might turn out to be 'first time it's run')
[15:25:12] <DarkeZzz> Any comments about that 'work' directory I mentioned the other day? In reguards to doing the "first time it's run" stuff using that, and just overloading things to look from there first?
[15:25:35] * DarkeZzz mumbles something about 'insomnia' and 'reading through the gcc bugs list to cure it'.
[15:25:40] <Colourless> that is basically the 'gamedat' idea...
[15:25:45] <Colourless> is it no?
[15:26:12] <wjp> no, not gamedat
[15:26:32] <wjp> I think Darke was talking about a place to store (static) game data files
[15:26:36] * DarkeZzz can't remember gamedat. Looks like the mind control satelites are working.
[15:26:43] <DarkeZzz> Yep.
[15:26:51] <Colourless> i didn't pay much attention to darkes comments... too much to read
[15:27:41] <wjp> anyway, I should be going; bbl
[15:27:45] <Colourless> cya
[15:27:52] <-- wjp has left IRC ("going home")
[15:28:07] <DarkeZzz> Things like on first run, instead of having an 'install' procedure we just do the conversion on an as needed basis. Of course on a multi-user system, you can't just modify the general datafiles since they're likely to be read-only.
[15:29:04] <Colourless> so there is the original 'static' dir and our 'static' dir?
[15:29:11] <DarkeZzz> Also helps with things like modifying usecode. Have a seperate directory structure so scripts and stuff can be found 'there' and then compiled/decompiled whatever into these work directories.
[15:29:19] <DarkeZzz> Somewhat. *grin*
[15:29:39] <Colourless> don't have any problems with that
[15:29:57] <Colourless> i wouldn't have suggested using the original static dir for our 'converted' dat anyway
[15:29:59] <DarkeZzz> Think of it as we have a @data/static/u8shapes.flx which is the original and untouched.
[15:30:38] <DarkeZzz> Then we have a @data/work/shapes/ directory which would contain our shapes, converted into the 'generic' format.
[15:31:24] <Colourless> and sound with all the sounds converted into wav files :-)
[15:31:53] <DarkeZzz> You could also have (for example) on load a @data/work/shapes/shapes.lst which would list all the additional shapes (as tga/bitmap/whatever) to be 'compiled' into an updated u8shapes.flx file, which would sit in that dir.
[15:31:56] <DarkeZzz> Yep. *grin*
[15:32:45] <DarkeZzz> Or again, have the /sounds/ directory contain a sounds.patch or sounds.list, with pairs of wave file->index lists so that it would autopatch the sounds.flx, etc.
[15:32:59] * DarkeZzz wonders if you're 'getting' what he's saying. He feels so incoherent at the moment. *grin*
[15:33:05] <Colourless> i understand
[15:33:15] * DarkeZzz yays! *grin*
[15:33:38] <Colourless> now if everything is a 'different' file rather than in flexes, how exactly is indexing going to be handled?
[15:33:41] <Colourless> as a text file?
[15:35:04] <Colourless> because we really do need to be able to access everything quickly with a number
[15:35:08] <DarkeZzz> It would, to a certain extent, be a way of providing patches too. Just supply the additonal wave/tga/whatever files, with the appropriate patch text file in the appropriate directories. Setup the pentagram.cfg with the 'new' <game><path>/old-u8-path/</><work>/path-to-patch-files/</></> and pentagram would do the rest, recreating the new patched files.
[15:37:19] <DarkeZzz> I 'think' what would happen would be the whatever.patch file, would literally be a 'patch'. You'd check a 'hash' section of the flx against a hash of the whatever.patch file, to see if it'd been changed. If it had, you'd recreate the 'new' u8shapes.flx or whatever from the original flex+the new files listed in the patch. Which would specify the offsets you'd be replacing. (No offset listed would mean 'append' or something.)
[15:38:43] * DarkeZzz is basicly trying to combine the 'best' bits of a script type thing, with the 'best' bits of a 'compiled' system, to use a compiler analogy. *grin*
[15:38:53] <Colourless> that system is 'unreliable'
[15:39:08] <Colourless> hashing isn't 100% foolproof
[15:39:17] <DarkeZzz> For what reasons? And compared to what? *grin*
[15:39:57] <Colourless> compared to byte for byte compare :-)
[15:40:45] <DarkeZzz> Check the timestamps then (modification time of newshapes.flx, vs modification timestamps of all the files listed in the whatever.patch and the patch file itself).
[15:40:55] <DarkeZzz> Use md5sum then, or something similar. *grin*
[15:41:46] <DarkeZzz> If we're getting a success rate of something in the range of five/nines or more, I don't think we'll be *too* worried about being 'perfect'. *grin*
[15:42:45] <Colourless> i don't know if it's a good idea to attempt to autodetect the need to do patching once the data has already been converted. my feeling is that it should be a manual 'apply patch option' with all the data regenerated
[15:43:09] <DarkeZzz> Fine with me. *grin*
[15:43:36] <Colourless> the problem is that it could seriously invalidate savegames
[15:43:53] * DarkeZzz was thinking for the patching to be 'automatic' rather then it 'automatically' happening anyway. *grin*
[15:44:20] <Colourless> i agree with that
[15:44:33] <Colourless> when data is converted patch is applied
[15:44:39] <DarkeZzz> Hmm... it depends. Savegames don't store offsets 'into' the file, just the offsets to say a flex index (shape num for example?).
[15:44:56] <Colourless> usecode i'm thinking of. everything else would be ok
[15:45:24] <DarkeZzz> Yeah, don't worry. I can work out how to handle usecode stuff. I've already been worrying about precicely how that should work. *grin*
[15:52:06] --> wjp has joined #pentagram
[15:52:06] --- ChanServ gives channel operator status to wjp
[16:33:08] <Colourless> i should go
[16:33:10] <Colourless> cya
[16:33:27] <-- Colourless has left IRC ("casts invisibility")
[18:49:00] <-- servus has left IRC (capek.freenode.net irc.freenode.net)
[18:56:05] --> servus has joined #pentagram
[19:31:26] --> sbx has joined #pentagram
[19:31:35] --- sbx is now known as SB-X
[19:49:30] --> Dark-Star has joined #pentagram
[20:15:06] <-- Dark-Star has left IRC ()
[20:15:16] --> Dark-Star has joined #pentagram
[20:43:08] <wjp> yay! fishing works now :-)
[20:53:27] <Dark-Star> really? gotta try that out . . .
[20:53:50] <wjp> added some item creation intrinsics, and it Just Works(tm) :-)
[20:54:19] <wjp> the chance to actually catch a fish seems rather low, though
[20:54:53] * wjp blames his PRNG
[20:58:05] * Dark-Star caught a fish after just 2 tries :-)
[20:58:30] <Dark-Star> born to fish *grin*
[20:58:32] <wjp> bah
[20:58:36] <wjp> not fair :-(
[20:58:36] * wjp sulks
[20:59:01] <Dark-Star> although it seems the fish is bad... it just floats on the water ;-)
[20:59:02] <wjp> :-)
[20:59:28] <wjp> yeah, the "hurl" intrinsic doesn't work yet :-)
[20:59:28] <Dark-Star> hey, I can even eat it... although it doesn't disappear
[20:59:59] <wjp> (it looks like it's supposed to 'jump' out of the water to the avatar)
[21:00:05] <wjp> I'm working on the 'destroy' intrinsic now
[21:00:08] <wjp> then you should be able to eat it too :-)
[21:00:24] <Dark-Star> hey, the bedroll works, too...
[21:00:42] <wjp> well, rolling it up works :-)
[21:00:49] <Dark-Star> hmm.. yes
[21:01:03] <wjp> chatting with Devon works very well too
[21:01:16] <wjp> pity you can't talk to the rest of the people there until the execution scene finishes
[21:01:16] <Dark-Star> yes, I already knew that. in which file are the intrinsics defined?
[21:01:28] <Dark-Star> you can _move around_? how??
[21:01:40] <wjp> arrows
[21:01:45] <wjp> just scrolls the map, btw :-)
[21:01:56] <Dark-Star> oh cool... didn't notice that yet ...
[21:02:16] <wjp> adding some basic walking support shouldn't be too hard
[21:02:32] <wjp> although we'll need some more infrastructure first
[21:02:35] <wjp> (loading animations)
[21:02:58] <Dark-Star> hmm... the lamp posts don't look right to me ;-)
[21:03:23] <wjp> oh, ` removes the console, btw
[21:03:48] <wjp> makes things more visible :-)
[21:03:54] <wjp> yes... they seem to be missing something :-)
[21:04:16] <wjp> strangely the ones just behind the gate do seem ok
[21:04:34] <Dark-Star> right... strange
[21:05:46] <Dark-Star> btw, how difficult would it be to add support for the other languages of U8? Would I still need a complete list of functions and their offsets, like it was needed in the debugger?
[21:06:05] <Dark-Star> I remember doing some hackish patch there a while back :)
[21:06:22] <Dark-Star> s/debugger/disassembler
[21:06:26] <wjp> debugger?
[21:06:31] <wjp> oh, that
[21:06:51] <wjp> that wasn't really required to run things
[21:07:13] <wjp> it was just that we were seeing what some functions were doing, and it turned out they were in different places in different languages
[21:07:21] <wjp> the only problem right now is that we only try to load eusecode.flx
[21:07:38] <wjp> (and that our console font doesn't support non-english characters, I guess)
[21:07:54] <wjp> (but that font problem should disappear when we use the 'real' fonts to render text in the right places)
[21:08:09] <Dark-Star> well, linking gusecode to eusecode would be trivial, the question is: what happens if I do it? I think I'll try...
[21:09:09] <Dark-Star> hey, it works...
[21:09:23] <wjp> I'm not surprised :-)
[21:09:32] <wjp> hm, lampposts do work in the map viewer in old
[21:38:52] <-- SB-X has left IRC ("ZZzzzz")
[22:50:27] <-- wjp has left IRC ("Zzzz...")
[22:56:12] <-- Dark-Star has left IRC ()
[23:47:34] <servus> i have a french and german version of u8...
[23:48:07] <servus> i could rip those fonts...