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

Archive Today Yesterday Tomorrow
Pentagram homepage


[08:13:04] <-- exultbot has left IRC (Connection reset by peer)
[08:13:07] --> exultbot_ has joined #pentagram
[08:13:07] --- Topic for #pentagram is: http://pentagram.sf.net/
[08:13:07] --- Topic for #pentagram set by wjp at Thu Sep 4 15:48:28 2003
[11:25:07] --> Colourless has joined #Pentagram
[11:25:07] --- ChanServ gives channel operator status to Colourless
[11:25:32] <Colourless> hi
[11:37:49] --> Fingolfin has joined #pentagram
[11:37:49] --- ChanServ gives channel operator status to Fingolfin
[11:41:22] <Colourless> hii
[11:41:37] <Darke> Hiii.
[11:42:34] <Colourless> that sounds... evil...
[11:43:05] <Darke> Join Ussssss...
[11:44:50] <Colourless> um, you know, even though you ask, the game design prevents me from doing so
[11:46:57] <Fingolfin> yo yo
[11:50:14] <Darke> Why? All you have to do is die. Then you can become one with... The Many...
[11:51:31] <Colourless> hmm, i don't know
[11:52:13] <Colourless> can the many bring people back from the dead. now, if you were attacked by the grub worms, then perhaps it would happen
[11:53:06] <Colourless> then in the end, i'm not sure what the many's point of view on cybernetic implants is.
[11:53:56] <Colourless> sure, they have the midwives and assassins. But they don't have a worm in the head
[11:54:41] * Darke 's brane now hurts. And no, you don't want to know in particular why it hurts, since the collision of the grubworms thought just confuzzled him more then he already was from another source that would provide TMI. *Grin*
[11:57:05] <Colourless> so, i'm thinking, at best you would become a cyborg assassin. This wouldn't be surprising though, since if you died in system shock 1 you became a Cortex Reaver. SS1 though had a nice cinematic to show it though
[11:58:15] <Colourless> at worst, you'd become many 'food'
[11:59:44] <Darke> Hrm... the presence of the worm in the head rather then brain, would explain precicely why the hybrids were such a bad shot...
[11:59:52] <Darke> Or rather building material anyway. *grin*
[12:00:42] <Colourless> hey, also, don't discount that their shotguns were always broken
[12:02:19] <Darke> How does that explain the "if I keep ducking backwards I can consistantly avoid your hits, whilst thwapping you solidly" tactics relating to the pipe hybrids? They aren't exactly that brilliant either. *grin*
[12:02:47] <Darke> Then again, I suppose you'll just claim that their pipe was less then sturdy. Since it obviously disentegrated upon hitting the floor.
[12:04:06] <Colourless> i think the reasons could be a high latency connection back to the many brain. causes reation times to be really slow
[12:07:28] <Darke> Hrm... so that head-worm is really an antenna, and The Many communicate with 108.11b?
[12:08:01] <Darke> Or at least some sort of wireless protocol.
[12:08:03] <Colourless> yes, something like that :-)
[12:08:51] <Colourless> i'm thinking though, a high bandwith connection though. Packets would be quite large
[12:10:18] <Colourless> also could be that the many's 'server' is becoming overloaded
[12:10:41] <Colourless> how could one single person manage to defeat them, once they had managed to take control of 2 ships
[12:11:42] <Colourless> intially, the few infected would have lots of processing time on the server. but as more people became infected, the processing time per host would continuely decrease
[12:12:41] <Colourless> i also think that the many is slightly wasteful as far as it's resource go. it looks like they expanded it's size phyiscally, without much thought over how useful it would be do that.
[12:12:49] <Colourless> I notice almost no reducancy in the manys design
[12:13:13] <Darke> Yup. You'd also have problems relating to the 'volume' of area controlled by the many increasing significantly, whilst the number of roaming 'host' agents was quite small.
[12:13:21] <Darke> *nod*
[12:19:55] <Colourless> the ideal design would be to have well foritied nodes on each deck. Each node would be independant of each other, but would also linked to the others and do combined processing. Any one node coudl be lost, without damaging the whole.
[12:20:20] <Colourless> Each node would control all of the hosts in that area.
[12:23:34] <Colourless> there would also still be a 'long range' remote server so hosts could still be controlled if the node in their area was destroyed
[12:25:22] <Darke> Yupyup.
[12:36:07] <-- Fingolfin has left IRC ("42")
[14:17:41] --> GodBeastX has joined #pentagram
[14:23:40] <Colourless> greetings
[14:24:51] <GodBeastX> wow
[14:25:00] <GodBeastX> pentagram got alot farther than the renderer it used to be
[14:25:17] --> Fingolfin has joined #pentagram
[14:25:17] --- ChanServ gives channel operator status to Fingolfin
[14:25:26] <GodBeastX> does the team need help on it?
[14:25:34] <Colourless> that maybe true, but its.... rather buggy
[14:26:11] <Colourless> i think we mostly just need motivating
[14:26:39] <GodBeastX> heheh
[14:26:47] <GodBeastX> well, I'm a very accomplished programmer ^_^
[14:26:57] <GodBeastX> also got mad skillz with mfc if you guys ever decide to make an editor
[14:27:44] <Colourless> any editor we make, will be written using pentagrams gump based user interface system
[14:28:32] <GodBeastX> *shrugs*
[14:28:59] <GodBeastX> ok, it's all handled I guess ^_^
[14:29:05] <GodBeastX> I'm gonna go hack around the source code
[14:29:22] <Colourless> also remember that we are a mulitplatform project. mfc is so totally windows centric
[14:29:42] <GodBeastX> true
[14:29:48] <GodBeastX> but very user friendly ^_^
[14:30:04] <GodBeastX> I find alot of editors over complicate simple ideals
[14:30:35] <GodBeastX> what does gump mean anyway?
[14:30:47] <Colourless> no clue at all :-)
[14:30:58] <Colourless> in fact, as far as I know, it has no meaning
[14:31:05] <GodBeastX> oh, you guys used mingw32
[14:31:34] <Colourless> it's just the term that the u7 and u8 programmers used for their user interface dialogs/windows
[14:31:46] <GodBeastX> ahhh
[14:31:59] <GodBeastX> graphical user module perpetuator
[14:32:03] <GodBeastX> I'm sure that's what it means
[14:34:04] <Colourless> gumps haven't finished being entirely developed yet. Keyboard input isn't handled yet
[14:34:35] <GodBeastX> does u8 and u7 use similar systems?
[14:35:09] <Colourless> i doubt what we are doing is anything remotely similar to the originals
[14:35:20] <Colourless> u7's system was pretty basic
[14:35:30] <GodBeastX> ^_^
[14:35:46] <GodBeastX> does origin even offer help to you guys?
[14:35:48] <Colourless> by we do know that u8's gump system was a reasonably complete windowing system
[14:36:16] <Colourless> the original only helps with gameplay and usecode stuff
[14:36:59] <Colourless> as far as we can tell, the u8 editor was in engine and used gumps (the editor interface components are included in the games data files)
[14:37:17] <Colourless> a usecode debugger was also inplemented in the original using gumps
[14:37:55] <Colourless> the crusader games would have been the same
[14:38:05] <Colourless> even though we don't have any direct evidence of it
[14:40:52] <GodBeastX> hmmm
[14:41:13] <GodBeastX> so in order to build wilderness they needed the forest gump :P
[14:42:16] <Colourless> you are heading down the slipery slope to kick-bansville :-)
[14:42:22] <GodBeastX> heheh
[14:42:39] <GodBeastX> I would have kick banned me already for such a horrid joke
[14:42:52] <GodBeastX> reading file spec docs
[14:45:13] <Colourless> things might not be entirely upto date
[14:46:01] <Colourless> also, somethings may not be entirely defined in the docs. such as the usecode format. most of that is documented in the sourcecode itself
[14:47:32] <GodBeastX> hmmm
[14:47:40] <GodBeastX> you guys get sfx decompressed yet?
[14:47:54] <Colourless> yes we can
[14:48:08] <GodBeastX> k, that docs must be out of date too ^_^
[14:48:48] <Colourless> u8sfxfmt.txt says how to do it
[14:49:07] <GodBeastX> in th cvs?
[14:49:14] <Colourless> yes
[14:49:17] <GodBeastX> I just downloaded source from web site
[14:49:25] <GodBeastX> let me cvs out the current source
[14:49:42] <Colourless> no need.
[14:49:53] <Colourless> this is what i added to the file"
[14:50:00] <Colourless> The sounds are indeed compressed with Sonarc. dcmpsound (included with
[14:50:03] <Colourless> pentagram) can be used to decompress the sounds. This is done by calling the
[14:50:03] <Colourless> DCMP8 function within U8.EXE and getting it to decompress the sounds for us.
[14:51:16] <Colourless> In case you are wondering. I wrote a x86 emulator that can execute the decompression function in u8.exe to decomporess the sounds
[14:51:52] <GodBeastX> heheh
[14:51:59] <GodBeastX> I wrote an x86 emulator too
[14:52:22] <GodBeastX> it was to figure out the compression schemes on second reality
[14:52:43] <GodBeastX> someone who worked with me on it was trying to crack that program (he said he succeeded now)
[14:52:55] <Colourless> neat
[14:53:12] <GodBeastX> now we're working on an operating system
[14:53:45] <Colourless> my emulator is pretty simple because it didn't need to support anywhere near the full set of opcodes
[14:54:37] <GodBeastX> well, we keep working on ours
[14:55:18] <GodBeastX> tring to get through the video bios now, but they keep pulling pentium opcodes out, and we are trying not to emulate pentium, need to rip a trident bios or something
[14:57:34] <Colourless> my emulator also has the ability to function as a disassembler... i know what you are thinking.... :-)
[14:57:57] <GodBeastX> you do?
[14:58:16] <Colourless> yes... wow... ok maybe not :-)
[14:58:26] <GodBeastX> what did you think I was thinking?
[14:58:48] <GodBeastX> I forgot the CVSROOT for sf
[14:58:50] <GodBeastX> lol
[15:29:20] --> exultbot has joined #pentagram
[15:29:20] --- Topic for #pentagram is: http://pentagram.sf.net/
[15:29:20] --- Topic for #pentagram set by wjp at Thu Sep 4 15:48:28 2003
[15:29:27] --> wjp has joined #pentagram
[15:29:27] --- ChanServ gives channel operator status to wjp
[15:29:44] <wjp> out of curiosity, was exultbot here until ~1 minute ago?
[15:30:11] <Colourless> yes
[15:30:20] <wjp> as exultbot_, probably?
[15:30:25] <Colourless> \[00:58] *** exultbot_ (~exultbot@132.229.229.83) Quit (Remote closed the connection)
[15:30:26] <Colourless> [00:59] *** exultbot (~exultbot@84e5e553.math.leidenuniv.nl) has joined #pentagram
[15:30:31] <wjp> ok
[15:30:32] <wjp> good :-)
[15:30:45] * wjp silently sneaks out again ;-)
[15:30:49] <wjp> (going home; bbl)
[15:30:53] <-- wjp has left IRC (Client Quit)
[15:30:57] <Colourless> uh... ok\
[15:32:23] <GodBeastX> heheh
[15:46:39] --> wjp has joined #pentagram
[15:46:39] --- ChanServ gives channel operator status to wjp
[15:47:10] <wjp> back
[16:23:32] <-- GodBeastX has left #pentagram ()
[16:49:11] <Colourless> 2/whois Colourless
[16:49:58] <wjp> don't know yourself? :-)
[16:50:06] <Colourless> quiet
[16:50:28] <Colourless> i had a reason to whois myself
[16:57:28] <wjp> somehow I expected that :-)
[17:37:57] <wjp> I feel this strange urge to code on #pentagram a bit
[17:38:25] <Colourless> #Pentagram??
[17:38:28] <wjp> (I also feel a bit of an urge to clear out the Cloakwood Mines..., but I'll leave that until later :-) )
[17:38:48] <wjp> um, interesting typo :-)
[17:39:01] <wjp> let's not analyze that too deeply :-)
[17:39:11] <-- Fingolfin has left IRC ("42")
[17:39:39] <Colourless> which mine was that?
[17:39:46] <Colourless> the 2nd one?
[17:39:49] <wjp> yes
[17:39:52] <wjp> Nashkel was the first
[17:40:37] <wjp> in Nashkel you kill Mulaney; in the Cloakwood mines it's Travaeon (sp?)
[17:40:44] <Colourless> nashkel was a nice place for a bow user,,, lots and lots of fire arrows :-)
[17:41:06] <wjp> that's how I remembered it too, but I only found 10-20
[17:41:24] <wjp> Firewine bridge is fairly nice for fire arrows too, IIRC
[17:41:39] <wjp> (but I didn't do that dungeon yet except for the 'boss')
[17:42:02] <Colourless> you could only stack 20 arrows in bg1 correct?
[17:42:06] <wjp> yes
[17:42:38] <Colourless> which really wasn't enough
[17:43:03] <wjp> I'm cheating a bit this time... using area maps with notes to quickly visit all the interesting spots... fully exploring those maps would take too much time :-)
[17:43:26] <wjp> no, 20 isn't nearly enough
[17:43:27] <Colourless> :-)
[17:43:52] <Colourless> i remember going through all my arrows all the time in bg
[17:44:00] <wjp> yeah...
[17:44:19] <wjp> I had every party member fill up their quivers with arrows, and still not have enough :-)
[17:44:47] <wjp> just a matter of taking frequent trips into town, though
[17:44:59] <Colourless> yeah
[17:45:13] <wjp> (good chance to get rid of all those gems/rings/necklaces, too :-) )
[17:45:40] <Colourless> ah that brings back memories
[17:46:04] <Colourless> all my companions would have their inventories filled with arrows or 'loot'
[17:46:11] <wjp> indeed :-)
[17:46:36] <wjp> and potions
[17:46:49] <Colourless> and they would probably all be wearing 2 rings, and a necklace
[17:47:47] <wjp> anyway, %pentagram :-)
[17:48:24] <wjp> specifically some FileSystem stuff
[17:49:03] <wjp> things that Would Be Nice(tm)... allowing overriding of arbitrary files transparently,
[17:49:13] <wjp> possibly allowing overriding of parts of flex files
[17:49:28] <wjp> transparently unzipping/unflexing archives
[17:50:06] <Colourless> yeah would be nice
[17:50:17] <Colourless> my 'memory' file stuff sort of manages some of that
[17:50:20] <wjp> adding the second to the first would need the third :-)
[17:50:59] <Colourless> of coures it's hardly in a state that is really efficent
[17:51:17] <wjp> that raises the question if we want to use 'transparent access' for all flex access
[17:52:02] <Colourless> what might be an idea for is to generate a sort of directory tree
[17:53:13] <Colourless> full transparent access: not sure, but it could be useful
[17:53:43] <wjp> would need some semi-intelligent caching logic
[17:53:47] <Colourless> of course, it could be something that it wouldn't be automatic
[17:54:05] <Colourless> you'd need to explicitly state you want to access a flex by filesys
[17:55:58] <wjp> like 'mounting' a flex/zip to a directory?
[17:56:06] <Colourless> yes
[17:56:30] <wjp> transparent overrides would have to be at this level somewhere too
[17:56:49] <wjp> doing this right would prevent the ad-hoc patch things in exult
[17:57:04] <wjp> (doing an override manually for nearly each file)
[17:57:58] <Colourless> yes, doing it 'right'
[17:58:45] <Colourless> doing partial flex and zip overiding, would probably require generating a list of the files in each zip
[17:59:25] <Colourless> and then mounting those to the dir tree, and then contain a 'pointer' of some sort to the zip/flex that contains them
[17:59:45] * wjp nods
[18:01:10] <Colourless> a useful property is that the data files need not all be in 1 huge file
[18:01:43] <Colourless> that is, you could have shapes.flx split into multiple files
[18:02:03] <wjp> yes
[18:02:06] <Colourless> and then they could then all be mounted into a single virtual dir in pentagram
[18:02:42] <wjp> and conversely it might become possible to put multiple data files in a single file
[18:03:08] <wjp> (if you have a 'patch' that modifies some usecode, some shapes, some globs, ...)
[18:03:08] <Colourless> many games do things like that, such as quake3. it automatically mounts all pk3 files in the baseq2 dir into it's internal filesystem
[18:03:30] <Colourless> each pk3 of course is just a zip file
[18:04:02] <Colourless> s/baseq2/baseq3/
[18:05:43] <Colourless> i'm thinking that the zip files should probably contain dirs in them
[18:06:12] <Colourless> so all shapes from shapes.flx would say go into a shapes dir in the zip. That way patches could contain multiple data types
[18:06:54] <Colourless> in the end, i don't actually care to much if flexes become part of the file system
[18:07:02] <Colourless> if we require, we could just compress the flexes
[18:07:07] <Colourless> into zip
[18:07:31] <wjp> if done right (again :-) ), doing flex support if we have zip support shouldn't be too much work
[18:07:39] <Colourless> yeah
[18:08:10] <wjp> of course flexes have the issue that the contents don't necessarily have filenames
[18:08:26] <Colourless> no. some do sort of
[18:08:38] <Colourless> but never indexed the same way :-)
[18:08:39] <wjp> savegame-style flexes
[18:09:26] <Colourless> usecode flex has the list of class names. sound flex has list of filename. voice flex sort of lables all the files with a phrase (in effect a filename)
[18:09:37] <Colourless> the music flex actually does contain all the filesnames for the indices
[18:09:56] <Colourless> though it's in a text file, that needs to be parsed anyway
[18:09:59] * wjp nods
[18:10:13] <wjp> the text file with the transitions, right?
[18:10:19] <Colourless> yes
[18:11:31] <Colourless> the thing about it all though, all the game data references everything by index, so filename isn't too useful >-)\
[18:11:39] <Colourless> uhhh.... :-)
[18:11:46] <wjp> interesting smiley :-)
[18:12:00] <Colourless> yes it was wasn't it :-)
[18:12:10] <Colourless> finger slipped *2
[18:12:38] <Colourless> from : to > and enterr + \
[18:27:18] <wjp> so what do we need on a class-level? There'd have to be a Directory, a File
[18:27:40] <wjp> and something that can turn some Files into Directories
[18:28:50] <Colourless> that would be a nice 'overview' of the system :-)
[18:30:06] <Colourless> i'm thinking that the current virtual directory system be ripped out, in case you hadn't have guessed
[18:30:26] <wjp> all 10 lines of code it's composed from? :-)
[18:30:42] <Colourless> ony 10?
[18:30:50] <Colourless> s/ony/only/
[18:31:13] <wjp> well, ok, it's probably a bit more
[18:32:03] <Colourless> :-)
[18:33:14] <Colourless> it's like at least 100 lines :-)
[18:33:23] <wjp> wow, that many?
[18:33:54] <Colourless> AddViertualPath is pretty huge
[18:34:28] <wjp> not much 'real' code though
[18:34:36] <Colourless> no :-)
[18:34:51] <wjp> the first half is just some checks
[18:35:52] <Colourless> and then the rest is just mostly attempting to split the path into individual dirs
[18:43:17] <wjp> so we'll need to decide on an interface to the filesystem
[18:43:45] <wjp> how would you access a file?
[18:44:27] <Colourless> to just read from it generically?
[18:44:30] <wjp> yes
[18:44:51] <wjp> (i.e., which path-system do we use to identify files and parts of files)
[18:46:33] <Colourless> i don't really undeerstand what you mean exactly with 'path-system'
[18:47:04] <wjp> currently we use '@u8/static/shapes.flx' and then manually get shape 1 from that
[18:48:23] <Colourless> and you want to know how to do that with mounted flexes?
[18:48:53] <wjp> well, just wondering if you had any preference for a particular scheme :-)
[18:49:06] <Colourless> no, not really
[18:49:26] <Colourless> i would think something like '@u8/static/shapes/1.shp'
[18:49:53] <Colourless> now there is some flex funcionality that would be lost
[18:50:05] <Colourless> such as getting the total number of shapes\
[18:50:15] <Colourless> that of course would be the number of .shp files in the dir
[18:50:26] <wjp> enumerating them by index?
[18:50:38] <Colourless> and yes, that too
[18:51:03] <Colourless> but, that sort of stuff can be taken into account
[18:51:35] <Colourless> when we create the ShapeFlex file (which wouldn't really be a flex anymore), we'd get the number of shp files for the correct dir
[18:52:22] <Colourless> enumerating by index 'could' be a feature of filesystem
[18:53:33] <wjp> in the case of flexes we could also only allow numbered files
[18:54:21] <Colourless> such as it will automatically create a sting array that would contain the filenames of each index. It could be automatically generated from files whose filename are puerly numerical
[18:54:41] <Colourless> or maybe use a format such as NUM-Some Description.ext
[18:54:55] <Colourless> or NUM.Description.ext
[18:55:19] <wjp> possibly; you do need a unique identifying number for use in data files in any case
[18:56:10] <Colourless> could also use an 'index' file :-)
[18:56:19] <Colourless> for non flexes that is
[18:56:48] <Colourless> but i would prefer another method
[18:56:51] <wjp> don't really like the idea of index files; it moves file descriptions away from files
[18:56:53] <Colourless> it's annoying to have to create index files
[19:55:27] <wjp> time to go; I'll have to think about this a bit more :-)
[19:55:41] <Colourless> CYA
[19:55:59] <-- wjp has left IRC ("gtg")
[20:23:21] <-- Colourless has left IRC ("casts invisibility")