#nuvie@irc.freenode.net logs for 5 Jul 2003 (GMT)

Archive Today Yesterday Tomorrow
Nuvie homepage


[00:47:05] <-- ChanServ has left IRC (Shutting Down)
[00:47:13] --> ChanServ has joined #nuvie
[02:47:11] --> SB-X has joined #nuvie
[02:51:04] --> Kirben has joined #nuvie
[03:40:12] --> Yuv422 has joined #nuvie
[03:44:30] <Yuv422> hehe I've just read Pieter's bug report.
[03:45:01] <Yuv422> I miss-spelled the project name in ProjectBuilder and never noticed
[03:48:19] <SB-X> hi
[03:48:29] <SB-X> i didn't see it
[03:48:31] <Yuv422> hey
[03:48:42] <SB-X> i noticed you mispelled the name in the source files
[03:48:48] <SB-X> some of them
[03:48:51] <Yuv422> hehe I guess we are too close to the source to notice
[03:48:52] <SB-X> but that had no consequence
[03:49:20] <SB-X> i just never looked at PBBuild
[03:50:15] <Yuv422> hehe New Ultima 4 engine. ;)
[03:51:38] <SB-X> i wonder if someone could remake one of the older ones with nuvie
[03:51:44] <SB-X> after its finished
[03:51:57] <Yuv422> hmm maybe
[03:54:59] <Yuv422> 69 occurrences of Nuive
[03:56:40] <SB-X> ooh
[03:56:49] <SB-X> ProjectBuilder generated the headers?
[03:56:56] <Yuv422> yes
[03:57:06] <SB-X> thats worse
[03:57:07] <SB-X> :)
[03:57:26] <Yuv422> get ready for an interesting cvs email. ;)
[03:57:42] <SB-X> i thought maybe Nuive was copy-pasted to a few of them but not to all of them
[04:01:26] <Yuv422> I sit here looking at these files all the time and I never noticed... what does that say!? ;)
[04:03:53] <Yuv422> hmm you might get a few emails soon SB-X. ;)
[04:06:14] <SB-X> i forgot to add to the changelog again
[04:06:15] <SB-X> last week
[04:06:51] <SB-X> our changelog will never compare to pentagram's at that rate
[04:07:52] <Yuv422> yes ChangeLog... ;)
[04:10:40] <Yuv422> have you looked at the other bugs today SB-X?
[04:11:18] <Yuv422> loaded up new/fresh game, talked to Nystul, pressing
[04:11:18] <Yuv422> enter on the arrow prompts, "Dost thou have the stone
[04:11:18] <Yuv422> that opened the gate?" with the spinning Ankh comes up.
[04:11:18] <Yuv422> Game doesn't react to Y (or anything else).
[04:11:18] <Yuv422>
[04:11:18] <Yuv422> Closing the nuvie window at this point causes a 'crash'
[04:11:20] <Yuv422> (error log is being dumped)
[04:11:23] <SB-X> no i last looked a few days ago
[04:11:34] <Yuv422> this might be a msgscroll issue.
[04:11:42] <SB-X> it does it on any conversation
[04:11:49] <SB-X> when theres a prompt
[04:11:50] <SB-X> i think
[04:14:45] <SB-X> i should say, it does segfault when that happens
[04:15:12] <Yuv422> hmm yeah I've seen it segfault when closing via the window manager
[04:15:18] <Yuv422> I haven't looked into it yet.
[04:15:27] <SB-X> Nystul responds to Y for me
[04:16:14] <SB-X> well, "y"
[04:16:39] <SB-X> 0x79
[04:16:44] <SB-X> not "Y" 0x59
[04:17:24] <Yuv422> how do we handle single char input?
[04:17:26] <Yuv422> I forget
[04:18:18] <SB-X> bool MsgScroll::handle_input(SDL_keysym *input);
[04:18:27] <SB-X> input->sym
[04:18:43] <Yuv422> maybe we could just tolower all input?
[04:23:49] <SB-X> yes that would be fine
[04:23:57] <SB-X> it already does toupper() after input
[04:24:00] <SB-X> for single characters
[04:24:25] <SB-X> i tested in the original and it works whether you have Shift held or not
[04:24:26] <Yuv422> ah but shift might be considered a keypress
[04:24:33] <Yuv422> in Nuvie
[04:24:54] <SB-X> it still mods the characters
[04:24:57] <SB-X> for SDL
[04:26:10] <Yuv422> hmm
[04:26:19] <Yuv422> I wonder what the problem is then.
[04:26:30] <SB-X> the tolower() thing
[04:26:35] <SB-X> like you said
[04:26:45] <SB-X> because it only checks for "yn" :)
[04:26:50] <Yuv422> right
[04:40:32] <SB-X> is SE's talk.lzc compressed?
[04:57:06] <Yuv422> haven't checked
[04:57:09] <Yuv422> probably
[04:57:32] <Yuv422> do you have permission to change bug status?
[04:58:09] <SB-X> i didn't for 765879
[05:05:35] <-- ChanServ has left IRC (Shutting Down)
[05:05:44] --> ChanServ has joined #nuvie
[05:06:25] <SB-X> im just now making the talk interpreters for different games
[05:06:38] <Yuv422> cool
[05:06:38] <SB-X> with ConverseInterpret as base
[05:11:13] <Yuv422> what do you think should be next
[05:11:18] <Yuv422> after file classes are in
[05:11:44] <Yuv422> game save system. or work on actors pathfinding party movement etc.?
[05:11:56] <Yuv422> or somthing else?
[05:12:15] <Yuv422> or maybe I should fix up the gump system?
[05:12:32] <Yuv422> or fix the tile drawing?
[05:12:40] <Yuv422> argh so much to do. ;)
[05:16:12] <Yuv422> I've got to go out for a bit
[05:16:14] <Yuv422> bbl
[05:16:16] <Yuv422> cya
[05:16:19] <SB-X> oops
[05:16:23] <SB-X> cya
[05:16:26] <SB-X> and pathfinding
[05:16:26] <Yuv422> huh?
[05:16:29] <SB-X> i was afk
[05:16:31] <SB-X> heh
[05:16:46] <SB-X> or tile drawing
[05:17:07] <SB-X> with tile drawing you know exactly how its going to be implemented already
[05:17:17] <SB-X> ok cya
[05:17:23] <Yuv422> I guess tile drawing is quite important
[05:17:25] <Yuv422> cya
[05:17:26] <-- Yuv422 has left IRC ("BitchX: stays crunchy in milk!")
[05:23:35] <-- ChanServ has left IRC (Shutting Down)
[05:23:44] --> ChanServ has joined #nuvie
[06:33:32] --> Pieter_ has joined #nuvie
[06:34:53] <SB-X> hello
[06:34:57] <Pieter_> Hi..
[06:35:35] <Pieter_> I guess I have the doubtfull honor of reporting the bug that needed most files changed...
[06:36:16] <SB-X> oh thanks
[06:36:19] <SB-X> it was a good one :)
[06:37:00] <Pieter_> Is there an easy way to get all the old irc logs (or do I just request them from willem's site one by one) I'm thinking of compiling some sort of document to help get people up to speed with the dev.
[06:38:16] <Pieter_> I was reading back a bit about how you were figuring out the conversation stuff bit by bit, trying to figure out if I could find why it would hang.. interesting read
[06:38:31] <SB-X> you could request them archived from willem, but I don't know if they will be available like that right now
[06:39:29] <Pieter_> I'll do that then. "Bij deze..."
[06:40:19] <Pieter_> I guess it will take a while before I'm fluent enough with the project to actually be able to contribute real stuff.
[06:42:04] <Pieter_> Might as well try to make some notes as I go along, could be helpful if anyone else wants to join in with the development to have some sort of list of 'we do this because x', 'Y is a hack, but we have to because we don't know z' etc.
[06:43:14] <SB-X> I'm sure it would be welcome.
[06:44:10] <SB-X> It isn't too hard to figure out now
[06:45:20] <SB-X> weve got the main classes which are centered around Game, and then other classes that provide functions or objects or object management to them
[06:45:59] <Pieter_> The biggest problem I had when I was working on code for a mud a few years ago, was that people were constantly reinventing the wheel. Of course their wheels would not be as round as the existing ones...
[06:47:33] <SB-X> That is almost entirely what we do as a remake project isn't it?
[06:48:24] <SB-X> We don't know the actual methods the original used, we just make them up to implement the same functionality.
[06:48:38] <Pieter_> Yeah... is any one actually looking inside the old executable code, or would that be 'cheating'?
[06:48:46] <SB-X> hehe
[06:49:11] <SB-X> I don't think anyone on the team has looked at it.
[06:49:43] <SB-X> But I don't know about the people who originally discovered the file formats, they may have done things like that.
[06:50:10] <SB-X> The U6 game exe is compressed.
[06:52:40] <SB-X> But the string constants are visible so I was able to extract that (for reference).
[06:55:19] <Pieter_> I guess the first bit of the executable would be something to uncompress the rest on the fly? might be possible to split that part of (comparing two files compressed in the same way), and first puzzle out how it works, then uncompress the whole thing.. I have to get my house redecorated so I can justify spending more time on 'playing with the computer' to try those kind of things out.
[06:57:11] <Pieter_> Hmm seems that there are uncompressors out there already for various common exe-packers...
[06:57:28] <SB-X> Yes I believe it can be unpacked already.
[06:57:44] <SB-X> I havn't looked into it.
[06:58:10] <Pieter_> too many interesting things to do...
[06:58:55] <SB-X> I don't know if MD fonts are working yet but that is one thing Yuv422 was still trying to find, and fonts.lzc was not completely decoded yet.
[06:59:35] <SB-X> But thats how we figured anything out so far, just looking at the files, and testing in the original.
[07:00:34] <Pieter_> Changing things, to see what would break.
[07:01:09] <SB-X> One way to do it.
[07:01:42] <SB-X> Or adding custom dialogue to NPC's in u6 :)
[07:14:33] <Pieter_> read through your u6converse.txt; making a script decompiler/compiler seems like a nice sub-project. I might be able to do some work on that.
[07:15:09] <Pieter_> any way, have to go now; 'bye'
[07:16:04] <SB-X> bye
[07:17:51] <-- Pieter_ has left IRC ("BitchX: strong enough for a man, pH-balanced for a woman")
[07:29:17] --> Yuv422 has joined #nuvie
[07:40:48] <SB-X> wb Yuv422, the person who reported Nuive was here
[07:40:56] <Yuv422> ah k
[07:41:03] <Yuv422> :)
[07:41:13] * Yuv422 reads the logs
[07:41:38] <Yuv422> game.exe is an exepack
[07:41:45] <Yuv422> I think that's what it was called
[07:41:47] <Yuv422> I forget
[07:43:02] <Yuv422> nodling did alot of in game debugging to get most of his U6 info
[07:43:26] <Yuv422> servus did some work on ladders while debuggin the game.exe.
[07:43:47] <Yuv422> It's a bit hard for me on my mac. ;)
[07:44:00] <Yuv422> most old dos debuggers don't like playing with bochs
[07:44:26] <Yuv422> dosbox runs u6 on OS X now. it's quit slow though
[07:44:54] <SB-X> Now I remember about the ladders thing.
[07:49:31] <Yuv422> debugging like that isn't a fun task.
[07:49:40] <Yuv422> I'd only use that as a last resort. ;)
[07:49:49] <Yuv422> some people like it though
[07:50:04] <Yuv422> I guess it gets easier with practice.
[10:25:42] <Yuv422> file class is almost done
[10:36:58] <SB-X> file class?
[10:37:14] <Yuv422> NuvieIOFile
[10:37:15] <SB-X> to work with NuvieIO?
[10:37:20] <SB-X> ok
[10:37:26] <Yuv422> and NuvieIOFileRead and NuvieIOFileWrite
[10:37:38] <Yuv422> they are subclasses of NuvieIO
[10:37:45] <SB-X> for a moment i thought i had slept through a briefing or something :)
[10:37:52] <Yuv422> so you just call methods from a NuvieIO pointer. ;)
[10:37:57] <Yuv422> hehe
[10:38:22] <Yuv422> just putting in the Write methods now
[10:38:45] <SB-X> is there a NuvieIO[Data]Buffer or is that just part of NuvieIO?
[10:38:55] <Yuv422> NuvieIOBuffer
[10:39:00] <SB-X> i remember you mentioning the methods but I mean have you made a new class
[10:39:02] <SB-X> ok
[10:39:57] <Yuv422> so we sould be able to pass U6Lib_n a NuvieIO object
[10:40:02] <Yuv422> and it can unpack it
[10:40:14] <SB-X> what about things using U6File now?
[10:40:22] <Yuv422> and it doesn't care if it's a file or a buffer. :)
[10:40:50] <SB-X> great
[10:41:22] <SB-X> NuvieIOFile->U6File ?
[10:41:59] <Yuv422> yes
[10:42:05] <Yuv422> it will replace U6File
[10:42:31] <Yuv422> you will need to create either NuvieIOFileRead or NuvieIOFileWrite
[10:42:41] <Yuv422> depending on what you want to do
[10:42:50] <SB-X> NuvieIOFileRandom?
[10:42:56] <Yuv422> but you can access them as either NuvieIO or NuvieIOFile
[10:43:06] <Yuv422> hehe if you want
[10:43:40] <SB-X> so everywhere that U6File is used now is going to be changed
[10:43:51] <Yuv422> yes
[10:43:59] <Yuv422> but I'll handle that.
[10:44:08] <Yuv422> it will be basically the same interface
[10:44:21] <Yuv422> just some name changing
[10:45:21] <Yuv422> is there something I should be aware of?
[10:46:20] * SB-X shrugs.
[10:46:26] <SB-X> no i was just curious :)
[10:47:03] <SB-X> its different enough that it can't be typedef'ed or inherited
[10:47:03] <Yuv422> I haven't tested any of this yet. ;)
[10:47:31] <Yuv422> how do you mean?
[10:47:48] <SB-X> just assuming
[10:47:55] <SB-X> is that correct?
[10:48:11] <Yuv422> yes
[10:48:24] <SB-X> okay :)
[10:48:28] <Yuv422> we get rid of those "rb" from all the open calls
[10:48:44] <Yuv422> which will be nice. :)
[10:48:55] <Yuv422> NuvieIO doesn't have an open method
[10:49:05] <Yuv422> that is implemented in the sub classes
[10:49:14] <Yuv422> as it is different for Buffers and Files
[10:49:43] <SB-X> can NuvieIO be used for anything (instantiated)?
[10:49:55] <SB-X> and would that be useful
[10:50:03] <SB-X> something low level?
[10:50:04] <Yuv422> no
[10:50:27] <Yuv422> NuvieIO is basically a virtual class
[10:50:47] <Yuv422> have a look in NuvieIO.h and You'll see what I mean.
[10:50:50] <SB-X> ConverseInterpret is like that now
[10:51:08] <SB-X> i see
[10:51:13] <SB-X> its not like that :)
[10:51:17] <Yuv422> I've doubled up on the files too
[10:51:21] <SB-X> but enough that its abstract
[10:51:25] <Yuv422> so we don't have two files per class
[10:52:22] <SB-X> and your able to point to data from one buffer to another?
[10:52:38] <SB-X> or to another location
[10:52:41] <SB-X> something like that
[10:52:57] <SB-X> bool copied_data;
[10:53:24] <Yuv422> that is set to true if the object copies the data on load
[10:53:35] <Yuv422> otherwise it just takes a pointer to the data.
[10:55:58] <Yuv422> want me to commit what I've got now to show you?
[10:56:10] <Yuv422> it's done, just not tested yet.
[10:57:32] <SB-X> if its not ready i can wait
[10:57:53] <Yuv422> I'll commit now as it's not relied by anything yet.
[10:57:53] <SB-X> im looking at XFce screenshots right now
[10:58:06] <Yuv422> XFce? What's that?
[10:58:17] <SB-X> i might have to try it
[10:58:21] <SB-X> a desktop environment
[10:58:30] <SB-X> for x
[10:58:33] <Yuv422> ah yeah I remember now.
[10:58:35] <Yuv422> C++
[10:58:41] <Yuv422> similar to QT?
[10:59:27] <SB-X> It's based on the GTK+ toolkit version 2.
[10:59:41] <SB-X> QT is a gui toolkit like GTK+
[11:00:32] <Yuv422> gtk+ was frustrating to use. to many callbacks. ;)
[11:00:59] <SB-X> i only worked with tutorial code
[11:01:08] <SB-X> and looked at the source of other gtk+ apps
[11:01:33] <SB-X> QT doesn't use callbacks
[11:01:58] <Yuv422> the problem with gtk is it's not properly objectified.
[11:02:36] <SB-X> theres glib
[11:02:40] <SB-X> what about gtk+2?
[11:03:23] <Yuv422> I haven't used gtk in a long time now. :)
[11:04:55] <Yuv422> ok the file classes are in cvs now
[11:07:38] --> wjp has joined #nuvie
[11:07:59] <Yuv422> time to test the new classes
[11:07:59] <Yuv422> hi wjp
[11:08:46] --> Pieter_ has joined #nuvie
[11:08:59] <wjp> hi
[11:09:06] <Yuv422> hi Pieter
[11:09:10] <Pieter_> hi
[11:10:54] <Yuv422> Pieter_: wjp runs the irc transcripts website.
[11:11:09] <Pieter_> wjp, can you easily export all the irc logs for me to read back, or should I just pull everything through the webinterface?
[11:12:13] <wjp> I just zipped them up: http://www.math.leidenuniv.nl/~wpalenst/nuvielogs.zip
[11:12:49] <Pieter_> got ''m
[11:13:16] <Pieter_> (fumbles around for cables to connect printer)
[11:13:29] <wjp> you want to print them? :-)
[11:13:41] <wjp> any other people interested or can I delete the zip again? :-)
[11:13:50] <Yuv422> Argh! all my ramblings are going to print!?
[11:14:00] <Yuv422> I'm just getting them. :)
[11:14:15] <Yuv422> done
[11:14:37] <Yuv422> thanks Willem
[11:15:20] <wjp> *sigh*.. my webspace is a mess
[11:15:31] <wjp> 180Mb of mostly junk :-)
[11:15:45] <Pieter_> If I can find the right cabling for setting up my 4Si again. I should stop making 'temporary' setups and then borrowing everyhting for the next project from the existing working stuff..
[11:15:55] <Yuv422> I got redirected to some admin page today when I was checking the logs. ;)
[11:16:10] <wjp> really?
[11:16:15] <wjp> still?
[11:16:16] <Yuv422> yup
[11:16:35] <Yuv422> no the next time I tried it was back to normal
[11:16:42] <wjp> weird
[11:16:46] <Yuv422> it said somthing about Apache on redhat.
[11:16:52] <Yuv422> yeah
[11:17:13] <wjp> you're not the first person who mentioned seeing that page on our webserver
[11:17:24] <Yuv422> ah k
[11:17:31] <wjp> but I never saw it
[11:17:49] <Pieter_> I might have had that happen earlier as well, but it didn't register as more than 'hmm just a glitch I guess... 'ctrl-r''
[11:18:35] <Yuv422> wow there's alot of text in those irc logs. ;)
[11:19:06] <Yuv422> wjp: did you hear about the great Nuive mixup!? ;)
[11:19:36] <Yuv422> looks like Nuvie has been an Ultima 4 remake all along. ;)
[11:23:02] <wjp> seriously?
[11:23:34] <Yuv422> according to the typo in all the source files. yes. ;)
[11:23:54] <Pieter_> looks like Yuv right hand isn't properly synced with his left when typing, liek mine
[11:24:04] <wjp> wow
[11:24:16] <wjp> I didn't know the U4/6 engines were this similar :-)
[11:24:24] <Yuv422> "Nuive" was sitting there staring me in the face for four months and I never noticed.
[11:24:25] <wjp> I managed to accidentally play U6 with nuvie ;-)
[11:24:38] <Yuv422> ;)
[11:24:59] <Yuv422> looks like we've failed to remake U4. In spectacular style. ;)
[11:25:18] <wjp> good thing there's xu4 to fall back on :-)
[11:25:37] <Yuv422> Pieter_: I do indeed have hand sync issues. I'm forever miss-typing things.
[11:25:43] <Yuv422> wjp: true.
[11:28:32] <Pieter_> me too.. grmbl, logs don't sort properly so I can't just cat * them all..
[11:29:38] <Yuv422> I'll be interested to see how many pages of text we've produced in the #nuvie channel.
[11:30:08] <wjp> nothing a simple perl+mv command won't fix :-)
[11:30:25] <Yuv422> 14933 lines
[11:30:29] <Pieter_> I have to be off for now, but I'll let you know. cat *.log |wc --> 14933 lines
[11:30:34] <Pieter_> nod yuv
[11:30:51] <Pieter_> I won't be printing them at 60 lines per page :)
[11:30:56] <Yuv422> that's about 213 pages
[11:31:02] <Yuv422> at 70 lines a page
[11:31:35] <Pieter_> luckily I scavenged a duplex unit, and I'll print them at 2 Up
[11:32:13] <Pieter_> stil, some lines will be longer than 80 char..
[11:32:30] <Pieter_> nice bed time story..
[11:32:36] <Pieter_> bbl
[11:32:39] <-- Pieter_ has left IRC ("[BX] Time wasted: all of it")
[11:34:43] <Yuv422> hmm the new file class seems to be working correctly
[11:35:02] <Yuv422> just converted Party over.
[11:44:25] <Yuv422> how do I overload a method in a parent class?
[11:45:20] <Yuv422> I have these methods in the parent class
[11:45:27] <Yuv422> virtual bool open(const char *filename) { return false; };
[11:45:27] <Yuv422> virtual bool open(std::string filename) { return open(filename.c_str()); };
[11:45:33] <Yuv422> and this in the subclass
[11:45:38] <Yuv422> bool open(const char *filename);
[11:45:58] <Yuv422> when I instanciate the subclass object
[11:46:29] <Yuv422> and try to call the std::string version of open it just says no method to handle this call. :(
[11:47:03] <wjp> ah, yes
[11:47:14] <wjp> overloading rules are slightly arcane
[11:47:27] <wjp> basically it doesn't look for overloaded functions in the parent class
[11:47:42] <wjp> you'll just have to put the std::string version in the subclass too
[11:47:43] <Yuv422> :(
[11:48:19] <Yuv422> ah k
[11:50:05] <Yuv422> that defeats the purpose of subclassing :(
[11:53:17] <wjp> you can also add a "using <baseclass>::open;" in the subclass
[11:53:42] <wjp> that'll "import" all open functions from the baseclass into the subclass
[11:53:54] <wjp> and any open function you define in the subclass overrides those
[11:54:06] <Yuv422> ah k that sounds better. :)
[12:17:18] <Yuv422> U6Lib_n is now running on a NuvieIO object :)
[12:23:04] <SB-X> Feels like Nuvie has advanced a generation.
[12:26:16] <Yuv422> :)
[12:26:31] <Yuv422> just changing the other U6File's over now
[12:27:47] <Yuv422> so we should now be able to read libs from buffers.
[13:16:56] <Yuv422> ok Nuvie compiles without U6File now :)
[13:18:58] <SB-X> yay
[13:21:56] <Yuv422> ok that's in cvs now
[13:22:05] <Yuv422> It's not well tested.
[13:22:14] <Yuv422> so it might be a bit rough around the edges.
[13:51:45] <Yuv422> time for bed
[13:51:58] <Yuv422> cya
[13:52:00] <-- Yuv422 has left IRC ("[BX] A friend with weed is a friend indeed")
[14:58:58] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[15:56:35] <-- SB-X has left IRC ("@_@")
[16:22:48] --> SB-X has joined #nuvie
[20:18:16] <-- SB-X has left IRC ("X-Chat")
[20:19:07] --> SB-X has joined #nuvie
[21:00:18] <-- SB-X has left IRC ("X-Chat")
[23:05:48] <-- Eclair has left IRC (Read error: 113 (No route to host))
[23:59:58] <-- wjp has left IRC ("Zzzz...")