#pentagram@irc.freenode.net logs for 22 Nov 2004 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage

[05:01:14] <-- Jett has left IRC (Read error: 104 (Connection reset by peer))
[05:01:45] --> Jett has joined #pentagram
[05:30:46] <-- Fl00der has left IRC ()
[06:03:20] --> Colourless has joined #Pentagram
[06:03:30] --- ChanServ gives channel operator status to Colourless
[07:56:47] --- Jett is now known as Darke
[08:35:58] <wjp> *yawn*... morning
[08:36:44] <Darke> Morning!
[08:38:59] <wjp> lots of new goodies in pentagram since last night :-)
[08:39:09] <wjp> including TonysBalls ;-)
[08:40:40] * Darke bunnydanceyays! He loves TonysBalls!
[08:40:43] <Darke> Err...
[08:40:50] <Darke> That probably wasn't the *best* phrasing, really.
[08:41:28] <wjp> I named them "fireballs" (a far more original name than TonysBalls, don't you think?) in Pentagram
[08:42:19] <Darke> I think so, yes. *grin*
[09:09:35] <-- Darke has left IRC (Read error: 54 (Connection reset by peer))
[09:11:31] <Colourless> wjp, thinking about invertscreen
[09:12:04] <Colourless> do we want it to invert the entire interface like the original game?
[09:25:11] --> Darke has joined #pentagram
[10:47:37] --> Ember has joined #pentagram
[10:47:37] <-- Darke has left IRC (Read error: 104 (Connection reset by peer))
[10:49:11] <wjp> Colourless: I was asking myself the same thing yesterday
[10:49:21] <wjp> I wouldn't mind preventing the diary from being flipped...
[10:49:51] <wjp> so maybe we could flip only the GameMapGump
[10:50:04] <Colourless> what about the mouse cursor
[10:50:47] <wjp> good question
[10:51:19] <wjp> invert if over the gamemapgump, don't invert if over another gump? :-)
[10:51:33] <Colourless> a bit 'hard' to work out
[10:51:37] <wjp> (would that even be possible to do consistently? :-) )
[10:52:02] <Colourless> idea
[10:52:16] <Colourless> invert entire screen EXCEPT if in modal gump mode
[10:52:30] <wjp> hm, that might work
[10:52:53] <wjp> and when in modal gump mode invert everything but the modal gump?
[10:53:09] <wjp> oh, before I forget, I noticed something annoying yesterday:
[10:53:16] <wjp> the game is _not_ paused during the target intrinsic
[10:53:21] <wjp> (in the original, I mean)
[10:53:48] <wjp> brb
[10:53:52] <Colourless> hmm how exactly does modal gump work?
[10:56:37] <Colourless> hmm.. modal gumps just pause the game world..
[10:58:54] <Colourless> makes it hard to flip the entire screen except the gump without some nasty hacks
[10:59:01] <Colourless> i want to keep it all clean
[11:05:12] <wjp> there's a bit of 'overlap' with the idea we've had of selectively scaling things
[11:05:30] <wjp> (like scaling everything except the ConsoleGump, for example)
[11:06:20] <Colourless> yes i had thought of that
[11:07:06] <Colourless> however scaling wasn't going to be something that would change frequently
[11:07:52] <Colourless> however
[11:07:55] <Colourless> i have an idea
[11:08:08] <Colourless> we could split up things a bit
[11:08:33] <Colourless> have multiple levels of gumps
[11:08:46] <Colourless> top level: desktop gump
[11:09:07] <Colourless> second level: modal gumps + 'inverter gump'
[11:09:15] <Colourless> third level: non scaled gumps
[11:09:20] <Colourless> + scaling gump
[11:09:32] <Colourless> fourth level: scaled gumps + game world
[11:10:55] <Colourless> inverter gump and scaling gump would always exist, but if they are not used, however if their functionality isn't needed they will just act as pass throughs
[11:11:43] <Colourless> uh.. messy sentence that... remove ",but if they are not used"
[11:14:22] <wjp> but that would mean modals aren't scaled?
[11:17:30] <wjp> maybe more something like: desktop, unscaled gumps, scaler, modal gumps, inverter, normal gumps
[11:18:38] <Colourless> but
[11:19:08] <Colourless> thinking about things like text bark gumps... want those inverted or not...
[11:19:16] <Colourless> hmm
[11:19:23] <Colourless> actually your way probably is the best way
[11:19:28] <Colourless> puts barks above modals
[11:20:04] <Colourless> if we want scaled barks, just use high rest font
[11:20:10] <Colourless> s/rest/res/
[11:32:42] <-- Ember has left IRC (Read error: 104 (Connection reset by peer))
[11:51:52] --> Ember has joined #pentagram
[12:13:55] * wjp hmms
[12:14:17] <wjp> above modals? not below?
[12:14:53] <wjp> putting them above modals does indeed allow them to be unscaled
[12:15:08] <wjp> but putting them above modals can be quite annoying, especially since they won't time out
[12:18:48] <wjp> does the original invert bark gumps, btw?
[12:18:57] <Colourless> inverts everything
[12:19:15] <Colourless> absolutly everything
[12:28:48] <-- Kirben has left IRC ("System Meltdown")
[12:33:31] <wjp> tricky issue...
[12:33:44] <wjp> I think I'd put barks below modals
[12:34:03] <Colourless> hmmm. yeah
[12:34:16] <wjp> which would probably automatically make them scaled, unfortunately
[12:35:50] <wjp> there are probably ways around that, but that won't be pretty...
[12:36:07] <wjp> (the code won't be pretty, I mean; the visuals probably would be :-) )
[12:36:47] <Colourless> well
[12:37:00] <Colourless> bark gumps were always something i couldn't resolve
[12:37:14] <Colourless> want them unscales in some cases
[12:37:19] <Colourless> but below scaled gumps
[12:37:56] <Colourless> can't think of any resonable way of doing it
[12:38:23] <wjp> you'd need a z-buffer, I guess
[12:38:28] <Colourless> and i don't want to be 'compositing' multiple layers of data
[12:38:35] <Colourless> yes, z buffer would work
[12:38:41] <Colourless> but icky as hell
[12:38:48] <Colourless> (to modify scales to work with a z buffer(
[12:38:49] <wjp> could you put something like that in the alpha byte?
[12:39:36] <Colourless> yes, in theory you should be able to
[12:40:25] * Colourless thinks
[12:40:48] <Colourless> only ever need a 'constant' depth
[12:41:16] <Colourless> so could have some render surface global for 'depth' to draw at
[12:41:39] <Colourless> then each gump tells rendersurface their depth
[12:41:50] <Colourless> changing the value
[12:42:03] <Colourless> then the scaling would include alpha in the scaling
[12:42:36] <Colourless> then when blitting the text tell it to blit at specified depth
[12:43:07] <wjp> needs some special cases to prevent too many depth lookups
[12:43:18] <Colourless> yes
[12:43:27] <Colourless> depth testing would normally be disabled
[12:43:27] <wjp> since most of the rendering will still be in the proper order
[12:43:32] <Colourless> except on special function calls
[12:43:39] * wjp nods
[12:44:08] <Colourless> of coures this then means that bark gump will not be inverted
[12:44:16] <Colourless> (which personally i don't care about)
[12:44:32] <wjp> I don't mind either
[12:45:48] <Colourless> hmm
[12:45:55] <Colourless> 16 bit rendering...
[12:46:01] <Colourless> no alpha channel
[12:46:10] <wjp> hm, right
[12:46:13] <wjp> good point
[12:47:33] * Colourless thinks
[12:47:51] <wjp> we could just disable unscaled bark gumps in 16 bit mode :-)
[12:47:58] <Colourless> yes i was thinking that
[12:48:08] <Colourless> i'm sure most everyone would probalby choose to render in 32 bit
[12:48:29] <Colourless> and if you 'have' to render at 16 bit, you probably wouldn't really have enough CPU power to do scaling.. but hard to say
[12:49:07] <wjp> the only problem is that this would mean you'd need to render the barkgumps at different points depending on bitdepth
[12:49:23] <Colourless> this was going to be a problem anyway
[12:49:34] <wjp> it was?
[12:49:37] <Colourless> if you want scaled bark gumps and don't have high res fonts
[12:49:52] <wjp> ah, of course :-)
[12:50:03] <Colourless> not really a problem
[12:50:11] <Colourless> can just 'shift' the gumps between layers
[12:50:28] <wjp> yeah, true; it's just a member variable anyway
[12:50:41] <wjp> and it's (hopefully) just for this one type of gump
[12:50:55] <wjp> although... books/scrolls... :-)
[12:51:33] <Colourless> you 'really' dont want to think about attempting to half scale those...
[12:51:50] <Colourless> background scaled, forground not scaled... ow!
[12:51:58] <Colourless> need 2 gumps
[12:52:16] <wjp> the text is a separate widget already
[12:52:33] <wjp> and they're modal so inverting isn't a problem
[12:53:17] <Colourless> it's just a bit of a hack having two different gumps in 2 different layers to represent 1 thing... but doable
[12:53:33] <wjp> oh, I see what you mean; that widget is a child of a gump and so can't really have a different layer
[12:53:41] * wjp wasn't thinking straight :-)
[12:54:02] <Colourless> half of the code to do this sort of thing already exists
[12:54:08] <Colourless> the object relative stuff
[12:54:54] <Colourless> will lock the 2 gumps together
[12:55:27] <wjp> if we want to limit it to books/scrolls and the like, they won't be movable anyway
[12:57:42] <Colourless> not too hard to do
[13:41:04] --> Fl00der has joined #pentagram
[14:09:13] --> edbgon has joined #pentagram
[14:10:32] --> WattAtWork has joined #pentagram
[14:10:40] <WattAtWork> hiya
[14:10:48] <Fl00der> hi
[14:12:34] <edbgon> hi
[14:14:31] <Colourless> hi
[14:17:00] <edbgon> how is the development going then?
[14:19:36] <Colourless> or plans to take over the world are progressing well...
[14:19:41] <Colourless> wait... did i say that...
[14:23:14] <WattAtWork> say what? I didn't hear anything reguarding world domination... not at all. :-)
[14:31:52] <edbgon> strange
[14:31:57] <edbgon> i thought that is what pentagram was far
[14:31:58] <edbgon> for
[17:30:00] <-- Fl00der has left IRC ()
[17:56:39] <wjp> Colourless: how were you planning to do the scaling/inverting between layers exactly? For inverting I could imagine simply doing an invert pass in the DrawChildren loop of DesktopGump, for example
[17:58:21] <wjp> we could also do something like a special InvertGump below DesktopGump of which all invertable gumps would be children, but I don't really like that
[17:59:10] <Colourless> inverting doesn't really matter how it's done
[17:59:22] <wjp> scaling is the trickier one, I agree :-)
[17:59:48] <Colourless> scaling will need a separate gump
[18:00:01] <Colourless> but that is how i always planned on doing it
[18:00:03] <wjp> but that might be tricky if we want to allow text gumps to 'shift' layers
[18:00:06] <Colourless> now with the invert
[18:00:16] <Colourless> hhmm.. not IMO
[18:00:45] <Colourless> pretty easy to do. scaling will not be something that gets changed often so manually fixing things up should be ok
[18:01:03] <wjp> hm, yeah, probably
[18:01:30] <Colourless> anyway with the invert my solution is to have a separate Gump and use render to texture and use a special blit to do the inverting
[18:02:13] <wjp> but then you'd need to decide which Gump to add each new gump to as a child
[18:02:42] <wjp> unless we add a wrapper that automatically does that depending on layer
[18:03:22] <wjp> come to think of it, scaling has the same problem
[18:03:35] <wjp> (although for scaling pretty much everything will be scaled)
[18:04:10] <Colourless> i was thinking have a 'addGump()' function and that automatically figure out where things go..
[18:04:20] * wjp nods
[18:21:44] * edbgon nods excessively
[20:49:50] <-- Colourless has left IRC ("casts improved invisibility")
[21:33:36] <-- WattAtWork has left #pentagram ()
[21:52:08] <-- Ember has left IRC (Read error: 104 (Connection reset by peer))
[22:00:11] --> Jett has joined #pentagram
[22:27:51] <-- edbgon has left IRC ("Leaving")
[22:28:15] --> Fingolfin has joined #pentagram
[22:28:15] --- ChanServ gives channel operator status to Fingolfin
[22:30:47] <wjp> hi Fingolfin
[22:34:13] <Fingolfin> hi there
[22:40:30] --> Kirben has joined #pentagram
[22:40:30] --- ChanServ gives channel operator status to Kirben
[23:21:12] --> Kirben2 has joined #pentagram
[23:22:31] <-- Kirben has left IRC (Nick collision from services.)
[23:25:23] --- Kirben2 is now known as Kirben
[23:25:31] --- ChanServ gives channel operator status to Kirben