#nuvie@irc.freenode.net logs for 29 Jan 2004 (GMT)

Archive Today Yesterday Tomorrow
Nuvie homepage

[01:40:14] --> Kirben has joined #nuvie
[04:20:55] --> SB-X has joined #nuvie
[04:47:51] --> sbx has joined #nuvie
[04:47:56] <-- SB-X has left IRC (Read error: 54 (Connection reset by peer))
[07:12:49] <-- servus has left IRC ()
[10:13:15] --> servus has joined #nuvie
[11:05:56] --> Yuv422 has joined #nuvie
[11:06:01] <Yuv422> hi
[11:06:01] <servus> Hi
[11:06:27] <wjp> hi
[11:06:51] <servus> Only my Hi was capitalized -- I win!
[11:07:16] <wjp> congratulations :-)
[11:07:21] <servus> What did I win?
[11:07:48] <Yuv422> servus: you win a set of steak knives!
[11:07:50] <wjp> a free copy of the next nuvie release?
[11:07:57] <servus> wjp: Actually no, I can't.
[11:08:04] <servus> CVS is kicking me on my bum
[11:08:05] <Yuv422> or that if you prefer. ;)
[11:08:07] <wjp> I'll even throw in a free copy of the next exult release too
[11:08:25] <wjp> (as soon as SF decides to propagate it to its download mirrors :-) )
[11:08:29] <servus> There's a next copy of exult?
[11:08:45] <servus> I really really really *really* want to co the dosbox cvs
[11:09:07] <wjp> the topic of #dosbox has a link to a source snapshot
[11:09:30] <servus> Inteereesting.
[11:09:53] <servus> Thanks, I'll compile later. I don't feel like mussing with Slack anymore tonight ;-)
[11:11:04] * Yuv422 is running nuvie without a MsgScroll at the moment.
[11:11:14] <servus> You daring dog, you!
[11:14:47] <Yuv422> I've reworked Text and Turned it into seperate Font class instances
[11:15:04] <Yuv422> accessed via a FontManager
[11:17:03] * servus ponders adding a sourceforge project.
[11:20:36] <Yuv422> what does your project do?
[11:21:04] <servus> Oh, it's just a 3D engine that everyone's seen. I doubt anyone would be interested though
[11:22:08] <servus> It's just that I already foresee about 100,000 lines of code that need writing... and that's just what I actually foresee. :-)
[11:22:12] <Yuv422> If you post it they will come!
[11:22:35] <servus> Pleh, if SF wakes up, maybe..
[12:37:22] <Yuv422> in a std::list is their a method to return an iterator at a given pos in the list?
[12:38:11] <Yuv422> I guess I would just do iterator += pos;
[12:38:23] <Yuv422> after iterator = list.begin();
[12:38:26] <Yuv422> ?
[12:40:35] <Yuv422> or can an iterator only accept ++
[12:43:33] * sbx yawns
[12:43:37] <sbx> hello?
[12:43:41] <Yuv422> hey
[12:43:45] <sbx> hi
[12:44:07] <sbx> i figured out a bit about eggs
[12:44:13] <Yuv422> cool
[12:44:14] <sbx> need to do more experimenting
[12:44:17] <Yuv422> what's that?
[12:44:24] <sbx> the quality is a bitfield
[12:44:27] <sbx> bit 0 is "silent"
[12:44:33] <sbx> bit 4 is "nocturnal"
[12:44:52] <Yuv422> cool
[12:45:08] <sbx> bit 1 may be something like "don't hatch multiple times"
[12:45:14] <sbx> but not sure, its hard to test that
[12:45:33] <sbx> 7 6 and 5 are completely unused in u6
[12:45:50] <Yuv422> they might be used
[12:46:06] <Yuv422> in a situation you haven't replcated yet
[12:46:31] <sbx> i printed a sorted egglist saying "Eggs with 0x01 set:", "Eggs with 0x02 set:" and so on
[12:46:32] <Yuv422> have you tried setting them and running in the original?
[12:46:38] <Yuv422> cool
[12:46:48] <sbx> thats all i did :)
[12:47:13] <Yuv422> so is the guard in LB's castle simply nocturnal?
[12:51:14] --> EsBee-Eks has joined #nuvie
[12:51:14] <-- sbx has left IRC (Connection reset by peer)
[12:51:26] --- EsBee-Eks is now known as SB-X
[12:53:13] --> sbx has joined #nuvie
[12:53:13] <-- SB-X has left IRC (Read error: 54 (Connection reset by peer))
[12:53:22] <sbx> ping ping
[12:53:33] <Yuv422> ping
[12:53:42] <Yuv422> hehe MsgScroll is almost usable again
[12:54:04] <sbx> wow, nice
[12:54:20] <sbx> the guard is 0x15, which if a bitfield is a lot of unknowns + nocturnal + silent
[12:54:24] <sbx> which makese sense
[12:55:14] <Yuv422> I guess silent means shamino doesn't say "I hear..."
[12:56:15] <Yuv422> any idea on bit 2?
[12:56:35] <sbx> yeah thats what it means
[12:56:39] <sbx> im nto sure on any of the others
[12:56:51] <sbx> i dont see any patterns, or noticable changes
[12:56:59] <sbx> when i played in the original after setting others
[12:57:09] <sbx> the 2nd bit it set on all gargoyles on the surface
[12:57:15] <sbx> but also on other things
[12:58:20] <sbx> at first i was able to see when the creatures spawned by walking close to the egg until shamino said something, he says it right when it hatches
[12:58:55] <sbx> but then i realized that if you put the party over there and walk away in solo mode you can come back and keep switching to one of the party members to see when somethings there
[12:59:19] <sbx> down to a precise number of spaces away
[12:59:30] <-- Yuv422 has left IRC (kornbluth.freenode.net irc.freenode.net)
[13:04:19] <servus> Yuv: Different containers use different iterators. A list uses a forward_iterator, which you cannot do arbitrary arithmetic with. A vector, on the other hand, uses a random_iterator, which you can do things like `it = vec.begin() + 5` and `it -= 5` with. Lists are for simple enumeration, and vectors for random enumeration.
[13:04:24] <servus> And... he's gone.
[13:04:33] <sbx> o_O
[13:04:46] <servus> What's the funny face for?
[13:04:46] <sbx> but I'm sure he appreciates it
[13:05:01] <sbx> heh nothing, the way you said it
[13:05:18] <servus> Well I'm really really really tired.
[13:05:29] * servus is trying to work up the courage to plop down in bed
[13:05:42] <sbx> I think I will go back to sleep soon
[13:05:47] <sbx> all the sleep tires me out
[13:06:17] * servus notes: puts( (myVector.begin() + 5)->c_str() ); is fine
[13:07:19] --> Yuv422 has joined #nuvie
[13:07:25] * servus wonders what STL 'vectors' have to do with what a 'vector' means in every other language.
[13:07:37] <servus> Yuv422: I answered your iterator question in logs.
[13:08:11] <servus> Hmm, "vector n. A one-dimensional array."
[13:10:07] * Yuv422 looks
[13:10:25] * Yuv422 also wonders why he was disconnected.
[13:12:04] <Yuv422> thanks servus
[13:12:18] <servus> Hmm, vectors have interesting constructors... vector<int> newvec(oldvec.begin(),oldvec.end())
[13:12:18] <Yuv422> I'm just iterating my iterator to the correct spot now
[13:12:28] <Yuv422> maybe I should use a vector
[13:12:42] <Yuv422> as it is a fixed length sequence
[13:13:56] <servus> Fixed length? What's wrong with arrays? :-)
[13:15:11] <Yuv422> hehe yeah
[13:15:46] <Yuv422> I'm using a list at the moment because I can take from one end and add to the other
[13:16:03] <Yuv422> as the text scrolls through the message buffer
[13:16:20] <-- sbx has left IRC (Read error: 104 (Connection reset by peer))
[13:16:22] --> sbx has joined #nuvie
[13:16:31] <servus> Well you have a fixed number of messages that can ever appear on the scroll at once, right? Why not just preallocate that many strings?
[13:16:50] <Yuv422> that's what I did originally
[13:17:02] <Yuv422> but then you've got to have a rolling startend
[13:17:25] <Yuv422> and do %'s to iterate through the array
[13:17:45] <servus> Yeah, but pushing and popping is so... mallocy ;-)
[13:18:00] <Yuv422> yeah I know. :(
[13:18:39] <servus> There is another way
[13:18:48] <Yuv422> ?
[13:18:54] <servus> You can preallocate the strings, and just push and pop the pointers to the strings
[13:19:46] <Yuv422> you are still mallocing memory though
[13:19:50] <Yuv422> for the pointer list
[13:20:06] <servus> What's 4*row bytes? :-)
[13:20:14] <Yuv422> :P
[13:20:33] <servus> Oh I see what you mean, but you can do a static resize on vectors.
[13:20:45] <servus> std::vector::reserve
[13:20:56] <sbx> Yuv422: oh, you asked about msgscroll feature requests ealier? :)
[13:21:06] <Yuv422> sbx: fire away
[13:21:13] <sbx> Yuv422: just that display_string() and display_prompt() continue to work the way they do now
[13:21:17] <servus> The vector won't actually kill the memory space when you pop. It'll just keep it there for your next push. Neat huh?
[13:21:17] <sbx> or very close
[13:22:00] <Yuv422> sbx: I'm still using the old interface
[13:22:16] <Yuv422> I haven't coded the new varargs interface yet
[13:22:24] <Yuv422> or the start/stop methods
[13:22:37] <Yuv422> It don't even have paging
[13:22:39] <sbx> ok thats fine
[13:22:48] <sbx> and there are some notes about msgscroll in TODO, maybe implement those
[13:22:56] * Yuv422 looks
[13:23:06] <Yuv422> I've added a Fontmanager
[13:23:17] <Yuv422> to replace Text
[13:23:18] <sbx> oh just about too many breaks
[13:23:32] <sbx> ok
[13:23:54] <sbx> we need to be able to do multiple font conversion in printed strings
[13:24:01] <sbx> with the conversion characters
[13:24:03] <sbx> just remembered that
[13:24:15] <sbx> <RUNIC> <gargish>
[13:24:21] <sbx> not just in book data
[13:24:22] <Yuv422> I was thinking about that
[13:24:34] <Yuv422> should the translation be done in MsgScroll
[13:24:37] <Yuv422> ?
[13:25:05] <sbx> i don't know how low level it goes
[13:25:10] <Yuv422> or should MsgScroll just be passed strings and fonts
[13:25:37] <sbx> you may want to override the special chars
[13:26:10] <sbx> msgscroll should probably do the conversion, telling something else what font to use
[13:26:35] <Yuv422> maybe we could have a format option
[13:26:37] <sbx> do you have a metainformation block on the stored string or control codes within the string data?
[13:26:48] <sbx> to tell where the font changes, color etc
[13:26:52] <Yuv422> I have a MsgText class
[13:27:08] <Yuv422> which has a std::string and a Font *pointer
[13:27:26] <sbx> does a Font only represent one font?
[13:27:38] <Yuv422> then I have a MsgLine which is a std::list of MsgText's
[13:27:40] <Yuv422> yes
[13:27:51] <Yuv422> you can select fonts from the fontmanager
[13:28:05] <sbx> then I dont see why you wouldnt do that in msgscroll
[13:28:35] <Yuv422> incase you want <RUNIC> to pass through untranslated for some reason
[13:28:58] <sbx> yeah that's why you would do in MsgScroll and not a lower level
[13:29:07] <Yuv422> I'll build it into MsgScroll
[13:29:10] <sbx> because im sure you could have a switch to disable conversion
[13:29:21] <sbx> ok
[13:29:46] <Yuv422> MsgScroll is still a couple of days away from comit
[13:30:13] <sbx> will you have a 2nd vector of control codes telling how and where the conversions are
[13:30:18] <sbx> or store them in the text
[13:30:27] <sbx> or just leave the current conversion characters
[13:30:45] <Yuv422> I'll store them as MsgText's with the correct font pointer
[13:30:59] <Yuv422> without the '<' '>' chars
[13:31:03] <sbx> oh right
[13:31:09] <sbx> it has positional information?
[13:31:09] <Yuv422> :)
[13:31:12] <Yuv422> yes
[13:31:30] <Yuv422> MsgScroll is now a collection of string/font pairs
[13:31:38] <sbx> ok I see now
[13:31:45] <Yuv422> arranged into lines
[13:31:50] * sbx looks forward to it.
[13:31:56] <Yuv422> :)
[13:32:06] <sbx> they were talking about that in #pentagram a few days ago
[13:32:16] <Yuv422> really
[13:32:19] <Yuv422> cool
[13:33:35] <Yuv422> when they wern't wacking each other with fish. ;)
[13:34:24] <sbx> hhaha
[13:34:34] <sbx> maybe thats why Im not in there now
[13:35:07] <sbx> speaking of font conversion i changed alt 214 to be more like the original with the original strings
[13:35:22] <sbx> but i left the old stuff there commented out in case you would get mad at me changing the code
[13:35:46] <Yuv422> hehe
[13:35:58] <Yuv422> that's why I'm reworking MsgScroll
[13:36:12] <Yuv422> so we can handle the original 214. :)
[13:36:34] <sbx> ah k
[13:36:44] <sbx> yeah thats the only thing i remember in gargish
[13:36:48] <sbx> besides book data
[13:39:01] <Yuv422> what is the double click delay set to?
[13:39:32] <sbx> 200
[13:39:42] <Yuv422> cycles?
[13:39:46] <sbx> milliseconds
[13:39:48] <Yuv422> right
[13:40:24] <sbx> i think there is something else besides delay that is stopping the dbl-click when it shouldnt
[13:40:27] <sbx> will have to investigate
[13:40:58] <sbx> however in MapWindow it wont wait for a dbl-click at all unless the mousecursor is over an object or actor
[13:41:22] <Yuv422> do we have mouse focus?
[13:41:46] <Yuv422> so you can move the avatar with the mouse outside the MapWindow area?
[13:42:13] <sbx> with the mouse? no
[13:42:18] <sbx> i dont know how that would work
[13:42:31] <Yuv422> something to think about I guess
[13:42:52] <sbx> i dont know what it means
[13:43:17] <Yuv422> if I click in the MapWindow to move the avatar
[13:43:36] <Yuv422> but drag my mouse pointer out of the MapWindow it stops moving the Avatar.
[13:43:49] <sbx> yes that is intentional
[13:44:09] <Yuv422> really
[13:44:39] <Yuv422> I find it easier to control if I can move the mouse outside the mapwindow
[13:44:54] <Yuv422> that's just my opinion though
[13:45:03] <Yuv422> other people might disagree
[13:49:55] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[13:50:13] <-- sbx has left IRC (Read error: 104 (Connection reset by peer))
[13:51:16] --> sbx has joined #nuvie
[13:51:28] <sbx> Yuv422: well now that you mention it I don't remember how U6 did it
[13:52:20] --> Kirben has joined #nuvie
[13:54:38] <Yuv422> U6 did it your way
[13:55:01] <sbx> oh ok, thats nice :)
[13:55:01] <Yuv422> IIRC
[13:55:03] <sbx> it isn't hard to change
[13:55:29] * Yuv422 I'm a keyboard user
[13:55:38] <Yuv422> so it doesn't really effect me. ;)
[13:55:51] <Yuv422> I'm off to bed now
[13:55:53] <sbx> heh
[13:56:01] <Yuv422> cya
[13:56:07] <sbx> bye
[13:56:13] <-- Yuv422 has left IRC ("BitchX: the quilted quicker picker upper")
[14:18:49] <-- sbx has left IRC (Read error: 104 (Connection reset by peer))
[16:41:38] --> Kirben2 has joined #nuvie
[16:42:30] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[16:42:38] --- Kirben2 is now known as Kirben
[16:51:37] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[19:33:21] --> SB-X has joined #nuvie
[22:40:25] <-- servus has left IRC (Read error: 54 (Connection reset by peer))
[22:40:29] --> servusAway has joined #nuvie
[22:41:52] <-- SB-X has left IRC (Read error: 104 (Connection reset by peer))
[22:58:47] <-- wjp has left IRC (kornbluth.freenode.net irc.freenode.net)
[22:59:09] --> wjp has joined #nuvie