#exult@irc.freenode.net logs for 5 Jan 2002 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage


[00:13:21] --> Kirben has joined #exult
[00:13:21] --- ChanServ gives channel operator status to Kirben
[00:14:52] <wjp> hi
[00:15:01] <Kirben> Hi
[00:31:01] <wjp> I have to go
[00:31:02] <wjp> bye
[00:31:08] <-- wjp has left IRC ("Zzzz...")
[01:13:55] <-- Kirben has left IRC (Read error: 54 (Connection reset by peer))
[10:18:12] --> Wumpus has joined #exult
[10:20:00] <Wumpus> eeeek
[10:32:54] --> Darke has joined #exult
[10:32:54] --- ChanServ gives channel operator status to Darke
[10:33:12] * Darke bows. "Hello, exceedingly quiet channel... except for Wumpus that is."
[10:40:56] <Wumpus> :P
[10:41:02] <Wumpus> eeek = jeff has been very busy :-) yay
[10:42:17] * Wumpus has 12 sourceforge emails, all due to him being a busy little... whatever creature he is :-)
[11:10:47] <Darke> <grin> A busy little Wumpus?
[11:12:20] <Wumpus> i don't think jsf is a wumpus...
[11:12:59] <Darke> <grin> 'Bee' perhaps?
[11:13:10] <Wumpus> possibly :) I really don't know :P
[11:13:25] <Darke> 'Coder'?
[11:13:26] <Wumpus> he might be *human* for all i know, *shudder* ;-p
[11:13:35] <Wumpus> ooh coder, that sounds likely....
[11:14:33] * Darke giggles, you know you've been roleplaying a bunny for far, far too long, when calling someone a 'human' is practically an insult. <grin>
[11:17:26] <Wumpus> or a vindaloonian?
[11:37:54] * Darke blinkblinks. "Yes... well... he could be food, but that would be kind of... odd." <grin>
[11:39:58] <Wumpus> nono
[11:40:04] <Wumpus> red dwarf reference ;-p
[11:41:02] * Darke grins, he doesn't watch red dwarf.
[11:41:26] <Wumpus> nor do i, anymore... hehe series 6 was about all i enjoyed, anything else i saw i soon gave up on... :P
[11:43:47] --> Colourless has joined #Exult
[11:43:47] --- ChanServ gives channel operator status to Colourless
[11:43:47] * Darke didn't particularly like any of the red dwarfs. Which means he's a bit odd in his circle of friends, since the rest of the love it. <grin>
[11:43:56] <Darke> Hi Colourless!
[11:44:59] <Colourless> hello my loyal subjects
[11:45:18] <Colourless> as I can tell, there are not many of you :-)
[11:45:33] <Darke> I think Wumpus might be one...
[11:46:12] <Darke> Or perhaps matto. exultbot is most certainly a subject of yours... but perhaps not 'loyal'. <grin>
[11:46:14] <Colourless> i know exult bot is
[11:46:17] <Colourless> exultbot: hi
[11:46:17] <exultbot> Hi Colourless!
[11:47:27] <Colourless> exultbot is my information collector, but i beleive he may be working for someone else :-)
[11:52:55] * exultbot denies any rumours that he may be working for someone else
[11:53:10] * Wumpus is most certainly working for someone else
[11:53:22] <Colourless> well, that leaves matto
[11:53:42] * Wumpus thinks he is a mute :)
[11:54:06] --> wjp has joined #exult
[11:54:07] --- ChanServ gives channel operator status to wjp
[11:54:13] <wjp> hi
[11:54:43] * Darke bows. "Hi!"
[11:57:59] --> Cless has joined #Exult
[11:57:59] <-- Colourless has left IRC (Read error: 104 (Connection reset by peer))
[11:58:02] --- Cless is now known as Colourless
[11:58:08] --- ChanServ gives channel operator status to Colourless
[11:58:21] <Colourless> now, that took a long time for the other me to die
[11:58:54] <Colourless> i was gone probably 4 minutes
[12:03:19] <-- Wumpus has left IRC ("Bzzt")
[12:45:30] --> Cless has joined #Exult
[12:45:30] <-- Colourless has left IRC (Connection reset by peer)
[12:45:34] --- Cless is now known as Colourless
[12:45:35] --- ChanServ gives channel operator status to Colourless
[14:24:25] <Darke> &COW 0x1F4 (var var0000)
[14:24:32] <Darke> if(!(event == 0x0001)) goto label&COW_0070;
[14:24:38] <Darke> label&COW_0020:
[14:24:49] <Darke> Notice anything different? <grin>
[14:25:08] <Colourless> i'm not sure what I'm supposed to be looking at
[14:25:26] <wjp> you might want to remove the '&' from the labels...
[14:25:30] <Darke> wjp should. <grin> The function names, are actual _names_.
[14:25:48] * Darke nods. He's just about to, he figured ucc would... complain.
[14:26:23] <wjp> btw, ucc doesn't really have a return value mechanism as far as I could tell
[14:26:24] <Darke> Also with the normal si/bg without debugging information, it looks 'normal' anyway.
[14:31:54] <Darke> Ok, if the first character is an '&' it now strips it off.
[14:45:18] <Colourless> we need some new news on out webpage
[14:45:31] <wjp> yeah
[14:45:42] <wjp> I was just looking at the changelog, in fact
[14:45:49] <wjp> (a _lot_ of updates since christmas)
[14:46:03] <Colourless> yeah
[14:46:20] <wjp> (we're nr 14 on most active SF projects now, btw)
[14:46:32] <Darke> wjp: Scary. <grin>
[14:46:56] <Colourless> i think that many many projects do next to no work
[14:47:09] <wjp> could be it
[14:47:27] * Darke has... a 'problem' a lot of the latter functions have identical names. This means this little 'feature' is of little use... but it's still cool. <grin>
[14:47:47] <Darke> A lot of the projects have only one or two developers as well.
[14:48:03] <wjp> just add numbers if names are identical :-)
[14:48:08] <wjp> COW1, COW2, COW3... :-)
[14:48:09] <Colourless> yeah
[14:48:18] <Colourless> or the usecode function number
[14:48:23] <wjp> good idea
[14:49:59] <Darke> Doable... one problem. The 'interface' to do this, is the same way I was going to handle 'name this function' loading from a configuration file. Any ideas? Should I handle it in a completely seperate way?
[14:50:20] <Colourless> you could just add it to all functions
[14:51:02] <Colourless> that is, add the number to all functions, even if they are unique
[14:51:42] <Darke> That's what I was going to do.
[14:51:47] <wjp> hmm, not sure
[14:52:16] <wjp> you'd want function names produced by ucc to stay the same, probably
[14:52:24] <Darke> Also, if I'm disassembling usecode produced by ucc, it'll have 'good' function names already, rather then duplicates.
[14:54:08] <Colourless> hmm, yeah
[14:54:22] <Colourless> of course, you could just add another command line option :-)
[14:55:54] * Darke would honestly, rather have the Spanish SI's usecode output just not be parsable 'correctly' by ucc, since that's the only usecode currently being affected by this change. <grin>
[14:56:27] <wjp> I think that's acceptable
[14:57:01] <wjp> ...and like Colourless said, you can always add a cmdline option to unique-ify the function names :-)
[14:57:28] <Darke> The main reason I'm trying to make the 'loading names from file' and 'debug information' run through the same the same channels, is so I can write and debug with one, then add the other later. <grin>
[14:58:49] <Darke> If someone actually comes along and _cares_ about it, I think they can add the command line option. <grin> One thing I've got to do soon, is clear up how I'm handling them internally, it's a bit insane throwing all the bool's about.
[14:59:30] <Colourless> :-) combine the bools into an int and use bit flags :-)
[15:01:17] <Darke> Colourless: No! Away from me vile creature! <whimper> Having wandered through a large chunk of spaghetti code that did something similar, to work out just How Things Worked(tm), I think I'll avoid it.
[15:02:02] <Colourless> well, if the flags are all properly named, it's not too difficult :-)
[15:02:19] <Colourless> you know something like (flags & NAME_OF_FLAG)
[15:04:22] <Darke> Then you get 'evolutionary' code, with naming scemes like (flaga_flags & FLAGB_FOO) works, whilst (flaga_flags & FLAGA_FOO) does the Wrong Thing. <grin>
[15:05:20] <Colourless> :-)
[15:34:20] * Darke thinks these names we've got, can't be the real function names... unless usecode-script allowed overloading.
[15:34:35] <Colourless> try 8 char limit
[15:35:14] <Darke> extern var PLANK 0x8FC (var var0000);
[15:35:14] <Darke> PLANK 0x96 (var var0000)
[15:35:27] <Darke> Doesn't explain this, unfortunately. Yes, it's correct. <grin>
[15:35:39] <Colourless> overload might be possible though, because some intrinsics overload
[15:36:10] <Darke> Ooo... lookie:
[15:36:11] <Darke> extern var PLANK 0x8FF (var var0000, var var0001, var var0002, var var0003);
[15:36:11] <Darke> extern var PLANK 0x900 (var var0000, var var0001, var var0002);
[15:36:11] <Darke> var PLANK 0x8FC (var var0000)
[15:36:32] <Colourless> i somethin think that's overloading :-)
[15:36:42] <Colourless> i messed that line up, lets try again
[15:36:51] <Colourless> i somehow think that's overloading :-)
[15:37:13] <Darke> It does really seem like it. <grin> Perhaps I should add an option to output a 'header file' to ucxt... <innocentwiggle>
[15:37:41] <Colourless> well, i doubt ucc supports function overloading
[15:38:27] * Darke grins, and cackles somewhat evilly. "Oh wjp...!"
[15:40:29] <wjp> overloading... umm... well...
[15:41:01] * Darke expects a 'no', a 'No!' or a '*NO!* Never! Not at all!'.
[15:41:23] <wjp> depends on how Jeff implemented the symbol table, actually
[15:42:06] <wjp> although something like name mangling will probably always work
[15:42:44] <Colourless> yeah
[15:43:04] <Darke> wjp: Append '__' and the number of parameters to the end of the name, should 'solve' the problem.
[15:43:13] * wjp nods
[15:43:14] <Colourless> how does ucc handle overloaded intrinsics?
[15:43:22] <wjp> I don't think it does
[15:43:40] <wjp> it's not feature-complete yet
[15:43:42] <Colourless> how does it handle intrinsics in general?
[15:43:59] <wjp> AFAIK like regular function calls
[15:44:28] <wjp> syntax is UI_intrinsic_name(arg1, arg2, .., argn)
[15:45:34] <Colourless> yeah. saying overloaded intrinsics is probably the wrong word to use
[15:46:08] <Colourless> variable arguement lists is better because some intrinsics work like this intrinsic(argc1, ...)
[15:46:32] <wjp> hmm, really?
[15:46:33] <Colourless> s/argc1/arg1
[15:46:40] <Colourless> yeah.
[15:47:07] <Colourless> at least i'm pretty sure some do
[15:47:11] <wjp> but the amount of parameters hardcoded in the usecode itself, right?
[15:47:23] <wjp> insert 'is' somewhere in there :-)
[15:47:40] <Colourless> any intrinsic can be called with any amount of paramaters
[15:48:23] <wjp> btw, maybe we should start documenting intrinsic calls
[15:49:32] * Darke feels somewhat lost.
[15:50:54] <Darke> AFAIK, when you call a intrinsic, the usecode specifies how many parameters to pass, say a call to set_item_shape it says to pass 2 parameters. So in different functions, or even in the same functions, this intrinsic _may_ be called with 3 or 1 parameter?
[15:51:30] <Colourless> hmm, looking at the intrinsics, it appears that none actually do that
[15:51:56] <wjp> maybe you were thinking about opcodes like CMPS?
[15:52:13] <Colourless> except for 1 :-)
[15:52:23] <wjp> which one?
[15:52:54] <Colourless> si's error_message, which I coded :-)
[15:54:10] <wjp> hmm, I see
[15:55:10] <wjp> btw, you can cut about 8 lines from that function by using parms[i].print(std::cout)
[15:55:11] <Colourless> i'm guessing that ucc would probably allow (arg1, ...) calls anyway
[15:55:37] <Colourless> i wrote that function before print existed :-)
[15:55:45] <wjp> ah, ok :-)
[16:02:28] <wjp> there's no checking for number of arguments in ucc, atm
[16:02:46] <wjp> it looks like Jeff is planning to add it sometime, though
[16:03:04] <Colourless> that would be fun :-)
[16:20:27] <Darke> Looks like the answer to our question, "Does usecode support function overloading?" is somewhere in the area of 'no'. <grin>
[16:20:30] <Darke> var UTIL 0x93F ()
[16:20:30] <Darke> var UTIL 0x940 ()
[16:20:30] <Darke> var UTIL 0x941 ()
[16:20:44] <Darke> Unless my code is seriously b0rk3n somewhere.
[16:21:37] <Colourless> well, what does wuc do to the code?
[16:21:47] <Colourless> wud i mean
[16:24:07] <Darke> Don't know, I haven't tried it. <grin> I am, almost certain this is correct though, since it's consistant.
[16:34:24] * Darke thinks his ChangeLog/cvslog descriptions are getting wordier.
[16:35:08] <Colourless> i like jeffs cvslog messages. "Bug fixes" is so descriptive :-)
[16:35:23] <wjp> yeah; his changelog messages are better, though
[16:35:49] <Colourless> looks like the rest of us use our changelog message as the cvs message
[16:37:56] <Darke> Usually my cvslog messages are more 'general' saying "I altered ucxt to do this", whereas the changelog ones are more specific, when I can, specifying what I changed in what files.
[16:39:00] * Darke considers the fact he only has 8 code files and one data file to work on at the moment, means both of them are going to look more and more similar. <grin>
[16:48:03] <Colourless> hey wjp, i was reading the u8cheat.txt file and it's looks like it got how to enable the usecode debugger. that might help you solve all the opcodes
[16:48:15] <Colourless> maybe
[17:05:52] * wjp nods... yes, might be interesting
[17:06:17] <wjp> "Int Debug", "Debugger", "Unk debug"
[17:07:14] <wjp> I did check for opcode strings in u8.exe, but couldn't find any
[17:08:59] <wjp> if I understood things correctly, 'unk' is the higher-level language that was compiled into u8's usecode
[17:13:44] <Colourless> hey, your u8 dissambler doesn't compile. it's missing intrinsic.h
[17:14:06] <wjp> it does?
[17:14:11] <wjp> oh, right...
[17:14:12] <Colourless> yes
[17:14:39] <wjp> I guess something got lost when I transferred it into the pentagram tree :/
[17:15:30] <Colourless> the intrinsic table it looks like
[17:15:34] <wjp> yeah
[17:15:46] <wjp> the 2 or 3 of them I know, anyway :-)
[17:16:18] <Colourless> using MS cl i got lots of errors.
[17:16:20] <Colourless> all of them the same
[17:16:26] <Colourless> initialization of 'i' is skipped by 'case' label
[17:16:45] <Colourless> need to braces
[17:17:01] <wjp> I'll move 'int i' to outside the switch
[17:17:12] <Colourless> or that :-)
[17:17:35] <Colourless> u8extract is missing these:
[17:17:36] <Colourless> using std::cout;
[17:17:36] <Colourless> using std::cerr;
[17:17:36] <Colourless> using std::endl;
[17:17:47] <Colourless> disasm is missing this:
[17:17:47] <Colourless> using std::ifstream;
[17:18:12] <Colourless> overall, no worse than exult :-)
[17:18:44] <wjp> :-)
[17:19:19] <wjp> fixed & committed
[17:19:59] <Colourless> disasm.cc(206) : error C2065: 'intrinsics' : undeclared identifier
[17:20:00] <Colourless> disasm.cc(206) : error C2109: subscript requires array or pointer type
[17:20:25] <wjp> did you remove the include?
[17:20:31] <Colourless> yes
[17:20:37] <wjp> that would cause that :-)
[17:20:47] <Colourless> ah, done
[17:21:29] <wjp> hmm, we should start updating our copyright headers to include 2002, btw
[17:23:14] <wjp> any other compile errors, btw?
[17:23:27] <Colourless> no
[17:27:00] * Darke is going to go to sleep (do not pass 'go', do not collect US$200) now. "Night all!"
[17:27:09] <Colourless> cya
[17:27:14] <wjp> bye
[17:27:16] <-- Darke has left IRC ()
[17:28:00] <Colourless> you don't by any chance want to improve the functionality of disasm?
[17:28:31] <Colourless> it's next to impossible to use if you don't know an actual function number
[17:29:55] <wjp> hmm, I just used a one-line shell script to create a full disassembly, actually
[17:30:05] <wjp> but I guess you don't have that luxury :-)
[17:30:35] <wjp> would a '-a' option instead of a number be enough?
[17:30:52] <Colourless> i don't really want a full disassembly
[17:31:28] <wjp> no?
[17:31:34] <Colourless> no
[17:31:46] <Colourless> it's kind of huge
[17:32:24] <wjp> only 240470 lines :-)
[17:32:44] <wjp> what kind of functionality did you mean, then?
[17:32:52] <Colourless> list functions :-)
[17:32:55] <Colourless> i might add it myself
[17:33:51] <wjp> the first flex object in eusecode.flx is just that, btw
[17:34:00] <Colourless> yeah i know
[17:36:34] <wjp> there appear to be 4 bytes of flags or something for every function too
[17:39:12] <wjp> but to answer your original question, no, I wasn't really planning on expanding disasm
[17:39:25] <Colourless> well, i am :-)
[17:39:49] <wjp> I was actually planning on hacking u8 support into ucxt
[17:39:53] <wjp> (someday)
[17:41:29] <wjp> I was just browsing through u8.exe's strings again
[17:41:46] <wjp> looks like there was a 'unkProcess' class, along with several 'spawn' functions
[17:42:22] <wjp> ...and I do remember some 'multi-threading'-like things in U8...
[17:42:23] <Colourless> u8 doesn't have many usecode functions
[17:42:38] <wjp> (you could cast dozens of 'divination' spells at the same time
[17:42:39] <wjp> )
[17:43:07] <wjp> a couple of hundred
[17:43:37] <Colourless> is't probably something like usecode script
[17:43:42] <wjp> 516
[17:43:50] <wjp> yeah
[17:43:57] <wjp> I hope so, anyway :-)
[17:43:59] <Colourless> is that including the multiple events?
[17:44:06] <wjp> no
[17:44:16] <wjp> there's 518 objects in the flex
[17:44:35] <wjp> (0 = function names, 1 = flag names, rest = functions)
[17:46:28] <Colourless> hmmm, i'm not getting anywhere near that many
[17:46:36] <wjp> if you count 'subfunctions' it's 1578, it seems
[17:46:47] <wjp> (we need to decide on how to name these things sometime :-) )
[17:47:15] <wjp> hm, that's strange
[17:47:45] <wjp> (oh, 0 = flag names, 1 = function names, btw)
[17:48:09] <Colourless> i'm betting you are reading as ASCII!!!!!!!
[17:48:21] <wjp> ?
[17:48:37] <Colourless> ucfile.open(argv[1]);
[17:48:59] <wjp> oh, I see
[17:49:12] <wjp> does ucfile.open(argv[1], "rb") work?
[17:49:22] <Colourless> no
[17:49:37] <Colourless> you did the same thing with the crc32 code in exult as well.
[17:49:41] <wjp> oh, right, ios::binary
[17:49:47] <wjp> or something
[17:50:01] <Colourless> yeah
[17:50:43] <wjp> silly dos-style endlines :-)
[17:51:19] <Colourless> silly, bad programming more like it :-)
[17:51:38] <Colourless> granted, dos-style endings are sill
[17:51:39] <Colourless> y
[17:52:48] <wjp> should I fix it or are you going to commit something anyway?
[17:52:55] <Colourless> i'll do it
[17:52:58] <wjp> k
[17:56:59] <Colourless> 1431 and 1432 don't seem to be functions
[17:57:23] <Colourless> at least, they can't be read as them
[17:57:46] <wjp> that's because 1430 is the last one :-)
[17:58:34] <Colourless> that because you add 2 to the function number from the command line
[17:59:27] <wjp> 1430 is the last function number
[17:59:33] <Colourless> ok, much better now :-)
[17:59:34] <wjp> so 1432 is the last flex object number
[17:59:39] <Colourless> yeah
[17:59:42] <Colourless> i just noticed that
[17:59:46] <wjp> 1430 = AIRSPEL
[17:59:55] <Colourless> Usecode function 1430 (0x596) (AIRSPEL)
[18:00:17] * wjp nods
[18:02:07] <wjp> I don't really see anything "strange" in the divination code, btw
[18:02:29] <wjp> ...which would either mean that the entire function is being executed in the background, or text is just queued up
[18:03:04] <wjp> (I can't remember if you were still animating while the text showed up)
[18:03:39] <Colourless> what if the usecode was run on a separate process?
[18:04:09] <Colourless> in conversations isn't it true that the rest of the world still ran?
[18:04:29] <wjp> hmm, now that you mention it
[18:05:37] <wjp> my memory is kind of foggy, but I think I also saw monsters tripping over exploding mushrooms while in a conversation
[18:06:28] <wjp> (although I can't really figure out where you'd have a conversation near red mushrooms)
[18:06:52] <wjp> maybe on the necromancer's quest
[18:06:54] --> Fingolfin has joined #exult
[18:06:55] --- ChanServ gives channel operator status to Fingolfin
[18:07:00] <Colourless> hi
[18:07:04] <wjp> hi
[18:07:09] <matto> hi
[18:07:11] <Fingolfin> hi
[18:07:56] <wjp> it would be kind of interesting if u8's usecode is multi-threaded
[18:09:54] --> Darkatom has joined #exult
[18:10:11] <Colourless> yeah it would be interesting, and i think it is
[18:10:26] <Colourless> of course, it's not that hard to do
[18:10:59] <wjp> looking at some of the unknown opcodes from this perspective might clear some things up
[18:11:01] <Colourless> certain opcodes would just give the focus back to the game engine
[18:11:54] <wjp> there could be some inter-process communication/synchronization opcodes too
[18:12:53] <wjp> ...although I can't think of any unknown opcodes that might do that
[18:12:59] --- wjp is now known as wjp|dinner
[18:13:00] <wjp|dinner> bbl
[18:13:18] <-- Darkatom has left #exult ()
[18:30:45] --- wjp|dinner is now known as wjp
[18:50:53] <Fingolfin> pentagram/viewer stuff did compile fine for me, btw, I only had to change g++ to c++
[18:51:45] <Colourless> i think i'll make a proper win32 makefile
[18:52:55] <Fingolfin> hmm... the U8 datafiles are compressed on teh U8 CD; right?
[18:53:07] <Colourless> original u8
[18:53:32] <Colourless> the patched UC version doesn't
[18:53:36] <Fingolfin> I have my U8 CD here, english+german+french, but I am not having access to a DOS machine to do anything with it I guess, sigh
[18:53:48] <Fingolfin> it's the original
[18:54:06] <Colourless> i wonder how it's compressed
[18:54:22] <Fingolfin> I haven't yet looked. maybe it's just zip, then I could uncompress it
[18:55:01] <Colourless> they files themselves were compressed with either lha or arj i think
[18:56:32] <Fingolfin> ouch, I can't mount the CD; hmm
[19:03:06] <wjp> can't mount it? weird
[19:04:20] <wjp> ultima8.001 is indeed an arj archive
[19:06:00] <wjp> ...which seems to contain the full U8 tree with a 'u8shapes.cmp' instead of 'u8shapes.flx'
[19:06:25] <wjp> (12Mb vs. 15Mb)
[19:06:36] <wjp> the .cmp file is a .flx file, though
[19:06:53] <Colourless> a compressed flex no doubt
[19:07:57] <wjp> yup
[19:09:44] <Colourless> how does display work?
[19:09:52] <Fingolfin> I just spent 1 minute trying to mount this bloody CD, and then 10 trying to get it out of my drive again =) I fear it is to much scratched (what do we learn from this? don't give your Ultime CDs to people who will then hand the CD on to other people, making it vanish for several months)
[19:10:11] <wjp> display: scroll using arrow keys
[19:10:21] <wjp> (you can specify a map number on the cmdline)
[19:10:25] <Colourless> 2048 shapes
[19:10:25] <Colourless> Fatal signal: Segmentation Fault (SDL Parachute Deployed)
[19:10:54] <wjp> can you debug?
[19:11:22] <wjp> Fingolfin: :-(
[19:12:11] <Colourless> not at the moment
[19:12:31] <wjp> I do have a reproducable crash in display here, btw
[19:13:17] <wjp> hmm, no... I _did_ have one
[19:13:53] <wjp> the current shape ordering is very messed up, btw
[19:15:34] <Colourless> look at around line 96 in u8shapeman.cc
[19:15:45] <Colourless> you'll see a 'bug'
[19:16:06] <wjp> heh :-)
[19:16:28] <wjp> that would explain part of the randomness of the ordering :-)
[19:16:42] * wjp adds a -Wall switch to the makefile
[19:17:13] <wjp> u8shapeman.cc:96: warning: statement with no effect
[19:17:15] <wjp> right :-)
[19:17:28] <Colourless> yeah
[19:17:45] <Colourless> ok, compiles in msvc, not to debug
[19:17:47] --- Fingolfin is now known as fingolfin|dinner
[19:17:49] <Colourless> now to debug i mean
[19:17:53] <wjp> ok... it looks nicely inside-out now
[19:18:30] <wjp> wow
[19:18:45] <wjp> looks like my compare function wasn't all that bad...
[19:18:55] <Colourless> hmm, cant find nonfixed.dat
[19:19:03] <wjp> that's a gamedat file
[19:19:13] <Colourless> so it is
[19:19:38] <wjp> maybe I should detect if it's there, and if not don't try to display nonfixed items
[19:19:41] <Colourless> would have been nice it told me :-)
[19:19:48] <wjp> it's in the readme :-)
[19:19:49] <Colourless> nice IF it
[19:20:34] * Colourless adds some code to say if it can't find a file rather than just crash
[19:20:38] <wjp> I should also add some kind of auto-centering
[19:38:29] <Colourless> ok, so it seems to run now. though it crashes on map 0, and i don't seem to be seeing anything
[19:39:12] <Colourless> crashes in U8Shape::display
[19:41:09] <Colourless> looks like a problem due to lack of clipping
[19:45:20] <Colourless> or not, can't tell
[19:45:21] <wjp> I guess I didn't make the borders big enough :/
[19:45:42] <Colourless> it just crashes attempting to write to the sdl surface
[19:45:44] <wjp> try changing the 50s in u8shapeman.cc lines 137/138 larger
[19:45:55] <wjp> s/changing/making/
[19:46:52] <Colourless> to what?
[19:47:03] <wjp> dunno... 150?
[19:48:03] <wjp> strange... why didn't that change anything?
[19:48:32] <wjp> oh, wait, there's another place where they need changing
[19:48:46] <wjp> u8glob.cc, 66/67
[19:49:17] <wjp> (this will create huge black borders around the visible map)
[19:49:36] <Colourless> ok, works now
[19:51:34] <Colourless> 100 seems to be ok
[19:51:49] <Colourless> wtf is map 0?
[19:52:11] <Colourless> i see some npc's and that's about it
[19:52:50] <wjp> 'room of the dead'-like map?
[19:53:14] <Colourless> maybe
[19:53:49] <Colourless> map 5 doesn't behave at all
[19:54:01] <wjp> the divination spell doesn't have any info for map 0
[19:54:52] <wjp> btw, try inverting the comparison in u8shapeman.cc, line 191
[19:54:59] * Colourless goes back to using 150
[19:55:02] <wjp> (to: ss1.ztop < ss2.ztop)
[19:55:41] <Colourless> odd
[19:56:19] <wjp> yes... 5 has some strange spots
[19:57:06] <Colourless> you know, that didn't make much of a different
[19:57:11] <Colourless> difference
[19:57:29] <wjp> oh, and the other ones need to be inverted too, sorry
[19:57:33] --- fingolfin|dinner is now known as Fingolfin
[19:57:57] <wjp> so lines 194 and 197 should be >'s instead of <'s
[19:58:08] <wjp> still not perfect, but should be better
[19:58:15] <Colourless> not much
[19:58:31] <wjp> the buildings in map 4 were inside out the way it was
[19:59:30] <Colourless> it's little things that are out
[19:59:37] <wjp> yeah
[19:59:50] <Fingolfin> is it possible to see a screenshot of the viewer? I'd love to at least have a peek at it, until I can get the data of that darn CD :)
[20:02:28] <wjp> http://www.math.leidenuniv.nl/~wpalenst/u8display.jpg
[20:02:50] <Colourless> so, do you think those wireframed walls are meant to be invisible blocks?
[20:03:20] <wjp> I guess so
[20:05:12] <Fingolfin> wjp: thx
[20:06:35] <wjp> np
[20:18:22] <Colourless> it appears that the music in u8 is still set using jukebox eggs. there is 1 in centeral tenebrae
[20:18:33] <wjp> which map?
[20:18:42] <Colourless> 40
[20:19:03] <Colourless> it's right near the docks enterance
[20:19:22] <wjp> what way is the actual map from the starting viewport? :-)
[20:19:41] <Colourless> right
[20:19:58] <Colourless> and up a bit
[20:20:16] <wjp> huh? there's something really strange to the W of the palace
[20:20:21] <Colourless> yeah
[20:21:17] <wjp> hmmm... shape ordering is still a bit 'off' it seems.. :-)
[20:21:27] <Colourless> only a bit hey
[20:21:39] <wjp> the palace looks interesting :-)
[20:21:56] <wjp> one big 3d maze or something
[20:22:15] <Colourless> it looks like it's just drawn everything regardless :-)
[20:28:56] <wjp> off-topic question: any idea if modern athlon motherboards (via KT266A based) can still use 133Mhz SDRAM (non-DDR)?
[20:29:27] <Colourless> don't think so
[20:29:30] <wjp> :/
[20:30:14] * wjp is thinking of upgrading his athlon 700
[20:31:26] <wjp> bah... that would mean another ~200 euro on RAM...
[20:33:36] <wjp> hmm, the pentium equivalent of the KT266A (the apollo pro266) does support single data rate SDRAM
[20:34:49] <Colourless> i'm pretty sure the KT266A is only DDR. You'd need the KT133A otherwise AFAIK
[20:39:54] <wjp> "The KT266 uses the 8366 North Bridge, which offers the same feature-set as the KT133A with the exception of its DDR SDRAM support. This does mean that the North Bridge supports PC133 SDRAM"
[20:40:02] <wjp> ...which is about the KT266, not the KT266A
[20:40:16] <wjp> and IIRC they redesigned the memory controller for the A
[21:35:58] <Colourless> time for me to go
[21:37:58] <wjp> night
[21:38:07] <-- Colourless has left IRC ("[8:09]")
[22:04:15] <wjp> Fingolfin: did "Ravenous Dragon" ever email you about exult on macos 8.6?
[22:04:35] <wjp> if not: http://exult.sourceforge.net/forum/read.php?f=1&i=2802&t=2802
[22:05:24] <Fingolfin> there are two bug reports on SF on exult on MacOS. I had absolutly no time to work on it in the last month :/
[22:05:26] * Fingolfin surfs
[22:06:04] <Fingolfin> ahhh
[22:06:08] <Fingolfin> I can help that guy :)
[22:06:30] <Fingolfin> haha
[22:06:54] <Fingolfin> when I search on google for "DrawSprockets" (I know what it is, just want a download URL, anyway...) one of the top hits is an email from me <g>
[22:07:07] <wjp> heh :-)
[22:13:50] <Fingolfin> hm, scumm!
[22:14:02] * Fingolfin surfs to http://scummvm.sourceforge.net/
[22:15:05] <Fingolfin> now what do they use for gfx output?
[22:15:08] * Fingolfin hopes it is portable
[22:15:23] <Fingolfin> then again, i should hope it's not, I don't have the time =)
[22:15:27] <wjp> sdl
[22:15:33] <Fingolfin> ooh
[22:26:30] <Fingolfin> seems there is already looking at MacOS X, has some patches in their patch tracker
[22:40:55] <Fingolfin> display segfaults :/
[22:41:28] <Fingolfin> shpdisp works fine, though! nice!
[22:51:37] <wjp> any idea what segfaults display?
[22:53:16] <Fingolfin> it segfaults in fseek
[22:53:20] <Fingolfin> maybe an endian issue
[22:53:24] <Fingolfin> I will look into it in a moment
[22:53:47] <wjp> what file/line?
[22:56:08] <Fingolfin> U8Flex::U8Flex in fseeko
[22:56:17] <Fingolfin> u8flx.cc:26
[22:56:31] <wjp> umm
[22:56:33] <wjp> file not found?
[22:56:44] * wjp can't think of anything else
[22:57:12] <Fingolfin> hm, I am running it from the static dir
[22:57:41] <wjp> hmm, I might not have added nonfixed.dat to the static dir in the .zip
[22:57:53] <Fingolfin> I copied it
[22:58:29] <Fingolfin> just now I mean; it still segfaults, let me see where
[22:59:18] <Fingolfin> ah now it works; weird, no idea why it crashed on my first run
[22:59:29] <Fingolfin> so I just was missing that file in the correct spot, stupid me
[22:59:35] <wjp> buggy programs do that sometimes :-)
[23:00:37] <Fingolfin> =) anyway, that wall is rendered ... strange :)
[23:00:47] <Fingolfin> =) anyway, that city wall is rendered ... strange :)
[23:01:07] <wjp> yes, the compare function in the current CVS version is even more broken than the one I have here now
[23:01:11] <wjp> (will commit in a minute)
[23:01:29] <Fingolfin> no worries
[23:02:00] <Fingolfin> when did you plan to add support for NPCs again? :)
[23:02:18] <wjp> march 2006
[23:02:20] <wjp> ;-)
[23:02:25] <Fingolfin> but seriously, I imagine it wouldn't be too hard to add a walking avatar, steered with the mouse, would it? =)
[23:02:37] <wjp> no, not really
[23:02:47] <Fingolfin> ah now it segfaulted
[23:02:49] <wjp> so, when will you have that ready? :-P
[23:02:56] <Fingolfin> seems it doesn't liek when I scroll to far?!
[23:03:09] <Fingolfin> wjp: april 1st, 2002
[23:03:14] <wjp> were you just to the right of the gate?
[23:04:05] <Fingolfin> I can still see the window (OS X' double buffering makes it possible :) - I am ontop a city gate, yeah, and I also see a hut in front of it
[23:04:09] <Fingolfin> on the "default map" that is
[23:04:21] <Fingolfin> 73, 52: 0, 0
[23:04:23] <Fingolfin> Program received signal EXC_BAD_ACCESS, Could not access memory.
[23:04:23] <Fingolfin> 0x00003de8 in U8Shape::get_dims (this=0x20eb730, frame=24, xd=@0xbfffe12c, yd=@0xbfffe130, zd=@0xbfffe134) at u8shape.cc:131
[23:04:23] <Fingolfin> 131 int width = data[offset+10] + (data[offset+11]<<8);
[23:04:30] <wjp> yeah, that one's reproducable
[23:04:35] <Fingolfin> want a backtrace?
[23:04:37] <Fingolfin> ah ok
[23:04:44] <wjp> shape 72 or 73 or something, right?
[23:04:52] <wjp> (up, print shape)
[23:06:02] <Fingolfin> hum?
[23:06:12] <wjp> assuming you're in gdb
[23:07:34] <Fingolfin> yeah it is 72
[23:07:49] <Fingolfin> I had an offset of 2233887, so data[offset] was illegalt
[23:07:57] <wjp> yeah, frame is too big
[23:08:14] <wjp> sh. 72 only has 2 frames
[23:08:49] <Fingolfin> but it says shape=72, frame=24
[23:09:22] <wjp> yeah... sounds like a buggy map
[23:09:42] <Fingolfin> a bug in u8? never! :)
[23:09:42] <wjp> but the place where that thing is is probably outside the 'visual range' of the avatar
[23:10:05] <Fingolfin> possible. adding some error handling would be nice anyway, though :)
[23:10:22] <wjp> I do check for framenum in display, but not in get_dims :/
[23:10:51] <wjp> ok, fixed
[23:10:59] <wjp> (or worked-around, rather)
[23:11:32] <Fingolfin> good enough
[23:12:47] <wjp> btw, should I change CXX to c++ in the makefile?
[23:13:03] <wjp> (that's just a symlink to g++ on most linux systems, AFAIK)
[23:13:52] <Fingolfin> would be nice, I am doing that locally anyway
[23:13:56] <wjp> committed
[23:14:00] <Fingolfin> fine
[23:14:12] <Fingolfin> what is an u8glob? compared to an u8shape?
[23:14:26] <wjp> a glob is something like a chunk in u7
[23:14:42] <Fingolfin> ok; why is it called glob and not chunk then? :)
[23:14:52] <wjp> because it's not the same :-)
[23:15:04] <wjp> a glob is just a collection of shapes that can be put anywhere on the map
[23:15:28] <wjp> terrain, parts of buildings, trees, bushes, mushrooms, etc...
[23:15:29] <Fingolfin> ah, make sense. for complex objects?
[23:15:31] <Fingolfin> ok
[23:19:34] <wjp> I had a glob viewer at some point, but it evolved into the map viewer
[23:23:17] <wjp> hey... palace is almost right now
[23:23:51] <wjp> I originally displayed all globs first, and only sorted the rest of the shapes
[23:24:14] <wjp> now that I put the glob shapes in the drawing list like normal shapes everything looks much better
[23:25:16] <Fingolfin> cool
[23:25:24] <wjp> there's just some strange holes in places
[23:25:33] <Fingolfin> hey, is there anything like a file which maps shapeids to text descriptions?
[23:25:40] <Fingolfin> or maybe I should start something like this...
[23:26:04] <wjp> usecode function names are the closest to that, I think
[23:26:34] <wjp> the text descriptions are generated by usecode
[23:26:44] <wjp> (single clicking on something calls a usecode function)
[23:26:53] <Fingolfin> I mean a list containing a mapping like: 618 - chest; 638 - boat etc.
[23:27:00] <Fingolfin> any idea where mouse shapes are?
[23:27:02] <wjp> yes, me too
[23:27:14] <wjp> u8mouse.shp? :-)
[23:27:14] * Fingolfin thinks about adding some mouse support :)
[23:27:22] <Fingolfin> hmpf, of course =)
[23:27:39] * Fingolfin should use his brain & eyes
[23:27:46] <wjp> :-)
[23:28:00] <wjp> about those holes: see map 5, at the end of the road to the south
[23:28:06] <wjp> (just to the NW of the starting spot)
[23:29:53] * Fingolfin looks at the couple of hundred warnings and adds a default: to the switch in shpdisp.cc
[23:30:44] <wjp> oh right... those :-)
[23:30:59] <Fingolfin> :)
[23:31:36] <wjp> I think that warning should be limited to missing a _small amount_ of cases...
[23:31:52] <Fingolfin> yeah
[23:33:41] * Fingolfin updates and tries with wjp's latest changes
[23:35:27] <Fingolfin> much better indeed!
[23:36:09] <Fingolfin> but e.g. on the default map, you can see at the base of the rocks a drawing error (at least it looks like an error to me). Sort of a "black triangle"
[23:36:55] <Fingolfin> I see the hole on map 5, yeah
[23:37:07] <Fingolfin> maybe what I just mentioned is such an hole, too?
[23:37:17] <wjp> hmm, could be, yes
[23:37:40] <wjp> the palace has a few of them too
[23:37:42] <wjp> (map 40)
[23:37:59] <wjp> hmm, there's several of those triangles in the mountainside
[23:38:10] * Fingolfin tries to remember what was at the end of that road...
[23:38:14] <Fingolfin> yeah, several
[23:38:27] <wjp> looks quite good in general, though
[23:38:28] <Fingolfin> zoom-out would be nice for the mapviewer =)
[23:38:37] <Fingolfin> it does! good job, willem!
[23:38:45] <wjp> thx :-)
[23:39:13] <wjp> ..and that with an exceedingly simple comparison function
[23:40:42] <Fingolfin> in which direction do I have to scroll on map 40 to see anything? :)
[23:41:06] <wjp> far right
[23:41:08] <wjp> (and a bit up)
[23:42:25] <Fingolfin> you always start at the bottom left i figure?
[23:42:43] <wjp> no, at some random coords I thought up once
[23:43:45] <Fingolfin> the tables on top of the palace, next to the waypoint, are drawn incorrectly
[23:43:51] <Fingolfin> in case you didn't see that yet :)
[23:44:00] --> Kirben has joined #exult
[23:44:00] --- ChanServ gives channel operator status to Kirben
[23:44:04] <Kirben> Hi
[23:44:07] <Fingolfin> hiya
[23:44:34] <Fingolfin> wjp: and more black holes, indeed. If they were on the same ground, I'd just guess there was some sort of "default" ground, but some is street, some is grass
[23:44:58] <wjp> ugh... where did that palace go? :-)
[23:45:03] * wjp is lost on map 40
[23:45:16] <wjp> ah, there
[23:45:33] <Fingolfin> lol
[23:45:48] <Kirben> Fingolfin: Could you add cvs slot on web site for penetram tools ?
[23:45:51] <Fingolfin> maybe a feature that automatically scrolls so that something is visible would be in order? :)
[23:45:55] <wjp> problem with those tables is that I currently sort on Z_top first
[23:46:02] <wjp> Fingolfin: my thought exactly :-)
[23:46:04] <wjp> hi Travis
[23:46:06] <Fingolfin> Kirben: hum? what where how?
[23:46:22] <wjp> penetram? pentagram?
[23:46:36] <Fingolfin> I understood that :) I dunno what "cvs slot" is, though
[23:46:37] <Kirben> oops yes pentagram
[23:46:48] <wjp> like the other snapshots, I guess
[23:46:50] <Kirben> I meant a snapshots slot.
[23:47:25] <Fingolfin> uhm, we are releasing snapshots of it already???
[23:47:56] <wjp> if we do, there should be a big "developers only" sign on it, I think :-)
[23:48:05] <Fingolfin> what was the res U8 used? 320x200? bigger?
[23:48:07] <wjp> oh, and an "unsupported" sign :-)
[23:48:09] <wjp> 320x200
[23:48:23] <Fingolfin> I'd vote for waiting a bit before doing that, at least until a bit more error handling is in :)
[23:48:43] <wjp> hmmm... wait a sec...
[23:48:56] <wjp> Fingolfin: do you see the hole in the right side of the palace?
[23:48:57] <Fingolfin> sec is over, what now? :)
[23:49:14] <Kirben> I just thought it might help decode u8 if other people have access to tools too.
[23:49:30] <Fingolfin> hey, cool
[23:49:40] <Fingolfin> wjp: did you see that thing to the lower left of the palace map?
[23:49:46] <wjp> Kirben: yeah, true
[23:50:03] <Fingolfin> if you leave the south gate there is a wood plank
[23:50:11] <wjp> Fingolfin: yeah
[23:50:13] <Fingolfin> wonder if that is just drawn in the wrong place for some reasons, or jsut a map bug?
[23:50:26] <Fingolfin> I see the whole, yeah
[23:50:34] <Fingolfin> with view onto a fish & some bottles
[23:50:53] <wjp> it looks like the wall section that's supposed to go there is actually drawn a bit higher
[23:51:08] <Fingolfin> I also see the whole next to the wood bridge
[23:51:15] <Fingolfin> the whole area there is wrong
[23:52:29] <wjp> the stretch of riverbank under the palace appears to be too high, too
[23:53:32] <Fingolfin> that explains why all the building looked to flat to me :)
[23:53:48] <Fingolfin> I think the problem occurs all over the place
[23:54:12] <wjp> yes...
[23:55:17] <wjp> I wonder if it's the globs or the non-globs
[23:56:19] <wjp> globs
[23:57:00] <wjp> hmm, come to think of it... I modified the drawing function for globs slightly from the one in u8mapfmt.txt
[23:59:27] <wjp> ok... going back to the original did _not_ help things :-)
[23:59:41] <wjp> (and that one wall section is still elevated)