#nuvie@irc.freenode.net logs for 12 Apr 2003 (GMT)

Archive Today Yesterday Tomorrow
Nuvie homepage


[00:01:17] <-- armchair_avatar has left IRC ("Client Exiting")
[00:05:56] --> Yuv422 has joined #nuvie
[00:06:05] <Yuv422> hi
[00:10:41] <sbx> hello
[00:10:53] <sbx> i cleaned up converse
[00:10:58] <sbx> and am adding keywords checking
[00:11:02] <Yuv422> cool
[00:11:02] <sbx> but i dont know how to get input
[00:11:30] <Yuv422> yesh we'll need to add that into MsgScroll
[00:11:39] <Yuv422> page breaks work now btw. :)
[00:11:51] <sbx> i saw
[00:11:53] <sbx> its good
[00:11:57] <sbx> how do you add page break?
[00:11:59] <sbx> to the end of buffer
[00:12:11] <Yuv422> ?
[00:12:30] <sbx> / script has paused itself
[00:12:30] <sbx> / if(converse->waiting() == 1) // script has page break
[00:12:30] <sbx> / insert break at end of scroll buffer
[00:13:00] --- Eclair is now known as animeloe
[00:13:03] <Yuv422> page breaks are completely handled by MsgScroll
[00:13:19] <Yuv422> the other classes just keep sending MsgScroll input
[00:13:39] <sbx> it needs some way to make itself break
[00:13:43] <sbx> page break
[00:13:54] <Yuv422> if MsgScroll is waiting on a page break it simply appends the new data to the end
[00:14:05] <Yuv422> why?
[00:14:11] <sbx> on this manual page break it wont get new data
[00:14:17] <sbx> to handle page breaks in script
[00:14:27] <sbx> they dont care how much text is buffered
[00:14:50] <Yuv422> hmm I don't follow you.
[00:15:02] <sbx> You see the druidess Jaana.
[00:15:07] <sbx> (down arrow)
[00:15:10] <sbx> how do we do that?
[00:15:21] <Yuv422> insert a *
[00:15:26] <Yuv422> into the MsgScroll
[00:15:37] <Yuv422> display_string("*")
[00:15:39] <Yuv422> hehe
[00:15:54] <Yuv422> or we could write a method to force a page break.
[00:16:07] <sbx> ill try the * now...
[00:16:38] <Yuv422> oh I also moved some static variables out of the converse heaer
[00:16:40] <Yuv422> header
[00:16:55] <Yuv422> as they were being declared everywere I called the header :)
[00:17:06] <Yuv422> which is not what we want for a static var. :)
[00:17:12] <sbx> sorry i dont know why it was in there
[00:17:21] <sbx> gcc didnt detect an error because it only included the header once
[00:17:22] <Yuv422> heheh np
[00:19:14] <sbx> ah, * works
[00:19:39] <sbx> that is like forcing a page break so no other method needed
[00:21:59] <Yuv422> :)
[00:22:19] <Yuv422> oh I found that you were passing a bit too much info to the MsgScroll
[00:22:43] <Yuv422> strings weren't null terminated and it was corrupting. :(
[00:23:21] <Yuv422> I think it was chuckles. you passed *(-14)\0
[00:23:53] <-- animeloe has left IRC (Read error: 60 (Operation timed out))
[00:24:11] <sbx> the place im at in the game has npcs im not even loading yet, so i can only talk to my party :(
[00:24:41] <Yuv422> ah k
[00:25:21] <sbx> can you put inputting in?
[00:25:31] <Yuv422> sure
[00:25:48] --> animeloe has joined #nuvie
[00:26:07] <Yuv422> how do you see the interfaces working?
[00:26:16] <sbx> havnt thought about it
[00:26:32] <sbx> except there should be a key to switch between targets
[00:26:37] <sbx> like TAB
[00:26:56] <Yuv422> in Event?
[00:27:41] <sbx> yes
[00:27:49] <sbx> and MapWindow i guess
[00:27:59] <sbx> it would have a setting to lock the cursor on something
[00:28:10] <sbx> even if that moves
[00:28:14] <Yuv422> tageting in combat mode?
[00:28:20] <sbx> unless the player moves the cursor with arrows
[00:28:27] <sbx> even when not in combat mode
[00:28:45] <sbx> like press talk, then tab to switch between all npcs on screen until it hits the one you want, and press enter
[00:29:33] <sbx> or tab can be to switch to inventory screen like in the original, and space to switch targets
[00:30:06] <Yuv422> did the original tab between npcs in talk mode?
[00:30:21] <sbx> no
[00:30:34] <Yuv422> hehe I was going to say I don't remember that. ;)
[00:30:34] <sbx> tab was to switch between left and right screen
[00:30:59] <sbx> use space instead to switch between npcs
[00:31:25] <sbx> i would find holding space down briefly easier than using the arrows to locate something
[00:33:11] <sbx> are you editing files now?
[00:33:17] <sbx> im going to send changes
[00:33:25] <Yuv422> send away
[00:33:39] <Yuv422> have you subscribed to the nuvie-cvs list?
[00:34:23] <sbx> yeah
[00:34:31] <sbx> i got messages with files i added
[00:34:54] <Yuv422> :)
[00:35:23] --- animeloe is now known as Eclair
[00:38:52] <sbx> now update and you can see where it needs input
[00:40:20] <sbx> at Game.cpp:157,158
[00:41:25] <sbx> and in MsgScroll::handle_input the default block can take the input and send it to Converse::input()
[00:41:54] <sbx> MsgScroll will want to store inputted characters in its own buffer until ENTER is input
[00:42:37] --> armchair_avatar has joined #nuvie
[00:47:35] <Yuv422> shouldn't converse ask for input from MsgScroll?
[00:50:44] <Yuv422> hehe you commited your nuvie.cfg file :)
[00:52:01] <armchair_avatar> are you planning to make nuvie a real-time game, like ultima 7?
[00:52:16] <Yuv422> not at first
[00:53:14] <armchair_avatar> but the npc's move around while you wait
[00:53:20] <sbx> heh.. yeah
[00:53:51] <sbx> Yuv422: sorry about that
[00:54:03] <sbx> converse doesnt know about MsgScroll
[00:54:18] <sbx> but MsgScroll knows about Converse
[00:54:29] <sbx> it doesnt need to work both ways because Converse has an input buffer too
[00:54:34] <Yuv422> it should be the other way around
[00:54:41] <armchair_avatar> Yuv422: how can i subscribe to the nuvie-cvs list?
[00:54:55] <sbx> if it was the other way around Converse would have to handle input
[00:55:44] <sbx> i mean keyboard input
[00:58:43] <Yuv422> http://lists.sourceforge.net/lists/listinfo/nuvie-cvs
[00:58:56] <Yuv422> why
[00:59:05] <Yuv422> it would just tell MsgScroll to gather input
[00:59:14] <Yuv422> then poll it to see when it was done.
[01:01:14] <sbx> ok
[01:01:16] <armchair_avatar> Yuv422: thanks. it's not listed here, though: http://sourceforge.net/mail/?group_id=76419
[01:01:30] <sbx> i can change that
[01:01:37] <sbx> (polling input mode)
[01:02:15] <sbx> but right now converse doesnt do anything if its in "wait" mode so it cant poll msgscroll
[01:02:33] <sbx> can i poll msgscroll in Game?
[01:04:33] <Yuv422> shouldn't you do it in converse?
[01:05:05] <Yuv422> armchair_avatar: it comes up for me maybe I've got to set it to display for anonymous users?
[01:06:33] <Yuv422> hmm looks like I should set it to public
[01:06:56] <Yuv422> but would ppl really want to subscribe to a list used for cvs commit messages?
[01:06:58] <Yuv422> ;)
[01:07:07] <sbx> i am subscribed to exult cvs
[01:07:10] <sbx> i dont know the difference in checking scroll for input in Game::play or with a converse method
[01:07:18] <sbx> but i can do either
[01:07:44] <sbx> you can get rid of the part of MsgScroll::handle_input that unwaits converse
[01:07:45] <Yuv422> converse should check for input from MsgScroll when it needs it
[01:08:11] <Yuv422> it is cleaner if you do that in converse
[01:08:12] <sbx> and i check if it needs it from Game::play
[01:08:20] <sbx> ok
[01:08:28] <sbx> do i make a new method?
[01:08:28] <Yuv422> then it is all in one place. :)
[01:08:35] <Yuv422> in MsgScroll
[01:08:46] <Yuv422> sure
[01:09:16] <Yuv422> maybe we should set the number of input chars required from MsgScroll
[01:09:44] <Yuv422> so we can handle multi char input as well as y/n input from the same functions
[01:10:13] <Yuv422> ok nuvie-cvs is a public list now
[01:10:59] <sbx> i have to add the method call to Game::play
[01:11:45] <sbx> how about if(converse->waiting()) if(converse->check_for_input(scroll))
[01:13:54] <Yuv422> let me see what you're doing
[01:14:10] <sbx> the other way, closer to what you said, is to make converse->step a generic polling function
[01:14:24] <sbx> whereas right now it only steps through the script
[01:14:51] <sbx> i could change it to converse->update, and step through script if not waiting, and if waiting, check msgscroll for input
[01:15:22] <Yuv422> you see what I mean though
[01:15:33] <Yuv422> you've moved converse logic into the game loop
[01:16:05] <Yuv422> you could put that stuff into a update method
[01:16:09] <Yuv422> then just call that
[01:16:16] <Yuv422> it will be alot cleaner.
[01:16:28] <Yuv422> of better still move it all into event->update
[01:16:42] <Yuv422> or a talk function in Event
[01:17:16] <sbx> Event is for anything that happens, not just events?
[01:19:54] <sbx> ill wait til you put the input get and display and check methods
[01:20:06] <Yuv422> righto
[01:20:07] --- Eclair is now known as animeloe
[01:20:16] <Yuv422> I've got to go out for a bit first
[01:21:35] <sbx> ok
[01:29:20] <-- armchair_avatar has left IRC ("Client Exiting")
[01:30:36] <-- animeloe has left IRC (Killed (NickServ (Ghost: Sakura-chan!animeloe@animeloe.usercloak.freenode)))
[01:31:02] --> animeloe has joined #nuvie
[01:31:06] --- animeloe is now known as Eclair
[01:42:13] --- sbx is now known as sbx|afk
[01:55:56] * Eclair is away: MANGA MUHAHAHAHAHA
[01:56:16] * Eclair is away: MANGA MUHAHAHAHAHA *giggle*
[02:00:01] <Yuv422> bbl
[02:00:04] <-- Yuv422 has left IRC ("BitchX: EPIC on steroids.")
[02:15:16] --- sbx|afk is now known as sbx
[02:18:18] --> Kirben has joined #nuvie
[03:00:21] --- sbx is now known as sbx|afk
[03:04:32] * Eclair is back (gone 01:08:15)
[03:08:08] --- sbx|afk is now known as SB-X
[05:00:59] --> Yuv422 has joined #nuvie
[05:02:28] <SB-X> wb
[05:02:42] <Yuv422> hi sbx
[05:02:49] <Yuv422> how's it going?
[05:03:10] <SB-X> im changing that logic of Converse a little
[05:03:20] <Yuv422> how so?
[05:03:30] <SB-X> but not enough to affect MsgScroll until you have the input check and return and display there
[05:03:43] <SB-X> Game::play only calls Converse::continue_script
[05:03:56] <SB-X> and Converse tells MsgScroll to print directly
[05:04:07] <Yuv422> sounds good
[05:04:08] <SB-X> instead of having its own output buffer
[05:06:36] <Yuv422> I see you checked in the converse doc :)
[05:07:05] <Yuv422> oh I forgot to tell you
[05:07:18] <Yuv422> that unknown value in schedule is worktype!
[05:07:34] <Yuv422> and I've found some different worktype codes.
[05:08:06] <SB-X> wow
[05:08:07] <SB-X> great :)
[05:08:19] <SB-X> 90 was tend shop not 85
[05:08:30] * Yuv422 tries to find the codes on his notepaper
[05:09:12] <Yuv422> 0x8b is walk up and down in a straight line
[05:09:19] <SB-X> hehe
[05:09:33] <SB-X> geoffrey?
[05:09:37] <Yuv422> 0x8c is walk left and right in straight line
[05:09:56] <Yuv422> try setting LB to 0x8b when he is sitting on the throne
[05:10:01] <SB-X> when do they turn around?
[05:10:20] <Yuv422> he then starts racing back an forth from the throne to the sundial. :)
[05:10:28] <SB-X> eep
[05:10:29] <Yuv422> when they his an object
[05:10:30] <SB-X> that far
[05:10:32] <SB-X> :)
[05:10:34] <Yuv422> hit
[05:10:48] <SB-X> what is Finn's schedule?
[05:10:48] <Yuv422> they even open closed doors that are inline
[05:10:56] <SB-X> interesting
[05:10:57] <Yuv422> haven't looked.
[05:11:08] <SB-X> im wondering if Finn's is one that tells him to start conversation
[05:11:34] <Yuv422> I found one worktype and set LB to it. he then went on a killing spree and murder the entire party.
[05:11:43] <Yuv422> murdered
[05:12:31] <SB-X> this list will make a nice document :)
[05:12:50] <Yuv422> I'll have to do some more observing then :)
[05:12:58] <SB-X> im going to try setting some of those in code
[05:13:07] <SB-X> you can set them with iolo?
[05:13:25] <Yuv422> that's how I've been testing.
[05:13:39] <Yuv422> in decimal though
[05:13:41] <SB-X> ok
[05:14:04] <Yuv422> it takes a few moves for it to kick in though
[05:14:14] <SB-X> until the next hour?
[05:14:21] <Yuv422> next minute I think
[05:14:27] <Yuv422> not sure though
[05:14:36] <Yuv422> it doesn't seem like an hour
[05:16:32] <SB-X> 8c(140 is walk up and down
[05:16:34] <SB-X> )
[05:16:42] <SB-X> i set one of those sleeping guys to it in cove
[05:16:46] <SB-X> and they moved the top of the bed
[05:16:54] <SB-X> without getting up
[05:17:02] <Yuv422> hehe
[05:17:45] <Yuv422> the hospital in cove in nuvie is a strange and wonderful site at the moment
[05:18:05] <Yuv422> they are all moving around. Turning into allsorts of things. :)
[05:19:09] <SB-X> i still havnt gotten there
[05:19:10] <Yuv422> 0x91 is sleep
[05:20:02] <SB-X> Talk-person sleeping
[05:20:05] <SB-X> No response
[05:20:20] <SB-X> the guy in cove just stopped moving
[05:20:31] <SB-X> since he is already a bed no way to tell if he is asleep except for that :)
[05:21:22] <SB-X> do you talk to the person making u6edit?
[05:21:35] <Yuv422> yeah I've spoken to Jim
[05:21:45] <SB-X> is he making his own game engine?
[05:21:54] <Yuv422> I don't think so
[05:22:01] <Yuv422> just a map editor
[05:22:18] <SB-X> on the exult forum he said modifications made will only be usable with his and compatible engines
[05:22:45] <Yuv422> well we can always make nuvie aware of his changes. :)
[05:22:55] <SB-X> he probably meant in his map editor by engine
[05:23:16] <SB-X> yeah they should work in nuvie too
[05:23:26] <SB-X> and multiple savegames
[05:24:36] <Yuv422> with multiple saves I was thinking of just packing all the data files together and zipping them.
[05:25:14] <SB-X> thats what exult does
[05:25:29] <Yuv422> we could write a little tool to convert existing saves to the new format too.
[05:25:54] <Yuv422> We could even write a tool to generate a new save from the lz* data files
[05:26:32] <SB-X> will nuvie support two data directories? one for the static data, a clean install from u6, and the other for the data being used by the game (when its not zipped)
[05:27:16] <SB-X> then you can install u6 in a non-writable space
[05:30:07] <Yuv422> sure
[05:30:21] <Yuv422> we probably won't ever write to the savegame dir
[05:30:33] <Yuv422> incase we toast somones savegame :)
[05:33:19] <SB-X> wouldnt want that
[05:40:06] <Yuv422> I'm sure ppl would try it in nuvie with the only copy of their savegame :)
[05:41:29] <SB-X> probably
[05:42:25] <Kirben> Should conversation be working in nuvie cvs ? just crashes here when I try to talk to anyone.
[05:43:06] <Yuv422> conversation is still a little way off yet.
[05:43:19] <Yuv422> books, scrolls and signs should work though.
[05:43:44] <SB-X> it shouldnt crash at the moment
[05:43:52] <SB-X> but it still doesnt work
[05:45:35] <Yuv422> is that the latest in cvs sbx?
[05:45:52] <SB-X> yes
[05:46:25] <Yuv422> hmm still looks like some non ascii chars are getting through to MsgScroll
[05:46:35] <Yuv422> I get a little degree symbol
[05:46:43] <Yuv422> come up in chukles script
[05:46:53] <SB-X> ive only tested with my party so far :(
[05:47:06] <Kirben> All gdb says is 'Program exited with code 037777777777'
[05:47:09] <Yuv422> but no crashes so far
[05:47:23] <Kirben> can't get a backtrace
[05:47:33] <Yuv422> who were you talking to?
[05:47:47] <Kirben> anyone in starting room.
[05:48:10] <Yuv422> with the latest cvs?
[05:49:02] <Kirben> yes
[05:49:35] <Yuv422> are you compiling with -g in CFLAGS?
[05:50:16] <Kirben> Yes, in CXXFLAGS
[05:50:27] <Yuv422> hmm strange
[05:50:57] <Yuv422> sbx: when talking to terri in the mint. She says I'm eating right now come talk with me in the mint later. ;)
[05:51:14] <Kirben> Exact gdb output is:
[05:51:15] <Kirben> (gdb) run
[05:51:15] <Kirben> Starting program: c:\ultima6/nuvie.exe
[05:51:15] <Kirben> Program exited with code 037777777777.
[05:51:15] <Kirben> (gdb) bt
[05:51:15] <Kirben> (gdb) No stack.
[05:51:31] <Yuv422> hmm
[05:51:49] <Yuv422> maybe bacause SDL is catching the segfault?
[05:52:04] <Kirben> sterr.txt:
[05:52:04] <Kirben> Converse: loading encoded script
[05:52:04] <Kirben> stdout:
[05:52:04] <Kirben> Attempting to set vid mode: 320x200x16x1 Software Surface
[05:52:04] <Kirben> ......cW != next_free_codeword!
[05:52:19] <Yuv422> ahh
[05:52:25] <Yuv422> looks like an lzw issue
[05:53:26] <Yuv422> so that comes up when you talk?
[05:53:42] <SB-X> could your converse.a be corrupt?
[05:54:07] <Yuv422> can you md5sum that file kirben?
[05:55:12] <Yuv422> MD5 (converse.a) = cf65b2931d1bc89abcd06bce614aa495
[05:55:37] <Kirben> Yes only happen when I try to talk, I don't seem to have md5sum
[05:55:51] <Yuv422> it might just me called m5d
[05:55:54] <Yuv422> md5
[05:56:10] <Yuv422> oh wait win32 :(
[05:56:52] <SB-X> one thing i noticed is if you talk to someone with a script, and then to someone who doesnt have a script, it tries to continue the previous script
[05:56:53] <Kirben> No don't have that either, not in cygwin or mingw.
[05:57:04] <SB-X> (but that doesnt cause a crash)
[05:57:29] <Kirben> converse.a is 162,615 bytes though.
[05:57:29] <Yuv422> what is your file size on converse.a kirben?
[05:57:34] <Yuv422> hehe :)
[05:57:48] <SB-X> same here
[05:57:55] <Yuv422> yup that looks right
[05:58:17] <Yuv422> is it a case issue with the filename?
[05:58:58] <Kirben> it is all uppercase.
[05:59:13] <Yuv422> could you rename it lowercase?
[05:59:32] <Yuv422> maybe minGW is case sensitive?
[05:59:39] * SB-X boggles.
[05:59:57] <Kirben> no difference.
[06:01:26] <SB-X> it has to be corrupt or U6Lzw.o is compiled differently on that platform
[06:02:05] <SB-X> i mean compiled with platform dependant types or something
[06:02:18] <Yuv422> maybe it isn't accesable
[06:02:25] <Yuv422> read protected or somthing?
[06:02:32] <Yuv422> is that possible?
[06:03:14] <Kirben> none of my ultima 6 data files are read only.
[06:03:29] <SB-X> you should at least be able to talk to your party
[06:03:38] <Yuv422> maybe you're faulting someware else sbx! which is manifesting itself there?
[06:03:39] <SB-X> it will dump all of their text, or just show some of it and stop
[06:03:44] <SB-X> hehe
[06:03:52] <SB-X> still i dont see it here
[06:04:19] <Yuv422> different compiler might be more or less strict.
[06:04:31] <Kirben> gcc 3.2 here
[06:06:19] <Yuv422> gcc (GCC) 3.1 20020420 (prerelease)
[06:06:32] <Yuv422> heheh go apple!
[06:06:38] <Yuv422> prerelease software
[06:08:03] <SB-X> 2.95.3
[06:10:42] <SB-X> files/U6Lzw.cpp: In method `unsigned char * U6Lzw::decompress_buffer(unsigned char *, unsigned int, uint32 &)':
[06:10:43] <SB-X> files/U6Lzw.cpp:165: warning: comparison between signed and unsigned
[06:10:55] <SB-X> i get that with -Wall added to CXXFLAGS
[06:11:28] <SB-X> so maybe its related
[06:11:49] <Yuv422> nuvie crashes my mallocdebug app :(
[06:12:42] <Kirben> I will try -Wall here too.
[06:14:08] <Kirben> files/U6Lzw.cpp: In member function `unsigned char*
[06:14:08] <Kirben> U6Lzw::compress_buffer(unsigned char*, unsigned int, uint32&)':
[06:14:08] <Kirben> files/U6Lzw.cpp:46: warning: unused variable `uint32 block'
[06:14:08] <Kirben> files/U6Lzw.cpp:46: warning: unused variable `uint32 b'
[06:14:08] <Kirben> files/U6Lzw.cpp:46: warning: unused variable `uint32 d'
[06:14:09] <Kirben> files/U6Lzw.cpp:46: warning: unused variable `uint32 rshift'
[06:14:11] <Kirben> files/U6Lzw.cpp:47: warning: unused variable `uint16 val'
[06:14:13] <Kirben> files/U6Lzw.cpp:48: warning: unused variable `unsigned char*dest_pt'
[06:14:15] <Kirben> files/U6Lzw.cpp: In member function `unsigned char*
[06:14:17] <Kirben> U6Lzw::decompress_buffer(unsigned char*, unsigned int, uint32&)':
[06:14:19] <Kirben> files/U6Lzw.cpp:165: warning: comparison between signed and unsigned integer
[06:14:21] <Kirben> expressions
[06:15:20] <Kirben> MapWindow.cpp: In member function `Actor* MapWindow::get_actorAtCursor()':
[06:15:20] <Kirben> MapWindow.cpp:194: warning: unused variable `Actor*actor'
[06:15:20] <Kirben> MapWindow.cpp: In member function `void MapWindow::drawMap()':
[06:15:20] <Kirben> MapWindow.cpp:224: warning: unused variable `unsigned char*ptr'
[06:15:49] <SB-X> i got the unused variables too
[06:15:56] <Kirben> that is all.
[06:15:59] <SB-X> do we have a 64 bit type?
[06:16:07] <SB-X> signed
[06:16:26] <Yuv422> nope
[06:16:39] <Yuv422> long is 32 on my system I think
[06:16:45] <SB-X> how about long long
[06:16:46] <Yuv422> long long maybe?
[06:16:49] <Yuv422> ;)
[06:16:50] <SB-X> ok
[06:17:36] <Yuv422> nuvie was crashing in mallocdebug because it couldn't find its config file
[06:18:34] <SB-X> i changed the U6Lzw comparison to use signed long long
[06:19:25] <SB-X> but i cant test it since i dont get the error
[06:19:28] <SB-X> so ill put it in cvs
[06:19:55] <Yuv422> if it is a small test maybe kirben can make the change in his copy first?
[06:20:09] <SB-X> yeah
[06:20:13] <SB-X> but ive just committed
[06:20:32] <SB-X> Kirben: so you can just update it and try
[06:20:38] <Kirben> recompiling now
[06:22:02] <Yuv422> oooh we are leeking some memory
[06:23:20] <SB-X> i got rid of some of the char* copying in converse if that causes the leaks
[06:23:42] <Yuv422> hehe one leak was me
[06:23:50] <Yuv422> in Map::loadMap() ;)
[06:23:58] <Kirben> Still crashes.
[06:23:59] <Yuv422> whoops forgot to free my temp map data
[06:24:11] <SB-X> Kirben: does it have a new error?
[06:25:48] <SB-X> and did you get any "warning: comparison between signed and unsigned integer" again when compiling?
[06:25:54] <Kirben> stdout/err and gdb output is the same
[06:26:30] <Kirben> no just:
[06:26:30] <Kirben> files/U6Lzw.cpp: In member function `unsigned char*
[06:26:30] <Kirben> U6Lzw::compress_buffer(unsigned char*, unsigned int, uint32&)':
[06:26:40] <Kirben> The decompress warning is gone though.
[06:27:07] <SB-X> argh
[06:27:14] <SB-X> its having trouble reading the converse.a file
[06:27:17] <Kirben> nuvie just seems tuo auto exit/crash when I talk to anyone.
[06:29:28] <SB-X> comment in U6Lzw.cpp just says "cW != next_free_codeword!" means something is wrong with the lzw-compressed data
[06:30:53] <SB-X> but it shouldnt exit there, we need to return an error for U6Lib
[06:31:15] <SB-X> Kirben: can you change line 234 to "return(NULL);" and try it?
[06:31:51] <SB-X> of U6Lzw.cpp
[06:31:56] <Kirben> ok
[06:32:29] <Yuv422> leaking in Converse::Start -> U6Lib_n::get_item()
[06:32:42] <Yuv422> 1.6k after one conversation
[06:33:37] <Kirben> doesn't crash now, just get talk-nothing.
[06:33:48] <SB-X> Kirben: that is a little better
[06:33:54] <Yuv422> you might have missed the actor
[06:34:03] <Yuv422> if it says talk nothing
[06:34:16] <SB-X> it will also say nothing if the script cant be loaded
[06:34:22] <SB-X> the console(stderr.txt) will say
[06:34:26] <Kirben> definately got the actor, altohugh they do jump around a lot.
[06:34:43] <SB-X> i dont know if the leak affects it
[06:34:54] <Kirben> stderr.txt:
[06:34:55] <Kirben> Converse: loading encoded script for NPC 2
[06:34:56] <Kirben> Converse: error loading actor 2 script
[06:34:56] <Kirben> Converse: loading encoded script for NPC 5
[06:35:04] <Kirben> etc..
[06:37:08] <SB-X> looks like i forgot to free undec_script after its decoded, that would cause that leak
[06:38:03] <SB-X> not being able to load the script is from U6Lib or U6Lzw
[06:39:21] <SB-X> possibly due to file corruption thats all i can think of
[06:41:51] <Kirben> easy way to tell, can you send your converse.a ?
[06:42:23] <Yuv422> hmm I might have a problem with loadSchedule
[06:45:05] <SB-X> there
[06:45:11] <SB-X> its probably the same and i have no clue what the error is :)
[06:45:45] <SB-X> maybe setting the offsets incorrectly on win32
[06:45:54] <SB-X> in u6lib
[06:45:58] <Kirben> SB-X" no difference with your version.
[06:46:47] <Kirben> Ultima 6 is much better with scaling and filtering, just tried it for first time.
[06:46:58] <Yuv422> ;)
[06:49:09] <SB-X> Kirben: can you insert this in U6File.cpp, before line 193?
[06:49:14] <SB-X> fprintf(stderr, "seek: 0x%02x\n", pos);
[06:49:56] <SB-X> and tell me what it shows in stderr.txt when you try to talk to an npc?
[06:50:04] <Kirben> ok
[06:51:14] <Kirben> Converse: loading encoded script for NPC 4
[06:51:14] <Kirben> Converse: error loading actor 4 script
[06:51:14] <Kirben> seek: 0x944
[06:51:14] <Kirben> Converse: loading encoded script for NPC 4
[06:51:14] <Kirben> Converse: error loading actor 4 script
[06:51:34] <SB-X> hmm ok thats correct
[06:56:57] <SB-X> Kirben: can you insert on line 360 of Converse.cpp
[06:56:59] <SB-X> fprintf(stderr, "len: 0x%02x\n", script_len);
[06:57:06] <SB-X> and check again?
[06:57:37] <Kirben> ok
[06:58:23] <Kirben> Converse: loading encoded scriptlen: 0x1555
[06:58:23] <Kirben> for NPC 4
[06:58:23] <Kirben> Converse: error loading actor 4 script
[06:58:51] <SB-X> oops forgot newline :) but thats ok
[06:58:54] <SB-X> thanks
[06:58:56] <SB-X> the size is correct
[06:58:57] <SB-X> strange
[07:00:21] <SB-X> Yuv422: do you have a clue?
[07:00:58] <Yuv422> hmm haven't really been folloing you
[07:01:01] <SB-X> if u6file's buffer read was incorrect everything else would be messed up
[07:01:15] <Yuv422> just been trying to fix a memory bug myself ;)
[07:01:19] <SB-X> Yuv422: oh.. the short story is i have no clue :)
[07:01:24] <SB-X> ok
[07:01:40] <SB-X> so msgscroll doesnt have input yet?
[07:01:47] <Yuv422> hehe not yet
[07:06:08] <Yuv422> ok fixed my overflow
[07:06:34] <Yuv422> did you fix your Converse::get_output() overflow?
[07:06:39] <Yuv422> in realloc
[07:06:43] <SB-X> are you sure its an overflow?
[07:06:46] <SB-X> ah
[07:06:49] <SB-X> thats no longer there
[07:06:56] <Yuv422> 356 bytes
[07:06:57] <SB-X> i just print to scroll now
[07:07:02] <Yuv422> right
[07:07:07] <Yuv422> let me commit my fix
[07:07:18] <Yuv422> you never know it might fix kirben's problem
[07:07:57] <Yuv422> you'll laugh when you see it
[07:11:51] <Yuv422> ok those changes are up
[07:12:43] * Yuv422 thanks deadbeef beefdead. :)
[07:12:53] <Kirben> no change here.
[07:14:06] <Yuv422> hehe well at least I got some fixes in. ;)
[07:22:47] <Yuv422> are you using get_output in the current cvs version?
[07:25:44] <SB-X> yes
[07:25:59] <SB-X> i was going to wait until you added input methods to msgscroll to commit
[07:26:15] <Yuv422> ah k
[07:57:42] <SB-X> Yuv422: where msgscroll is asked to gather input is where it should be told what type of input to get
[07:57:55] <Yuv422> yes
[07:58:03] <SB-X> the allowed types are free, 0-9 and any 1 letter
[07:58:40] <Yuv422> do you want MsgScroll to screen the input?
[07:58:55] <SB-X> just to make sure only those types are entered
[07:58:58] <Yuv422> does the original allow alpha chars in the number input.
[07:58:59] <Yuv422> ?
[07:59:01] <SB-X> no
[07:59:09] <Yuv422> ok
[07:59:10] <SB-X> and it enters it immediately i think, for the numbers
[07:59:13] * SB-X checks.
[07:59:55] <SB-X> msgscroll doesnt need any pointer to converse anymore
[08:02:50] <SB-X> yeah with 0-9 input the input is returned as soon as the number is typed
[08:03:03] <SB-X> and esc or enter sends 0
[08:03:06] <Yuv422> for party selection
[08:03:19] <SB-X> or items at shops
[08:03:22] <Yuv422> if I buy rations for example it lets me choose 'a'
[08:03:24] <Yuv422> etc
[08:03:27] <SB-X> hmm
[08:03:37] <Yuv422> when free entering a number
[08:03:54] <Yuv422> would the script know that it needed a number?
[08:03:56] <Yuv422> I guess it would
[08:04:06] <SB-X> free entering?
[08:04:21] <Yuv422> entering a number
[08:04:25] <Yuv422> like 10
[08:04:30] <Yuv422> not just the party number
[08:04:36] <SB-X> it wouldnt know it if its free input
[08:04:57] <SB-X> there would have to be a keyword 10
[08:05:06] <SB-X> if its number-entry then it sends the first digit immediately
[08:05:16] <SB-X> where can i buy rations?
[08:05:30] <Yuv422> the inn in britan
[08:05:49] <Yuv422> talk to Anya
[08:05:55] <SB-X> ah ok
[08:06:11] <SB-X> i see what you mean by free entering a number
[08:06:18] <Yuv422> :)
[08:06:39] <Yuv422> if you can tell when a number needs to be entered I can lock it down
[08:07:01] <Yuv422> to only numeric
[08:07:11] <SB-X> the type of input requested will be passed to the msgscroll's "start getting input" method
[08:07:22] <Yuv422> right
[08:07:34] <Yuv422> so how about length and type
[08:07:42] <Yuv422> 0 length for unrestricted
[08:07:50] <SB-X> the original u6 doesnt restrict it
[08:07:59] <SB-X> if you enter text it just reads it as 0
[08:08:01] <Yuv422> type can be either numeric or any?
[08:08:30] <Yuv422> it does restrict on party selection.
[08:08:40] <Yuv422> be back later
[08:08:40] <SB-X> thats "single digit entry" type
[08:08:42] <SB-X> oh
[08:08:43] <SB-X> ok
[08:08:50] <Yuv422> I've got to step out for a bit
[08:09:27] <Yuv422> but you can also have single entry y/n :)
[08:09:28] <Yuv422> bbl
[08:09:49] <SB-X> that is "single character entry"
[08:10:07] <Yuv422> ah k I see the difference now ;)
[08:10:18] <SB-X> in that case, it is a special type of "ask" block where certain letters are allow, but then you can enter any letter too
[08:10:26] <SB-X> wait, no
[08:10:41] <SB-X> we can send the allowed letters in a string
[08:10:59] <SB-X> "yn"
[08:15:22] <SB-X> "0123456789
[08:15:22] <SB-X> "
[08:16:08] <SB-X> "" = free input
[08:16:15] <SB-X> ("" or 0)
[08:18:54] <SB-X> hmm, need more than that because single letter input doesnt allow ENTER or ESC
[08:19:04] <SB-X> while single numerical digit does
[08:19:48] <SB-X> there can be two input gatherers
[08:20:22] <SB-X> one just allows gets 1 number, the other gets free entry if the set is empty/null or any letter in the set
[08:33:08] * Eclair is away: Love Hina calls ^_^ *giggles*
[08:39:48] * Eclair is back (gone 00:06:39)
[09:17:27] --> wjp has joined #nuvie
[10:37:01] <Yuv422> hi wjp
[10:42:09] <wjp> hi
[10:54:08] * Yuv422 looks at Origin.... I mean Asylumsoft's webpage. ;)
[11:02:00] <wjp> :-)
[11:02:46] <SB-X> argh i need sleep
[11:02:50] <SB-X> cya
[11:02:55] <Yuv422> cya sbx
[11:03:07] <Yuv422> mus be late for you now!
[11:03:10] <Yuv422> must
[11:03:18] <SB-X> late/early :)
[11:03:22] <-- SB-X has left IRC ("sleep")
[11:12:01] <Yuv422> wjp: Can I ask you a maths question?
[11:13:14] <wjp> sure
[11:13:34] <Yuv422> U6 ladders seem to line up with the dungeon ladders
[11:13:38] <Yuv422> but not quite
[11:14:18] <Yuv422> for example a ladder at 291,379 on the surface in LB's castle should line up with a ladder on level 1 at 75,91
[11:14:45] <Yuv422> I thought they would line up if I just divided the surface pos by 4
[11:14:54] <Yuv422> but this doesn't seem to be the case.
[11:15:50] <Yuv422> surface is 1024x1024 dungeon is 256x256
[11:18:04] <wjp> do you have any ladder coordinates?
[11:18:08] <wjp> any other, I mean
[11:18:19] <Yuv422> I'll just get another
[11:19:11] <Yuv422> 84, 105
[11:19:52] <Yuv422> should line up with 340,433
[11:21:03] <wjp> do you have any with very high and/or very low coordinates?
[11:21:33] <Yuv422> I'll go to the wine cellar up north
[11:23:49] <wjp> do ladders always connect to other ladders? (so can you search for a ladder in a small area when switching maps?)
[11:24:21] <Yuv422> I think ladders always connect
[11:30:29] <Yuv422> I can't find that other ladder
[11:32:14] <Yuv422> ah found it
[11:33:31] <Yuv422> surface pos is 73,539
[11:34:18] <Yuv422> dungeon pos is 17,131
[11:38:43] <wjp> hm, no nice linear equation for the x coords
[11:40:45] <Yuv422> do you think I should match the ladders inanother way then
[11:41:40] <wjp> you could just find a ladder nearby the spot where it 'should' be
[11:41:44] <Yuv422> the problem is that ladder objects have no associated data. :( just their pos
[11:42:25] <Yuv422> all the dungeon ladders line up ok
[11:42:35] <Yuv422> it's just the surface that is the problem
[11:43:27] <Yuv422> I might do it that way.
[11:43:43] <Yuv422> it's a bit of a hack though :(
[11:53:15] <wjp> hm, the y coordinates line up better
[11:53:53] <wjp> but all these y coords are in the same range. Do you have any ladders with high/low y coords? :-)
[11:55:26] <Yuv422> not from memory
[11:55:40] <Yuv422> maybe I should check the objlist
[11:55:55] <wjp> create an SQL DB of all items ;-)
[11:56:16] <Yuv422> that would be handy
[11:57:06] <Yuv422> looking for ladder's now
[11:57:21] <wjp> hm, I should go finish that SQL stuff for exult
[11:57:48] <wjp> need to add item names to the DB
[11:58:13] <Yuv422> is this db web accesable?
[11:58:23] <wjp> no
[11:58:41] <wjp> you're the *counts* 5th person who asked, I think :-)
[11:58:50] <Yuv422> hehe
[11:59:02] <Yuv422> natural question I guess
[11:59:26] <Yuv422> would I be the 5th person to ask what DB server you're using?
[12:00:07] <wjp> no
[12:00:13] <wjp> first, I think :-)
[12:00:15] <wjp> (postgresql)
[12:00:27] <Yuv422> ah k
[12:00:43] * Yuv422 is only familiar with MySQL
[12:01:09] <wjp> I'm not using any postgresql-specific things AFAIK
[12:01:46] <Yuv422> subselects
[12:02:25] <wjp> well, I'm just inserts :-)
[12:02:30] <wjp> just using*
[12:03:06] * Yuv422 makes a living writing crappy web driven SQL projects ;)
[12:03:49] * wjp wrote a couple of small postgresql/php thingies for some people at the uni
[12:04:18] <wjp> but this DB is really just a DB. No frontend whatsoever :-)
[12:04:35] <wjp> (I'm just using the psql command line interface to run SQL queries on it)
[12:09:22] <Yuv422> :)
[12:09:57] <Yuv422> how many rows on average?
[12:10:02] <Yuv422> in your db's
[12:10:37] <wjp> BG has 33274 items, SI has 36400 items
[12:13:48] <Yuv422> maybe they match up on position in the obj list?
[12:14:06] <Yuv422> so the first ladder connects with the first ladder in the dungeon file?
[12:18:11] <wjp> would be kind of weird
[12:19:22] <Yuv422> how about 787,948 -> 195,236
[12:24:26] <wjp> hm, I need to go for a bit
[12:24:32] <wjp> (check #exult's log for reason :-) )
[12:24:34] <Yuv422> sure np
[12:25:10] * Yuv422 checks
[12:27:24] <Yuv422> heheh
[12:27:29] <Yuv422> Nice!
[13:08:13] --> armchair_avatar has joined #nuvie
[13:10:07] <Yuv422> hi armchair_avatar
[13:11:11] <armchair_avatar> hi
[13:13:55] <Yuv422> did you end up getting onto the nuvie-cvs list?
[13:14:40] <armchair_avatar> yes, i subscribed
[13:15:01] <Yuv422> :)
[13:16:02] <armchair_avatar> how did you decode the conversation format?
[13:16:32] <Yuv422> That's sbx's work mainly
[13:17:22] <Yuv422> we had a fair idea what was contained in the conversation data. we just had to make the bytes match.
[13:17:43] <Yuv422> SBX has done a good job figuring out what all the commands do.
[13:18:17] <Yuv422> have you checked out his converse.txt file
[13:18:34] <armchair_avatar> i've skimmed over it
[13:21:08] <Yuv422> I've got to write up details on the schedule file.
[13:22:25] <Yuv422> all of our findings so far have been done without dissasembly.
[13:22:48] <Yuv422> just by poking around with the game files and watching the result in the original
[13:34:18] <armchair_avatar> i have to go now
[13:34:19] <armchair_avatar> bll
[13:34:23] <-- armchair_avatar has left IRC ("Client Exiting")
[13:34:25] <Yuv422> righto
[13:34:26] <Yuv422> cya
[14:01:03] <Yuv422> time for bed
[14:01:05] <Yuv422> cya
[14:01:07] <-- Yuv422 has left IRC ("BitchX: shaken, not stirred")
[15:06:33] <-- Kirben has left IRC ("System Meltdown")
[20:54:50] --> armchair_avatar has joined #nuvie
[21:23:40] <-- armchair_avatar has left IRC ("Client Exiting")
[22:39:51] <-- wjp has left IRC ("Zzzz...")