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

Archive Today Yesterday Tomorrow
Pentagram homepage


[01:02:20] --> Kirben has joined #pentagram
[01:02:20] --- ChanServ gives channel operator status to Kirben
[01:32:45] --> Servus has joined #pentagram
[01:51:18] <-- Dark-Star|away has left #pentagram ()
[08:19:07] --> Kirben2 has joined #pentagram
[08:20:50] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[10:23:33] <-- Servus has left IRC ()
[10:28:14] --> wjp has joined #pentagram
[10:28:14] --- ChanServ gives channel operator status to wjp
[10:44:04] --> Kirben has joined #pentagram
[10:47:50] <-- Kirben2 has left IRC (calvino.freenode.net irc.freenode.net)
[10:51:36] --> Kirben2 has joined #pentagram
[10:53:33] <-- Kirben2 has left IRC (calvino.freenode.net irc.freenode.net)
[12:59:47] <-- Kirben has left IRC ("System Meltdown")
[13:08:35] --> Colourless has joined #Pentagram
[13:08:35] --- ChanServ gives channel operator status to Colourless
[13:26:37] --- Colourless is now known as Cless|Away
[14:51:28] --- Cless|Away is now known as Colourless
[15:52:54] <wjp> since I'm currently mixing fixed/nonfixed items in the CurrentMap class, we'll need some way to un-mix them again
[15:53:05] <wjp> item flag?
[15:53:17] <wjp> 'from_fixed' or something?
[15:53:29] <wjp> (or was the already existing FIXED flag meant for that?)
[15:54:17] <Colourless> there is a fixed flag?
[15:55:20] * wjp nods
[15:55:37] <wjp> old's ShapeInfo has an 'is_fixed()' (returns the LSB from data[0])
[15:56:00] <wjp> gah
[15:56:02] <wjp> silly me
[15:57:22] <wjp> there's a fixed typeflag, but we probably can't assume that fixed items only occur in fixed and non-fixed only in nonfixed
[15:57:46] <Colourless> i'm guessing the original editor put fixed in fixed.dat and nonfixed in nonfixed.dat
[15:57:58] <Colourless> we 'could' do a check on load
[15:58:07] <Colourless> globeggs though can be in either...
[15:58:36] <Colourless> i say add our own flag. it's the only way to be really sure
[15:59:13] <wjp> how much do we know about the flags field in an Item?
[16:00:09] <wjp> snippets.txt has some possible flags
[16:00:09] <Colourless> the snippets file has all we know :-)
[16:00:12] <wjp> k :-)
[16:00:25] <Colourless> i have mostly confirmed those to be correct
[16:00:28] <wjp> we can use the upper 16 bits for whatever we want, I guess
[16:00:31] <Colourless> there might be some missing ones though
[16:00:58] <Colourless> problem though is we don't know what the usecode does with the flags in regards to 16bit vs 32bit
[16:01:18] <wjp> I guess there are flag-manipulating intrinsics?
[16:01:20] <Colourless> of course it's not really a problem
[16:01:35] <Colourless> usecode grabed all the flags and did the bitwise stuff itself
[16:02:10] <Colourless> but the upper 16 bits, if the usecode intrinsics don't use them, could be kept intact
[16:02:34] <wjp> that's slightly counter-intuitive, though
[16:02:49] <wjp> a separate internal_flags (or something) field may be better
[16:04:27] <Colourless> i think extented_flags would be a better name
[16:05:43] <wjp> or extended_flags ;-)
[16:06:29] <wjp> btw, any idea why I made quality a uint16 and not a uint32? (I really can't remember :-) )
[16:07:24] <Colourless> i don't recall a reason
[16:07:42] <wjp> I guess since it'll be mostly used by usecode there's not much reason for it to be 32 bits, though
[16:08:26] <Colourless> ah yes that could be a problem
[16:08:45] <Colourless> that could be a problem for most things. usecode expects it all as 16 bit ints
[16:08:56] * wjp nods
[16:09:41] <wjp> yes... unless we want to extend usecode sometime, there's not much point in having shape/frame/x/y/z/flags/npcnum/mapnum be 32 bits
[17:36:22] <wjp> hm, this mushroom mode looks interesting too :-)
[17:36:56] <Colourless> :-)
[17:38:34] <wjp> there, committed 'fixed' loading code too
[17:38:46] <wjp> it should now theoretically be able to load the entire map
[17:55:25] <Colourless> time for me to go
[17:55:26] <Colourless> cya
[17:55:28] <-- Colourless has left IRC ("casts invisibility")
[17:56:02] --> Dark-Star has joined #pentagram
[18:31:06] <Dark-Star> is there some tool to create a gamedat/nonfixed.dat from the initial (save)game?
[18:36:39] <wjp> yeah
[18:36:50] <wjp> in the 'old' module there's an u8saveextract tool
[18:37:17] <wjp> or maybe I should just have it read nonfixed.dat directly from u8save.000
[18:37:36] <Dark-Star> aah ok. BTW, what does the "tools/fold" stuff do?
[18:37:55] <wjp> usecode decompiler in progress
[18:40:41] <Dark-Star> yeah, guessed something like that. this stuff looks pretty advanced to me :-)
[18:41:55] <Dark-Star> seems like you're basically converting binary usecode to some graph-like structure for interpretation/parsing?
[18:42:34] <wjp> I haven't actually looked at fold's internals
[18:42:55] <wjp> it's Darke's work
[18:52:58] <Dark-Star> is that Correct Behaviour that pentagram spits out thousands of "couldn't create item...." lines?
[18:53:23] <wjp> correct, no; expected, yes :-)
[18:53:39] <wjp> it can't create eggs yet
[18:53:41] <Dark-Star> well, that's what I meant. so it's still WIP ...
[18:54:34] <wjp> hm, I might as well load nonfixed/itemcach/npcdata straight from u8save.000
[18:55:31] <Dark-Star> or create them if they don't exist...
[18:55:45] <wjp> nah, we don't want to create them
[18:56:05] <wjp> the gamedat system is something we kind of want to avoid
[18:56:20] <Dark-Star> maybe the filesystem object could be extended to look inside savegame files...
[18:57:48] <Dark-Star> like another virtual path specifically for these 4 files. it doesn't even have to apperar in the config file because it's always in the same place
[18:58:31] <Dark-Star> relative to the @u8 dir that is
[18:58:55] <wjp> that would be a possibility, yes
[19:20:14] <wjp> hm, crusader doesn't seem to have an u8save.000-equivalent
[19:27:49] <Dark-Star> where does crusader get the initial savegame from?
[19:28:00] <wjp> I wish I knew
[19:28:22] <wjp> and I don't really want to implement the initial savegame stuff without having the full picture
[19:28:25] <wjp> (which includes crusader)
[19:31:48] * wjp pokes DarkeZzz; still up? :-)
[19:38:51] * Dark-Star searches for his crusader disks...
[20:28:53] <wjp> are there even non-fixed items in crusader?
[20:29:36] <wjp> a grep through the full cd showed that only crusader.exe and install.exe contain the word 'nonfixed'
[20:29:44] <Dark-Star> dunno, it's been a loooooong time since I played crusader...
[20:30:12] * wjp looks for some screenshots online
[20:30:43] <Dark-Star> in U8 the only other file where nonfixed appears is the savegame. maybe they're only handled different by crusader?
[20:31:34] <wjp> but how? :-)
[20:36:04] <Dark-Star> too bad that crusader won't run under XP...
[20:36:38] <wjp> does the tool for making u8 run work for crusader too?
[20:37:36] <Dark-Star> it should, because the error is the same. now from where did I download that again...
[20:37:47] <wjp> there's a link from the exult page
[20:43:22] <Dark-Star> doesn't seem to work. it patches the exe file so it needs to be adapted for crusader.
[20:43:50] <wjp> pity :/
[20:48:06] <Dark-Star> hmm the error code seems to be "Segment not present"... I wonder it it works in Bochs/VmWare...
[20:48:28] <wjp> hm, are you familiar with bochs?
[20:49:49] <Dark-Star> well, I downloaded it once and tried it, but that was some time ago :)
[20:50:08] <wjp> I seem to be unable to create a disk image to actually do something with
[20:56:46] <Dark-Star> hmm there are disk images for download on the homepage, tried these?
[20:56:59] <wjp> yeah, the freedos image works fine
[20:57:17] <wjp> but there's only about 3Mb of free space on it
[20:58:53] <Dark-Star> i'm dl'ing everything ATM to try myself... although I wonder how to get 50 mb of data into a disk image when I can't access my host disk...
[21:01:48] <Dark-Star> hmm... it *should* be possible to loop-mount the disk image under linux...
[21:02:03] <wjp> yes, once you have one
[21:04:30] <Dark-Star> aah ok, now I see your problem :)
[21:05:07] <wjp> there's a tool 'bximage' which can apparently create an image,
[21:05:13] <Dark-Star> yes, just found that too...
[21:05:19] <wjp> but I can't seem to 'mount' that in bochs as a second drive
[21:05:33] <wjp> (or at least freedos' fdisk doesn't see it)
[21:08:44] <Dark-Star> hmm... same problem here
[21:12:57] <wjp> ok, current CVS doesn't require you to unpack u8save.000 anymore
[21:19:47] <Dark-Star> you fixed the filesystem class? or are you 'just' reading these 4 files from the savegame.000?
[21:19:53] <wjp> the latter
[21:20:24] <wjp> through a nice wrapper class, though
[21:20:42] <Dark-Star> you have bochs installed right now? try using a different BIOS, not the one that's in the freedos archive. that works.
[21:20:57] <wjp> where do I get one of those?
[21:21:17] <wjp> one from the bios/ dir?
[21:21:44] <Dark-Star> I have a BOCHS-bios-latest in the main bochs (i.e. root) dir
[21:22:55] <Dark-Star> I can send it to you if you don't have it. my config file looks like this now:
[21:22:56] <Dark-Star> ata0-master: type=disk, path=c.img, cylinders=306, heads=4, spt=17, translation=none, biosdetect=auto
[21:22:56] <Dark-Star> ata0-slave: type=disk, path=xxx.img, cylinders=120, heads=8, spt=63, translation=none, biosdetect=auto
[21:23:26] <wjp> thanks, that did it :-)
[21:23:53] <Dark-Star> no problem. now I just need to find out how I do a loopback mount in windows ;-)
[21:24:14] <wjp> I think the bochs docs listed a program (ximage? imagex?) that you could use to manipulate images
[21:25:30] <Dark-Star> hmmm... I'll look for it. but if that means that I have to do something like "ximage add d.img crusader/abcd.exe" for every file then I won't do it :-)
[21:25:30] <wjp> ok... partitioned and formatted image... now let's see if I can mount it
[21:25:38] <wjp> :-)
[21:25:56] <Dark-Star> might be a bit problematic because it's not a partition but a whole drive ...
[21:25:59] <wjp> oh, winimage
[21:26:20] <wjp> winimage.com; but it's apparently commercial, with a 30-day trial
[21:27:33] <wjp> yay! it seems to work :-)
[21:27:56] * wjp copies all of QfG4 to the image
[21:34:28] <wjp> hmm... seems I need a mouse driver
[21:34:55] <wjp> the mouse driver I had on my windows partition causes a bios panic in bochs :-)
[21:35:13] <Dark-Star> oh wow... I had a small mouse driver once, let me see if I can dig it out again...
[21:37:16] * wjp googles
[21:37:54] <Dark-Star> CuteMouse: http://homepages.uni-tuebingen.de/student/michael.drueing/download.html
[21:38:01] <wjp> I was just downloading that one :-)
[21:38:13] <wjp> from cutemouse.sourceforge.net, though
[21:39:03] <Dark-Star> well, that version might well be newer than my version. I actually had to google for my old homepage since I forgot the URL :-)
[21:39:10] <wjp> hehe :-)
[21:40:09] <wjp> hm... the good news is that it didn't cause a bios panic
[21:40:29] <wjp> the bad news that it pretty much stopped responding
[21:41:17] <Dark-Star> shouldn't bochs have an included mouse driver or something?
[21:41:33] <wjp> freedos maybe, yes
[21:41:58] <Dark-Star> no, bochs has a config option in the "interface" submenu, "enable the mouse"...
[21:42:28] <wjp> yeah, but that doesn't load a mouse driver; it just passes mouse events to the simulated hardware, AFAIK
[21:48:58] <wjp> the mouse driver from http://publish.uwo.ca/~jdrexler/ultima/u7bochs/ 's image-for-u7 seems to work
[21:56:32] * Dark-Star 'll be away for a while, watching animes :-)
[21:56:38] --- Dark-Star is now known as Dark-Star|afk
[21:56:40] <wjp> hm, not a bad idea :-)
[21:57:16] <Dark-Star|afk> yeah, need to get a good laugh :)
[22:39:58] --> angeleous has joined #pentagram
[22:40:14] <wjp> hi
[22:40:24] <angeleous> hi
[22:44:41] --- Dark-Star|afk is now known as Dark-Star
[22:44:52] <wjp> wb
[22:44:55] <Dark-Star> re
[22:45:18] <Dark-Star> ok, now for the daily CVS updates ...
[22:45:54] <angeleous> What is pentagram ?
[22:46:12] <wjp> a game engine-in-progress for Ultima 8
[22:46:39] <angeleous> any url ?
[22:46:45] <wjp> http://pentagram.sf.net/
[22:46:51] <wjp> not much there atm, though
[22:46:52] <angeleous> thnx
[22:48:22] --- wjp has changed the topic to: Pentagram: a game engine for Ultima 8 - http://pentagram.sf.net/
[22:48:30] <wjp> that topic joke was getting old :-)
[22:50:49] <Dark-Star> I liked the "It's an Action RPG Operating System" one :-)
[22:50:56] <-- angeleous has left #pentagram ()
[22:51:05] <wjp> that was the one that went missing, wasn't it?
[22:51:19] <Dark-Star> yes I think
[22:51:26] <wjp> feel free to change the topic :-)
[22:51:43] <wjp> #pentagram appears to be -t at the moment anyway
[22:51:46] <Dark-Star> oh, the +t flag isn't there anymore :-)
[22:58:49] <Dark-Star> hmm.. pentagram crashes on the german version of U8 (renaming gusecode.flx to eusecode.flx seems unsupported :-)
[22:59:24] <wjp> hm, it's not supposed to do that :-)
[22:59:30] <wjp> (crash, I mean :-) )
[22:59:36] <Dark-Star> i'll track it down a bit
[23:00:35] <Dark-Star> seems like there's some overrun or something, the last lines of output look like this:
[23:00:39] <Dark-Star> sp = FFFFFC66; 2C9D: 00 pop byte [BP-44h] = 00h
[23:00:39] <Dark-Star> sp = FFFFFC64; 2C9F: 01 pop [BP+02h] = 0000h
[23:00:39] <Dark-Star> sp = FFFFFC62; 2CA1: 01 pop [BP+08h] = 0000h
[23:00:39] <Dark-Star> sp = FFFFFC60; 2CA3: 00 pop byte [BP-58h] = 00h
[23:00:39] <Dark-Star> sp = FFFFFC5E; 2CA5: C1 unhandled opcode C1
[23:00:40] <Dark-Star> sp = FFFFFC5E; 2CA6: 43
[23:01:46] * wjp extract german U8 from cd
[23:01:49] <wjp> s/ct/cts/
[23:01:55] <Dark-Star> //! guard against reading past end of class
[23:02:01] <wjp> :-)
[23:02:03] <Dark-Star> that's the problem I guess :)
[23:02:16] <wjp> well, it shouldn't be
[23:02:21] <wjp> that should only matter for broken usecode
[23:02:43] <Dark-Star> it tries to read an opcode in UCMachine.cpp #99, which fails
[23:03:38] <wjp> grrr... cd has the compressed u8shapes.cmp
[23:03:39] <Dark-Star> hmmm I think the class id and offset it tries to run might just be wrong...
[23:03:50] <wjp> oh, that could very well be, yes
[23:04:13] <wjp> I didn't default it to a 0x80 offset, I guess?
[23:05:01] <wjp> try running "pentagram 401 80"
[23:06:08] <Dark-Star> no it started with 0581:28f9, I changed it to 0581:0ef8 and now it works :)
[23:06:34] * wjp nods; good :-)
[23:06:41] <Dark-Star> btw the shapes should be the same with german and english U8
[23:06:53] <wjp> yeah, I linked the english one to the german dir
[23:07:52] * wjp tries his unpackshp tool anyway, just for fun :-)