#pentagram@irc.freenode.net logs for 21 Dec 2003 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage

[01:19:30] <-- Fingolfin has left IRC ("42")
[01:44:39] <-- wjp has left IRC ("Zzzz...")
[05:39:28] <-- Knight has left IRC (" I love my HydraIRC -> http://www.hydrairc.com <-")
[12:24:46] --> wjp has joined #pentagram
[12:24:46] --- ChanServ gives channel operator status to wjp
[12:25:14] <wjp> hi
[12:36:43] <Darke> Hi! Bye! Zzzzz.... (Got to get up early in the morning. *grin*)
[12:37:39] <wjp> night :-)
[13:00:25] --> Fingolfin has joined #pentagram
[13:00:25] --- ChanServ gives channel operator status to Fingolfin
[13:10:56] <wjp> hi
[13:20:35] <Fingolfin> hiya
[13:24:48] --> Colourless has joined #Pentagram
[13:24:48] --- ChanServ gives channel operator status to Colourless
[13:31:12] <wjp> hi
[13:31:19] <Colourless> hi
[13:39:58] <Fingolfin> yo
[13:40:26] * Fingolfin is thinking about buying this DVD Player + 5.1 surround system on monday...
[13:40:26] <Fingolfin> http://germany.aldi.com/cms/product_01/product_524.html
[13:40:42] <Fingolfin> (yeah yeah, german text, but hey, DivX is the same in most languages :-)
[13:41:45] <wjp> my parents bought a (really cheap) dvd player yesterday
[13:42:08] <wjp> I'm currently experimenting with svcd-burning a bit
[13:42:18] <wjp> (mpeg2 encoding is *slow* :-) )
[13:43:32] <Colourless> yes mpeg2 encoding is slow :-)
[13:46:12] <wjp> (and while it's encoding I'm actually coding on pentagram :-) )
[13:46:53] <Fingolfin> hehe
[13:47:04] <Fingolfin> which proves that DVD players are something good!
[13:47:15] <wjp> lol
[14:28:17] <Colourless> having low wisdom sort of sucks more than i anticipated. I keep getting scared around mummies (among other things) that have Aura's of Fear.
[14:31:05] <Colourless> so there's me attempting to run away, while my henchmen are beating up enemies (poorly i might add)
[14:31:30] <Colourless> a golden circlet sounds... useful right about no
[14:31:35] <Colourless> w
[14:31:43] <wjp> did that have immunity to fear?
[14:31:51] <wjp> or mind effects even?
[14:32:24] <Colourless> mind effects
[14:32:31] <Colourless> s/effects/spell/s
[14:33:20] <Colourless> one of my henchmen has got one, but i would really like another :-)
[14:40:42] <Fingolfin> hehe
[14:40:54] <Fingolfin> my golden circlet looks pretty nice, too, yeah =)
[15:34:51] <wjp> it seems I have a working SliderGump :-)
[15:35:10] <wjp> (except for minor details like the 'ok' button and keyboard control, but nobody cares about those anyway ;-) )
[15:35:10] <Colourless> neat
[15:35:34] <wjp> uses the generic gump-drag'n'drop code to move the slider around
[15:35:39] <Colourless> ok then, how exactly is it 'working' :-)
[15:36:07] <Colourless> curious, how does modal mode work?
[15:36:12] <wjp> not :-)
[15:36:38] <wjp> I did subclass it from a new ModalGump class, but that doesn't really do anything yet
[15:36:46] <wjp> well, it does do something
[15:36:47] <Colourless> :-)
[15:36:48] <Colourless> i see
[15:37:04] <wjp> it catches all mouse input and has a higher layer than even ABOVE_NORMAL
[15:37:30] <wjp> so if you only consider mouse handling it's modal in a sense
[15:37:49] <wjp> it doesn't pause the kernel yet, nor does it 'lock' the keyboard
[15:37:58] <wjp> of course pausing the kernel is trivial to add currently
[15:38:25] <Colourless> ok, did you implement the slider as a widget or did you just code it all into the gump?
[15:38:59] <wjp> it's currently all in the gump
[15:39:11] <Colourless> What!! :-)
[15:39:31] <wjp> I know... :-)
[15:39:35] <Colourless> assuming the gump system actually works correctly, should be reasonably trivial to change that
[15:39:40] <wjp> yes
[15:40:11] <wjp> the handling of the slider is limited to 4 or 5 functions
[15:40:52] * Colourless remember he still has to fix the class Shape issues with gumps
[15:41:46] <wjp> you mean a general way to save Shapes?
[15:42:03] <wjp> (or Shape*'s, to be more exact)
[15:42:10] <Colourless> no
[15:42:35] <Colourless> IIRC we don't save shapenumbers for gumps in savegames, since i didn't bother to store that in the gump clases
[15:42:43] <Colourless> instead i just have a Shape *
[16:05:59] <wjp> hm, also need a text widget that allows changing the next
[16:06:07] <wjp> or I could just manually draw the text
[16:07:06] <Colourless> extend the text widget :-)
[16:07:19] <wjp> NotSoSimpleTextWidget? ;-)
[16:07:38] <Colourless> of course since you are doing numbers, it would probably be easier doing it in the gump
[16:11:57] <wjp> interesting comments at the top of SimpleTextWidget.h. Apparently we have a WrappingTextWidget and a FacingPageTextWidget ;-)
[16:13:29] * wjp hmms about keyboard input
[16:13:56] <Colourless> bah, those aren't finished yet :-)
[16:14:49] <wjp> we could 'lock' the keyboard in the sense that all keyboard events go to desktopgump (and its focussed child)
[16:15:07] <Colourless> that would make sense
[16:15:13] <wjp> that way, as long as we assure that a modal gump always has focus, they'll end up at the modal gump automatically
[16:15:44] <wjp> would probably have to be a lock counter so it can be incremented in ModalGump::InitGump and decremented in ModalGump::Close
[16:16:49] <Colourless> yeah
[16:18:10] <wjp> oh, interesting
[16:18:17] <wjp> you can't drag gumps while avatarInStasis
[16:19:03] <Colourless> a bug obviously :-)
[16:19:27] <wjp> I'd better put it in the bug tracker then :-)
[16:19:52] <Colourless> better assign it to the person responsible for the input code... oh wait, that's pretty much you :-)
[16:20:06] * wjp nods; makes sense
[16:22:07] * wjp wonders what font the original used for that label
[16:22:18] <wjp> font 0 seems to fit
[16:23:23] <Colourless> the slider is gold correct?
[16:23:27] <wjp> yes
[16:23:48] * Colourless decides to check
[16:24:17] <wjp> I'd check myself but dosbox is fairly unrunnable with this mpeg2enc in the background :-)
[16:24:35] * Colourless can't actually check
[16:24:54] * Colourless looses keyboard input when he attempts to run a dos program
[16:25:09] <wjp> eh?
[16:25:18] <Colourless> eh indeed
[16:25:29] <wjp> any idea why?
[16:25:41] <Colourless> no clue :-)
[16:25:48] <Colourless> it used to work, now it doesn't
[16:26:50] <wjp> oh, u8 doesn't work in current dosbox anymore
[16:27:00] <wjp> Call:Gate:Invalid SS selector.
[16:27:52] * wjp updates dosbox cvs and recompiles
[16:27:53] <Colourless> thing is, not every dos program doesn't work
[16:27:55] <Colourless> only some
[16:29:36] <Colourless> what i don't really know is whether the programs just stop responding to keyboard, or are actually just outright freezing
[16:33:15] <wjp> hm, in latest dosbox cvs it's "IRET to lower privilege"
[16:33:51] <Colourless> interrupt ret that is
[16:35:12] <Colourless> try using u8w (if you have it)
[16:36:13] <wjp> same
[16:47:07] <wjp> ARGH! I accidentally killed the mpeg encoder :-)
[16:47:28] <wjp> note to self: pay attention to what's running in a terminal before closing it :-)
[16:49:22] <wjp> ah well, just experimenting anyway
[16:49:41] <wjp> kind of curious of the a/v sync is correct in this partial mpeg
[16:49:47] <wjp> the last one was about 5 seconds off :-)
[16:51:08] <wjp> hm, same for this one it seems
[16:52:04] <wjp> I wonder if it's the conversion from 24fps to 25fps
[16:52:40] <Colourless> your output should be at the same framerate as your input
[16:52:57] <wjp> well, input is 24fps (or 23.9something)
[16:53:16] <Colourless> ok then get your encoder to encode to NTSC with 3:2 pullup
[16:53:21] <wjp> ntsc?
[16:53:41] <wjp> shouldn't I be using pal?
[16:53:56] <Colourless> only use pal if your source actually is pal :-)
[16:54:11] <Colourless> you'd be surprised, encoding to 24 FPS might actually work
[16:54:17] <Colourless> just depends on the DVD player
[16:54:31] * wjp hmms
[16:55:25] <Colourless> your encoder should have '3' different profiles. One for FILM (which is 23.9something fps), PAL (25 FPS) and NTSC (29.9something FPS)
[16:56:42] <wjp> actually it has 8
[16:57:47] <wjp> NTSC 3:2 pulldown converted FILM, NATIVE FILM, PAL/SECAM VIDEO/converted FILM, NTSC VIDEO, 30.0, 60.0
[16:57:50] <wjp> make that 6
[16:58:12] <-- Kirben has left IRC ("Sleep")
[16:58:14] <wjp> (the two others are PAL FIELD RATE, NTSC FIELD RATE)
[16:58:14] <Colourless> does it give details?
[16:58:56] <wjp> this is for 'mpeg2enc', btw
[16:59:04] --> Harekiet has joined #pentagram
[16:59:09] <Harekiet> go make it work :)
[16:59:12] <wjp> Harekiet: good guess :-)
[17:00:16] <Colourless> try using NTSC 3:2 or NATIVE FILM
[17:01:08] <wjp> one thing that's kind of weird is that all the webpage-howtos I've seen on the subject tell me to use 'yuvscaler' first to scale the yuv stream to SVCD resolution first
[17:01:19] <wjp> and for some reason this only accepts PAL and NTSC
[17:01:54] * wjp hmms
[17:01:57] <Colourless> FILM video size will be the same as NTSC
[17:09:52] <wjp> ok, you can actually close the SliderGump now :-)
[17:10:26] <wjp> were you planning to make ButtonGump support shapes instead of text as well?
[17:10:48] <wjp> some commented-out sections seem to indicate that, anyway
[17:11:52] <Colourless> yes
[17:17:59] <-- Colourless has left IRC ("brb")
[17:23:37] --> Colourless has joined #Pentagram
[17:23:37] --- ChanServ gives channel operator status to Colourless
[17:35:34] <wjp> ok, having yuvscaler output ntsc svcd and mpeg2enc 'NATIVE FILM' fixes the a/v sync
[17:35:40] <wjp> at least in the first two minutes
[17:36:52] <Colourless> well, if it's fine for 2 minutes, i doubt you'll have a problem
[17:37:28] <Colourless> 24 FPS to 25 FPS is a 4% difference, which is really huge
[17:37:56] <wjp> 5 seconds after 2 minutes :-)
[17:38:03] <wjp> which was what I was getting the last time
[17:38:09] <Colourless> yep. For an entire movie, it's about 5 minutes :-)
[17:38:21] <wjp> that would be fairly annoying :-)
[17:38:37] <Colourless> only fairly annoying?
[17:38:42] <wjp> ;-)
[17:38:51] <Colourless> something happens and you get the sound for it 5 minutes later? ONLY ANNOYING?!
[17:39:23] <Colourless> :-)
[17:39:26] <wjp> good way to train your short-term memory ;-)
[17:39:47] <wjp> or, actually, that's probably already long enough to fall into the long-term memory range
[17:40:34] <Colourless> i'm not sure
[17:40:43] <Colourless> probably is
[17:41:13] <wjp> ok, I changed ButtonWidget to be a subclass of Gump
[17:41:24] <wjp> I'm having it create a SimpleTextWidget child when in text-mode
[17:41:34] <Colourless> what was it before? Sub class of SimpleTextWidget?
[17:41:38] <wjp> yes
[17:41:51] <wjp> but it seems to refuse to place the SimpleTextWidget at a sensible location
[17:42:15] <Colourless> the SimpleTextWidget probably doesn't act like you are expecting
[17:43:00] <wjp> ah, the y coordinate is the baseline
[17:43:05] <Colourless> The origin of the simple text widget IIRC isn't the top left
[17:44:21] <wjp> works now
[17:44:29] <Colourless> :-)
[17:44:54] <wjp> now, let's see if the shape variety works too
[17:45:30] <Colourless> oh no, i'm guessing you implemented my non existant commented out code or something :-)
[17:46:07] <wjp> well, I implemented _something_
[17:46:44] <Colourless> I think we should use Gumps to create a new Windowing system for linux!
[17:47:49] <wjp> but you don't even use linux
[17:47:54] <wjp> (or maybe that's why? ;-) )
[17:48:45] <Colourless> hey, we can have a windows version too
[17:49:20] <Colourless> you know as a way of getting us stubborn windows users to move over to linux :-)
[17:50:26] <wjp> hm, I'm wondering if Gump::TraceObjID should check shape
[17:50:58] <Colourless> theory would probably be yes it should
[17:51:43] <Colourless> check general gump bounds first, then use a has point check on the shape
[17:51:44] <wjp> if (PointOnGump(mx,my)) return getObjId() ?
[17:52:25] <Colourless> yes that would seem right
[17:52:56] <Colourless> hmm
[17:53:01] <wjp> that slider 'ok' button is ugly
[17:53:23] <wjp> no matter at which x coordinate I put it it doesn't fit
[17:54:29] <Colourless> you remove the g->PointOnGump(mx,my) ?
[17:55:12] <Colourless> hmm, that function is kind of screwey
[17:55:19] <wjp> which one?
[17:55:28] <Colourless> Gump::TraceObjID()
[17:55:58] <Colourless> it will never return the objid of self, only of it's children
[17:56:27] <Colourless> which is fine if you do a trace from DesktopGump, as all of the other games are it's children
[17:56:33] <Colourless> s/games/gumps/
[17:57:27] <wjp> hm, I'll have to think about this a bit
[17:57:32] <Colourless> should work like this. Check all children (reverse iterating), if child found return that. If no child found and the point is on us, return us.
[17:57:34] <wjp> dinner first, though
[17:57:35] <wjp> bbl
[17:57:41] <Colourless> k
[17:57:43] <wjp> Colourless: yeah, that's what I added at the end currently
[17:57:58] <wjp> if (!objid || objid == 65535)
[17:57:59] <wjp> if (PointOnGump(mx,my))
[17:57:59] <wjp> objid = getObjId();
[17:58:03] <wjp> (right before the return)
[17:58:45] <Colourless> there should be a
[17:58:46] <Colourless> // First check again rectangle
[17:58:46] <Colourless> if (!dims.InRect(mx,my)) {
[17:58:46] <Colourless> return false;
[17:58:46] <Colourless> }
[17:58:55] <Colourless> check at the start of the function too or something
[17:59:04] <Colourless> (obviously not returning false though)
[17:59:29] <Colourless> that would be after the ParentToGump line
[18:01:54] <Colourless> need to be careful though, don't want dragging to die if the DesktopGumps objid is returned
[18:02:06] <Colourless> (which i think may have been the reason why things are as they are)
[18:02:58] <Colourless> solution for DesktopGump may be to overload the virtual function and get it to return 0 if it's objid is to be returned
[18:24:42] --> ragzter has joined #pentagram
[20:21:22] <wjp> it kind of depends on if we want gumps to intercept mouse clicks by default
[20:23:26] <wjp> maybe it would be easier in the long run to have TraceObjID ignore the gump itself by default
[20:45:43] <wjp> strange... I can reproducably make the slider disappear
[20:45:47] <wjp> and I don't have a clue why
[20:53:17] <wjp> although drawing it a y=-138529023 might be a problem ;-)
[20:54:24] <wjp> s/a /at/
[20:55:29] <Colourless> ok, so i've got back all my stuff that i carried over from SoU. And I have so much stuff, that
[20:55:41] <Colourless> 1) The weight is so much i couldn't possibly carry it all
[20:55:56] <Colourless> 2) The weight is so much that me, and my henchmen couldn't possibly carry it
[20:56:16] <Colourless> 3) The actual size of the stuff wouldn't fit in my inventory 2x over
[20:58:33] <wjp> you got back your stuff?
[20:58:42] <Colourless> yes
[20:58:42] <wjp> how did you lose it in the first place?
[20:58:52] <wjp> oh, wait, you mentioned something like that earlier
[20:58:57] <Colourless> it got stolen!
[21:01:32] <wjp> so, what are you going to do with all that stuff?
[21:01:43] <Colourless> sell it :-)
[21:02:02] <Colourless> come back, get more of it, sell that too :-)
[21:02:32] <wjp> :-)
[21:03:40] <Colourless> changes in the rules means that spells are pretty much useless for me
[21:03:58] <wjp> they changed the rules from SoU to HotU?
[21:04:01] <Colourless> so, there isn't much point keeping them, since i can't cast them very reliably.
[21:04:09] <wjp> oh, use magic device?
[21:04:15] <Colourless> yes
[21:05:54] <wjp> in the real rules casting a wand/scroll with the use magic device skill is DC20
[21:06:39] <wjp> effective caster level is roll minus 20
[21:07:00] <wjp> if that's too low you may have a problem in the case of scrolls
[21:07:04] <Colourless> wands haven't been changed
[21:08:03] <wjp> only scrolls?
[21:08:31] <Colourless> yes
[21:10:39] <wjp> hm, strange
[21:10:59] <wjp> manual says it's DC25+spell level now for scrolls
[21:11:20] <wjp> and it says it did this to fit closer to the D&D rules
[21:11:40] <wjp> oh, wait
[21:11:53] <wjp> I see... it's DC25+spell level to decipher a scroll
[21:12:02] <wjp> (in real D&D3rd)
[21:15:34] <Colourless> sd
[21:17:22] <Colourless> pretty much means that if your Use Magic Item's level isn't at least 20, you aren't going to be able to cast scrolls
[21:44:52] <-- Fingolfin has left IRC ("42")
[22:24:00] <wjp> not reliably, no
[22:24:15] <wjp> of course a rogue gets lots of skill points, so that should be reachable
[22:24:43] <Colourless> if i was pure rogue i would be there easy. But i'm not :-)
[22:25:47] <wjp> assassin/shadowdancer don't get as many skill points?
[22:26:10] <Colourless> No, i don't think so
[22:26:17] <Colourless> Shadowdancer can't up the skill
[22:26:23] <Colourless> Assassin may not be able to either
[22:26:29] <wjp> hm, I see
[22:26:43] <wjp> it is bard/rogue only, yes
[22:27:06] <Colourless> Assassin has it as a class skill as well
[22:27:15] * Colourless was at a level-up
[22:27:30] <Colourless> As an assassin i'm getting 6 skill points
[22:27:42] <Colourless> while as a rogue i'd be getting 10
[22:27:57] <Colourless> shadowdancer gets 8
[22:28:10] <wjp> 10? human + lots of int?
[22:28:17] <Colourless> half-elf
[22:28:32] <Colourless> int is 14
[22:31:10] <wjp> that's fairly high
[22:32:11] <wjp> hmm... I wonder why the getSliderInput intrinsic is a member of Item
[22:33:28] <wjp> maybe positioning
[22:33:40] <Colourless> yeah it is fairly high. I created my character a bit on the extreme side. High Dex, Cha, Int and Con. Low Str. Really low Wis
[22:35:39] <Colourless> no idea why getSliderInput would be a member of Item
[22:35:51] <Colourless> but you could be right, might be for position
[22:36:42] <wjp> uh oh
[22:36:55] <Colourless> as far as i know, it's not really used for anything other than splitting items.
[22:37:02] <Colourless> uh oh?
[22:37:07] <wjp> getSliderInput is supposed to return the slider value
[22:37:17] <Colourless> uh, yeah :-)
[22:37:27] <Colourless> what are you doing?
[22:37:56] <wjp> "not thinking" ? :-)
[22:38:18] <Colourless> :-)
[22:40:02] <wjp> this is kind of annoying, though
[23:20:45] <wjp> it apparently wants to do user interface stuff within the intrinsic
[23:21:06] <wjp> but we only allow UI things outside of any running processes
[23:22:12] <wjp> I can think of a way to get this to work, but it'll a) be rather a large hack, and b) mess up execution order of currently running processes
[23:22:46] <wjp> but I'm assuming getSliderInput isn't used in any 'risky' areas wrt inter-process sync
[23:23:26] <Colourless> the original way i was thinking of doing modal stuff, would be to have a 'secondary' event loop
[23:23:56] <wjp> that's one way...
[23:24:18] --> Kirben has joined #pentagram
[23:24:18] --- ChanServ gives channel operator status to Kirben
[23:25:04] <Colourless> the other way would be to suspend the process
[23:25:22] <Colourless> then when the modal has finished, set the intrinsic return value
[23:25:25] <wjp> and have another process set the return value of the intrinsic...
[23:25:35] <wjp> yes, that was the 'rather a large hack' I was referring to
[23:25:47] <Colourless> you don't 'need' a process though
[23:26:00] <Colourless> make the modal gump itself resume the process and set the return value
[23:30:50] <wjp> 'set the return value'... that'll need a nice hackish member of UCProcess :-)
[23:31:13] <Colourless> :-)
[23:31:14] <wjp> and all this so we can give money to a beggar :-)
[23:31:37] <Colourless> hehe
[23:31:41] <wjp> (that's the only place the intrinsic is used outside of the 'cheat' usecode)
[23:32:18] <Colourless> there 'might' be other similar intrinsics, but hell if i can think of one
[23:33:12] <wjp> is 'target' modal?
[23:34:45] <Colourless> i have no idea
[23:34:56] <Colourless> my guess would be yes
[23:35:25] <Colourless> books and scrolls are modal IIRC
[23:35:33] <Colourless> but, they don't return anything
[23:35:53] <Colourless> of course, it's quite possible they are processes
[23:37:21] <Colourless> they are of course processes :-)
[23:41:44] <wjp> good :-)
[23:42:39] <Colourless> WTF then is the slider modal!!
[23:43:05] <Colourless> 1 intrinsic!!! Only 1 needs a hack :-)
[23:43:14] <wjp> maybe target too
[23:43:47] <wjp> maybe it was like this because it made it easier to reuse the slider for splitting up items?
[23:43:59] <Colourless> yeah perhaps
[23:44:08] <Colourless> we don't really know how they did modal stuff though
[23:44:22] <wjp> interesting; intrinsics don't have a way to find out which process is calling it
[23:44:51] <Colourless> a 'Kernel::getCurrentProcess()' would help :-)
[23:45:15] <Colourless> I'm guessing they probably used some interrupt hack to stall the kernel and do a modal
[23:45:22] <wjp> quite possibly
[23:45:37] <wjp> reset interrupt vectors or something
[23:45:51] <Colourless> yeah
[23:46:47] <Colourless> you really know too much about system programming when you can speculate on how a 10ish year old Dos program functioned :-)
[23:49:37] <Colourless> heh, you can get your weapons upgraded in HotU. I've now got a Short Bow +3, that has an Attack Bonus of +4 :-)
[23:49:46] <wjp> :-)
[23:50:11] <Colourless> I have now also added Unlimited +5 Ammunition
[23:50:47] <Colourless> It cost 100,000 to have that :-)
[23:51:04] <Colourless> it allows you to go to a maximum Attack bonus of +10
[23:51:17] <wjp> unlimited +5 ammo? wow
[23:51:39] <Colourless> yeah
[23:52:28] * wjp sighs
[23:52:39] <wjp> now I need to check if the process 'accidentally' suspended itself in UCMachine too
[23:53:24] <wjp> and check if the kernel is paused after each individual process
[23:53:34] * Colourless sigh, not enough gold for any more upgrades
[23:54:01] <wjp> I see they found a good way to get rid of excess gold? :-)
[23:54:15] <Colourless> yes it would appear so
[23:54:25] <Colourless> i went through about 300k gold in a few seconds :-)
[23:56:18] * Colourless also added True Seeing and Fire Damage 2D6 to his Courtsean Blade, and Electrical Damage 2D6 to his Pixel Lance
[23:57:10] <wjp> careful or you'll make me start playing NWN instead of coding ;-)
[23:57:19] <Colourless> :-)