#pentagram@irc.freenode.net logs for 17 Apr 2005 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage


[02:36:05] <-- Colourless has left IRC ("casts improved invisibility")
[03:01:05] --- sbx|here is now known as sbx
[08:08:05] <-- Lightkey has left IRC (Read error: 60 (Operation timed out))
[08:15:42] --> Lightkey has joined #Pentagram
[08:19:14] <sbx> (:
[08:20:45] <Lightkey> !noopS
[08:31:41] <servus> No!
[09:33:27] --> Colourless has joined #Pentagram
[09:33:27] --- ChanServ gives channel operator status to Colourless
[12:52:15] --- sbx is now known as sbx|afk
[13:22:50] <wjp> Colourless: what would I do to (instantly) reset a palette to a not-faded-to-black state?
[13:23:05] <wjp> before starting the endgame movie, the original does a FadeToBlack
[13:23:32] <wjp> the movie itself doesn't have a problem with that since it uses the movie palette and not the game palette, but after the movie is done the main menu is still blacked out
[13:24:12] <Colourless> hmm...
[13:24:45] <Colourless> need to just reset the palette transform matrix
[13:26:38] <wjp> the last part of Palette::load(ds), I guess?
[13:27:02] <wjp> I'll move that to a Palette::resetMatrix function then
[13:27:29] <Colourless> should actually be something to let you do that already
[13:27:54] <Colourless> then again maybe not
[13:31:04] <wjp> it looks like a PaletteManager::getTransformMatrix(Transform_None) followed by PaletteManager::transformPalette would do that too
[13:31:25] <wjp> in fact that would be better since it creates a native palette
[13:40:39] <wjp> I added a PaletteManager::untransformPalette(PalIndex index) function
[13:41:29] <wjp> ...which does getTransformMatrix(Transform_None, matrix); pal->transform = Transform_None; transformPalette(index, matrix);
[13:50:08] <oaQ^> is pentagram using palettes?
[13:50:52] <wjp> U8 used them, so we have to as well
[13:51:06] <wjp> pentagram's output doesn't use palettes, though
[13:51:17] <wjp> output is 16 or 32 bit
[13:51:34] <oaQ^> ok
[14:44:43] <wjp> I guess I'll have to add yet another process... this time one to pop up the main menu...
[14:45:11] <wjp> when closing the endgame's moviegump or the avatar's gravestone gump the menu should show
[15:05:44] <Colourless> is there any specific reason why it would be impossible to save modal gumps
[15:06:19] <Colourless> because i want to implement 'restarting' pentagram to do video mode changing, and the easiest way would be to create a save game of everything
[15:06:27] <Colourless> shut everything down, then start up and load that game
[15:06:31] <wjp> not so much impossible, but rather undesirable, I think
[15:06:36] <wjp> hmm
[15:07:06] <wjp> restarting it?
[15:07:54] <Colourless> so much of pentagram is based on screen size and gumps are also somewhat reliant on scaler settings too
[15:08:21] <Colourless> it would be easier to recreate everything then fiddle around shifting gumps between layers if say scaling settings are changed
[15:10:03] <wjp> I'm not sure
[15:10:43] <wjp> it wouldn't be too hard to have all gumps top-level gumps remove and re-add themselves from their parent
[15:10:49] <wjp> s/gumps top/top/
[15:28:35] <wjp> right, moved hlead/vlead for u8's fonts to u8.ini
[15:31:00] --> trin has joined #pentagram
[15:37:44] <-- trin has left IRC ("You are heading for some face time with Mrs. Brick !")
[15:48:35] <Colourless> willem, what is the point of the [ttf] ini section?
[15:49:20] <Colourless> couldn't we just have the [fontoverride] looking like this
[15:49:20] <Colourless> 0=VeraBd.ttf,10,0xC0C0FF,1
[15:49:32] <Colourless> and so on?
[15:50:18] <wjp> yeah, could probably do that
[15:50:28] <wjp> would have to do a two-pass load then
[15:50:45] <Colourless> why is that?
[15:50:49] <wjp> first figure out which ttf's we have to load at which pointsizes
[15:51:03] <Colourless> cant we just do the loading as a font is requested/
[15:51:24] <wjp> hm
[15:51:53] <Colourless> i've no idea how the TTF stuff is really setup though
[15:52:26] <wjp> there's TTF_Font, which is an SDL_ttf struct. This 'contains' a ttf at a fixed pointsize
[15:53:02] <wjp> I wrap those in a TTFont class. Multiple TTFont objects can use the same underlying TTF_Font object
[15:53:22] <Colourless> now i'm thinking at the moment we do this:
[15:53:25] <wjp> (for example when you want to use the same font in a different color)
[15:53:37] <Colourless> create a TTF_Font for each of the listed in the [ttf] section
[15:53:47] * wjp nods
[15:53:56] <Colourless> then setup the overrides by grabbing the associated TTF_Font
[15:54:07] <Colourless> obviously the fonts are stored somewhere
[15:54:35] <Colourless> so we could have it to look up the font, if it isn't found to be loaded, attempt to create an store the TTF_Font
[15:55:07] <wjp> yeah, that's possible
[15:56:36] <Colourless> my main reason for doing that is could be useful to be able to access fonts of any size in pentagram, not just ones that have been defined in the ini
[15:57:54] <wjp> that would make SDL_ttf (and a ttf) a required dependency, but I can imagine it would be useful sometimes
[16:00:27] <Colourless> Pentagram Menu -> realy want TTF
[16:00:39] <-- Kirben has left IRC ("Sleep")
[16:00:45] * wjp nods
[16:00:55] <Colourless> all the official builds are going to require SDL_ttf
[16:01:13] <wjp> well, if we start using ttf in the menu, all builds are going to require it :-)
[16:01:22] <wjp> (which is not a problem IMO)
[16:01:28] <Colourless> same
[16:02:56] <wjp> right, so we're going to have to store TTFs in a map indexed by (name,size)
[16:03:32] <wjp> ...and I should _really_ add a small parser class for all those annoying argument lists in the ini files :-)
[16:27:09] <wjp> hm, how should we make the 'new' TTFonts accessible? Through the normal FontManager::getFont interface? (using high fontnums in an enum somewhere?)
[16:28:06] <Colourless> na
[16:28:39] <Colourless> don't really think we should do it that way
[16:29:00] <Colourless> the current getFont should only be for 'game' specific fonts
[16:30:28] --> Colourless` has joined #Pentagram
[16:30:41] <-- Colourless has left IRC (Nick collision from services.)
[16:30:43] --- Colourless` is now known as Colourless
[16:30:45] --- ChanServ gives channel operator status to Colourless
[16:30:57] <Colourless> yay... lan driver crashed...
[16:31:02] <Colourless> or something...
[16:46:43] <-- Colourless has left IRC ("casts improved invisibility")
[16:51:00] --> Colourless has joined #Pentagram
[16:51:00] --- ChanServ gives channel operator status to Colourless
[16:51:30] <wjp> bbl, dinner
[16:52:52] <Colourless> k
[17:02:00] <-- Colourless has left IRC ("brb")
[17:10:03] --> Colourless has joined #Pentagram
[17:10:03] --- ChanServ gives channel operator status to Colourless
[17:30:57] <wjp> ok, reorganized FontManager a bit
[17:31:42] <wjp> hm, need a better name for the load/get functions for these new fonts
[17:31:49] <wjp> suggestions? :-)
[17:32:16] <wjp> I could also rename the current getFont to getGameFont
[17:33:34] <Colourless> sounds like a good idea
[17:33:40] <Colourless> getGameFont :-)
[17:33:48] <Colourless> other could be getTTFont or something
[17:37:03] * wjp nods
[17:42:02] * Colourless has an idea...
[17:42:21] <Colourless> no idea if we want it, but it might be possible to have support for loading 'system' font
[17:42:22] <Colourless> s
[17:49:03] <wjp> hm, hard to define on some platforms :-)
[17:51:38] <Colourless> yeah... easy on windows just mount the directory returned by SHGetFolderPath(NULL, CSIDL_FONTS, NULL, SHGFP_TYPE_DEFAULT, path) to a virtual path in pentagram
[17:52:46] <wjp> in linux I think the most standard font selection library is currently fontconfig
[17:53:21] <wjp> I'm having some trouble figuring out from the docs what exactly that expects as input and gives as output, though :-)
[17:54:42] <Colourless> but really the only point to it would be to let users specify thier own custom fonts without having to copy it to pentagrams data dir
[18:02:02] --> Luck|Chetic has joined #pentagram
[18:04:11] <wjp> well, fonts actually still work :-)
[18:04:47] <wjp> I'm not sure if we should make it 'too' easy to use other fonts than the ones we supply
[18:08:58] <-- Chetic has left IRC (Read error: 60 (Operation timed out))
[18:11:19] <wjp> committed
[18:11:51] <wjp> use loadTTFont() to open a ttf, then use getTTFont() to access it
[18:11:57] <wjp> indexing is done on fontnums
[18:15:21] <Colourless> great thanks
[18:15:43] <wjp> maybe we should add a fontnum enum to FontManager
[18:15:58] <wjp> but that kind of depends on how we end up using those ttf's
[18:18:38] --> Colourless` has joined #Pentagram
[18:18:50] <wjp> I should probably also add Vera.ttf, VeraBd.ttf to CVS now
[18:19:28] <Colourless`> yeah would be a good idea
[18:20:39] <wjp> done
[18:28:47] <Colourless`> hmm
[18:29:00] <wjp> what did I break? :-)
[18:29:10] <Colourless`> nothing....
[18:30:14] <Colourless`> with the intro i'm thinking maybe we should not stop it with the SlowStopMusic command and isntead let it play through the type in the characters name screen
[18:30:56] <wjp> I'm thinking that the music does stop too soon currently
[18:31:13] <wjp> but that might be because the timing of the intro is off, as well
[18:31:22] <Colourless`> i'm pretty sure it's pretty close to the original
[18:31:30] <Colourless`> faster machine = stops really quickly
[18:31:45] <Colourless`> on the ol 386 would hear a lot of the music :-)
[18:32:55] <wjp> does the starting map's music begin before or after entering your name currently?
[18:33:07] <Colourless`> after
[18:33:31] <wjp> I wonder why
[18:35:08] <-- Colourless has left IRC (Read error: 113 (No route to host))
[18:35:08] --- Colourless` is now known as Colourless
[18:35:09] --- ChanServ gives channel operator status to Colourless
[18:35:45] <wjp> oh, of course
[18:35:58] <wjp> the musicegg's hatch process is paused during the menu
[18:36:19] <wjp> I was thinking of the musicprocess running even though the menu is open, but that wasn't relevant :-)
[18:37:43] <Colourless> i think i'll commit a small 'hack' to stop the intro music from stopping
[18:38:23] <wjp> that fixes the inconsistency of the music not stopping when pressing escape as well :-)
[18:45:42] <wjp> hm... guy on the SDL mailing list blits 100 70x70 full alpha images to a 640x480 32bit surface, gets 150fps and thinks this is slow
[18:47:20] <wjp> (and a reply suggests using a HWSURFACE instead of a SWSURFACE... brilliant :-) )
[18:49:35] <Colourless> LOL
[18:49:54] <wjp> bbl
[18:50:08] <Colourless> I remember what happened when i was using HWSURFACE in pentagrm and i added blended shapes
[18:50:18] <Colourless> went from like 60 FPS down to about 3
[19:35:20] <Colourless> quotes and credits probably should always be unscaled gumps
[19:35:46] <Colourless> but with changing text size depending on the gump size
[19:36:43] <Colourless> unless of course ttf is set to no...
[19:45:32] <Colourless> committed my stuff
[19:46:43] <Colourless> i think i screwed up my commit message though...
[19:52:03] <Colourless> yes i did. commit message is old :-)
[19:59:37] <wjp> starting pentagram feels quite nostalgic at the moment :-)
[20:14:42] <Colourless> yeah it's really beginning to 'get there'
[20:23:42] <wjp> oh, I have some uncommitted animation changes here
[20:24:01] <wjp> oh right, that looping stuff
[20:24:05] <wjp> ugh
[20:27:36] <Colourless> ugh?
[20:28:17] <wjp> ugly :-)
[20:29:29] <wjp> currently I'm assuming that flag 0x10 means exactly the same as the looping flag
[20:31:36] <Colourless> ah that...
[20:34:08] * watt pops in of a second... "Perhaps, the ini file manager should have some sort of get value as comma separated values
[20:34:23] <watt> s/of/for/
[20:34:36] <wjp> doesn't really belong there, I think, but there should be such a function, yes
[20:34:52] <wjp> maybe I'll borrow the console commandline parser :-)
[20:35:35] <Colourless> the command line parser doesn't do anything with commas :-)
[20:38:14] <Colourless> utils.cpp is where you'll find the 'magic'
[20:38:39] <wjp> yeah
[20:38:52] <Colourless> simple code
[20:40:19] <wjp> I think I'll add a 'split' function (which splits a string on a given character), and a 'split to key=value' (which splits a string and interprets the parts as key=value pairs)
[22:30:30] <wjp> finished those
[22:30:35] <wjp> (and committed)
[22:31:08] <Colourless> nice
[22:32:29] <wjp> hm, MusicFlex::loadSongInfo might be able to use it as well
[22:33:18] <Colourless> yeah
[22:33:23] <Colourless> probably could
[22:45:26] <wjp> I should go; good night
[22:45:34] <Colourless> night
[23:09:40] --> Kirben has joined #pentagram
[23:09:40] --- ChanServ gives channel operator status to Kirben
[23:09:47] <-- Kirben has left IRC (Remote closed the connection)
[23:11:20] --> Kirben has joined #pentagram
[23:11:20] --- ChanServ gives channel operator status to Kirben
[23:12:33] <-- Colourless has left IRC ("casts improved invisibility")
[23:13:44] <-- servus has left IRC (lem.freenode.net irc.freenode.net)
[23:13:44] <-- sbx|afk has left IRC (lem.freenode.net irc.freenode.net)
[23:13:44] <-- Ember has left IRC (lem.freenode.net irc.freenode.net)
[23:13:44] <-- Luck|Chetic has left IRC (lem.freenode.net irc.freenode.net)
[23:13:44] <-- oaK^ has left IRC (lem.freenode.net irc.freenode.net)
[23:13:44] <-- oaQ^ has left IRC (lem.freenode.net irc.freenode.net)
[23:13:44] <-- Kirben has left IRC (lem.freenode.net irc.freenode.net)
[23:13:44] <-- abp_sleep has left IRC (lem.freenode.net irc.freenode.net)
[23:14:40] --> Kirben has joined #pentagram
[23:14:40] --> Luck|Chetic has joined #pentagram
[23:14:40] --> sbx|afk has joined #pentagram
[23:14:40] --> servus has joined #pentagram
[23:14:40] --> Ember has joined #pentagram
[23:14:40] --> oaK^ has joined #pentagram
[23:14:40] --> oaQ^ has joined #pentagram
[23:14:40] --> abp_sleep has joined #pentagram
[23:31:23] --- sbx|afk is now known as sbx
[23:32:49] <sbx> hello
[23:35:25] <servus> NO!
[23:35:45] <servus> :P
[23:44:19] <sbx> YES!:P