[01:27:57] --> Kirben has joined #pentagram
[01:27:57] --- ChanServ gives channel operator status to Kirben
[02:08:16] <-- watt has left IRC ("using sirc version 2.211+KSIRC/1.3.10")
[02:57:41] <-- sbx has left IRC ()
[05:20:50] <-- TzarSectus has left IRC ("Leaving")
[05:26:25] --> DarkeZzz has joined #pentagram
[05:46:21] <-- Darke has left IRC (Read error: 110 (Connection timed out))
[06:27:50] --> Darke has joined #pentagram
[06:48:17] <-- DarkeZzz has left IRC (Read error: 110 (Connection timed out))
[06:48:23] --> watt has joined #pentagram
[06:48:59] --> DarkeZzz has joined #pentagram
[07:06:28] <-- Darke has left IRC (Read error: 110 (Connection timed out))
[08:13:10] <watt> should the ConfigFileManager ensure that a key exists only once when writing?
[08:13:53] <watt> I'm playing with saving the keybindings and I bound Mouse6 twice in my ini.
[08:15:52] <watt> When loaded, only the last one entered is used, but on saving it only overwrites the first instance.
[08:25:26] <watt> Well, INIFile::Section could have a set of KeyValues instead of a list, but that
[08:26:05] <watt> that's probably not worth the trouble for that small of a problem
[08:30:13] <watt> Or I could just use a reverse iterator for the loadBindings method so the first instance of the key is used instead of the last.
[08:30:21] <watt> yeah.
[08:31:01] <wjp> hm, we could have the ini file loader output a warning when it finds a duplicate key
[08:34:18] <watt> you're awake! Good mornin;
[08:35:25] <wjp> hi :-)
[08:36:18] --> Colourless has joined #Pentagram
[08:36:18] --- ChanServ gives channel operator status to Colourless
[08:36:44] <Colourless> hi
[08:36:46] <wjp> hi
[08:37:06] <wjp> saving/loading: basically you need to save everything
[08:37:19] <wjp> however you can probably skip save/load methods for game menu gumps
[08:38:25] <watt> hi
[08:39:12] <watt> reverse iterator didn't solve it.. but that would be because it was a map to begin with... Smack
[08:39:37] <Colourless> hmm. sacing shape numbers for gumps... did we ever come to a conclusion?
[08:39:43] <Colourless> s/sacing/saving/
[08:40:08] <wjp> weren't we going to have an enum with all possible shape sources?
[08:40:40] <wjp> which would be shapes, gumps, pentagram, pentagram-game, pentagram-lang, pentagram-game-lang, I think
[08:41:01] <Colourless> yes i think i remember something like that
[08:41:19] <Colourless> is it just me or did i fail to commmit changelog entires yesterday
[08:42:01] <wjp> if you tried then you failed, yes :-)
[08:42:49] <Colourless> most strange :-)
[08:43:52] <wjp> watt: if we add an extra alignment parameter to TextWidget we could use that for painting in the ReadableGump as well
[08:44:17] <wjp> TextWidget already handles saving/loading and caching of RenderedText internally
[08:46:16] <watt> true.
[08:46:28] <watt> It would probably make sense.
[08:47:05] <watt> and then maybe even scrolls could be tied into ReadableGump
[08:47:22] <watt> maybe.........
[08:47:49] <wjp> hm, not really necessary I think
[08:49:51] <wjp> incidentally, the way it avoids saving/loading a RenderedText is by drawing the text in PaintThis whenever renderedtext == 0
[08:49:59] <wjp> (it = TextWidget)
[08:50:56] <watt> Come to any final decision on way keybindings would be stored?
[08:52:21] <Colourless> in the users ini
[08:54:01] <watt> well, yeah, but where? through the settingsmanager in pentagram.ini under [keys] or through the configFileManager in *bindings.ini or elsewhere
[08:54:04] <watt> ?
[08:54:22] <Colourless> in pentagram.ini i would think
[08:54:34] <wjp> settingmanager->listDataValues("keys")
[08:56:45] <wjp> and save with settingmanager->set("keys/c", "combatmode")
[08:57:01] <Colourless> /c ?
[08:57:13] <wjp> just a random key
[08:57:21] <Colourless> ah , yeah :-)
[08:57:34] <wjp> hm, I think we have m set to combatmode currently
[08:57:40] <wjp> keys/m, then :-)
[08:57:42] <Colourless> yeah it should be set to c
[08:57:45] <watt> but then aren't we back to the multiple games problem? Bindings for crusader being different than u8?
[08:57:55] <Colourless> 'c' is set to clipping or some such
[08:57:58] <wjp> settingmanager uses the current game
[08:58:16] <Colourless> config is shouldn't have 'game' problems
[08:58:23] <Colourless> s/is //'
[08:59:01] <watt> so the key is literally u8/keys/m ?
[08:59:04] <wjp> on loading the game, we tell settingmanager which game to use
[08:59:08] <wjp> u8:keys/m
[09:06:24] <watt> ooooh... I like that
[09:06:53] <watt> just had it save my bindings to pentagram.ini
[09:10:12] <watt> can I go ahead and convert it over completely?
[09:10:22] <Colourless> of course
[09:10:38] <wjp> how would the bindings get in pentagram.ini for the first time?
[09:11:10] <Colourless> good question :-)
[09:11:34] <Colourless> when setting up a game we could read the default bindings
[09:11:47] <Colourless> but an automatic method would be good
[09:12:12] <wjp> there are two ways to add a game: through pentagram and manually in the ini
[09:12:32] <wjp> when adding it through pentagram we can simply import a default set of keybindings
[09:12:48] <Colourless> yeah
[09:13:03] <wjp> when somebody adds a game manually through the ini we could of course simply do the same the first time we 'detect' the new game
[09:15:23] <wjp> if we want to have multiple default keybinding sets, I think it would be best not to offer that choice when adding a new game but only from the in-game menu
[09:15:48] <wjp> and simply pick a default default keybinding set :-)
[09:16:29] <wjp> in the in-game menu we would then offer the choice to either modify the controls manually or to select a predefined set
[09:17:29] <wjp> now, time for breakfast :-)
[09:22:20] <Colourless> breakfast... more like dinner :-)
[09:25:04] --- DarkeZzz is now known as Darke
[09:25:11] <Darke> If one who does six impossible things before breakfast, has breakfast at Milliways, where does someone who designs keybindings before breakfast have the thrice mentioned meal? *grin*
[09:25:21] --- ChanServ gives channel operator status to Darke
[09:27:53] * wjp looks at his breakfast; no, that's definitely not more like dinner :-)
[09:28:01] <wjp> at least, I hope not
[09:28:05] <wjp> hi Darke
[09:28:52] <Darke> Hi all, sundry, and The Bot.
[09:29:38] <watt> hi Darke
[09:40:05] <watt> Is it ok to load the default bindings in code or do we want to try to refer to the old u8bindings.ini?
[09:40:28] <wjp> I'd keep the old ini
[09:41:38] <-- Darke has left IRC (Read error: 104 (Connection reset by peer))
[09:42:29] --> Ember has joined #pentagram
[09:42:42] --- Ember is now known as Darke
[09:45:39] --- ChanServ gives channel operator status to Darke
[10:13:00] <Colourless> keep the ini.
[10:13:22] <Colourless> will make it 'easier' when we eventually have loading predefined settings. It would be the 'default'
[10:16:59] <watt> It's only going to load the ini in @data though
[10:17:33] <watt> and based on game type instead of the game string
[10:18:23] <wjp> the first is fine for now, the second is probably indeed what we want
[10:34:48] <wjp> ah... no wonder the endgame movie was broken, we were missing an action
[10:35:54] <wjp> the endgame fades to white at points instead of to black like the intro
[10:39:38] <wjp> hm, interesting; there are still animation frames after the fade-to-white starts
[10:39:45] <wjp> so maybe the fades should be async
[10:42:28] * wjp is now very happy with the fact that fadedblit can also fade to white :-)
[11:04:36] <wjp> well, looks like movies are working fine now
[11:04:59] <wjp> they're running about a factor 2-3 too fast, but that's just because I didn't look at timing yet :-)
[11:05:32] <Colourless> cool
[11:05:48] <Colourless> you see, fadedblit was forward thinking :-)
[11:07:26] <wjp> :-)
[11:07:35] <wjp> oh, and of course audio isn't working yet
[11:08:03] <wjp> but I don't really expect any difficulties with that
[11:08:43] <Colourless> music working?
[11:08:52] <wjp> haven't implemented that yet
[11:08:55] <Colourless> !!
[11:09:10] <wjp> I was having enough trouble with the visuals :-)
[11:09:16] <Colourless> :-)
[11:10:01] <Colourless> going to be some 'strange' process interactions when playing a cinematic
[11:10:17] <Colourless> sort of need to pause the world but yet still have some processes running
[11:10:22] <Colourless> (such as the MusicProcess)
[11:10:33] <wjp> we need 'rings' :-)
[11:10:44] <wjp> pentagram-level processes, game-level processes :-)
[11:10:57] <Colourless> :-)
[11:11:02] <Colourless> easy enough to do actually
[11:11:19] <Colourless> just give each process a 'ring'
[11:11:29] <Colourless> and then have a pause level :-)
[11:12:50] <Colourless> need to have special handling for the usecode intrinsics that work with timing
[11:13:15] <Colourless> they are based on the frame counter, but that isn't 'so' useful then if the kernel can be half paused :-)
[11:13:35] <Colourless> could have sepearate counters for each 'ring'
[11:14:38] <Colourless> or even a process could be used to do the timing :-)
[11:16:11] <watt> textwidget change commited.
[11:17:57] <wjp> does ReadableGump have any state left to save now?
[11:18:21] <watt> yeah.
[11:18:53] <watt> and I need to save the alignment of the text in textwidget too huh?
[11:20:31] <wjp> yes
[11:21:19] <watt> alter version on it?
[11:21:23] <wjp> nah
[11:22:34] <Colourless> once things become playable, that's when we'll start using the versions
[11:37:46] <watt> ok. finished the save and load. I think I got all right, but I'd like someone to double check
[11:38:32] <wjp> sure, I'll have a look
[11:40:32] <wjp> why do you save so much in ReadableGump?
[11:41:03] <watt> Is there a reason these gumps are saved? I understand why container gumps are saved that way and why a gump's coordinates are saved, but I don't quite follow on the rest
[11:41:06] <wjp> the TextWidget already has the text in it, so ReadableGump shouldn't need it anymore
[11:41:37] <watt> ah.. thought so, but scrollgump was being used as my template
[11:42:19] <wjp> hm, ScrollGump doesn't save anything but the objid of the textwidget
[11:42:25] <wjp> oh, or maybe I didn't commit that
[11:43:41] * wjp has a moderately large amount of uncommitted changes currently, it seems
[11:45:47] <wjp> the BookGump/ScrollGump changes appear to be disjoint from the rest so I'll commit those
[11:54:10] <watt> and I changed Readable Gump as well
[12:15:07] <wjp> right, I think I committed everything except the skfplayer now
[12:19:00] <Colourless> why not :-)
[12:19:22] <wjp> was planning to add music first
[12:19:27] <Colourless> :-)
[12:20:12] <wjp> which should take about 1 minute? :-)
[12:21:56] <wjp> there's no 'slow stop', right?
[12:25:44] <wjp> hm, how does this music process work exactly?
[12:26:26] <Colourless> we don't have a slow stop right now
[12:27:15] <Colourless> music process is quite simple :-)
[12:27:31] <Colourless> just us MusicProcess->playMusic(int track) to play music
[12:27:36] <Colourless> it will then transition to that song
[12:27:44] <Colourless> (or instantly switch if there is no transition)
[12:28:53] <wjp> it just keeps playing as if nothing happened
[12:29:23] <wjp> hm, oh
[12:29:39] <wjp> I would guess that MusicProcess is paused
[12:30:15] <wjp> that's what you get when you try to play movies in a modal gump :-)
[12:30:22] <Colourless> :-)
[12:45:45] <wjp> stopping the music doesn't really seem to work though
[12:52:40] <wjp> watt: oh, I forgot it myself too, but you need to add a loader for new objects to ObjectManager.cpp too
[12:52:58] <wjp> watt: already committed the one for ReadableGump now (together with the one for BookGump I forgot :-) )
[12:53:44] <wjp> hm, which directory do SKFPlayer.h/cpp belong in?
[13:03:32] <Darke> audio? graphics? Unless you've got a particular urge to create a 'movie' dir. *grin*
[13:04:12] <Colourless> misc?
[13:04:31] <Colourless> hmm, no, not misc
[13:05:55] <Colourless> i have no idea
[13:08:34] <Darke> I'd suggest graphics, since the 'audio' part of the player is really just calling the music player at the appropriate time, whereas it's graphics handling would appear to be more of it's primary function.
[13:10:33] <wjp> I put it in graphics originally
[13:10:40] <wjp> so I guess that's where it'll stay :-)
[13:12:04] <wjp> ok, there we go; one SKF player, now with complementary console command
[13:12:44] <wjp> also added the eintro/endgame flexes to the shapeviewergump in a very hackish way
[13:12:54] <wjp> it's leaking ShapeFlexes and doesn't handle the palettes
[13:16:10] <wjp> bbl, back in 90-120 minutes or so
[13:16:35] <wjp> (console command: "Movie<tab> eintro" or "Movie<tab> endgame"
[13:16:37] <wjp> )
[13:55:55] <-- Kirben has left IRC ("System Meltdown")
[14:03:11] --> sbx has joined #pentagram
[14:04:12] --- sbx is now known as sbx|afk
[14:05:45] <-- Darke has left IRC (Remote closed the connection)
[14:06:26] --> DarkeZzz has joined #pentagram
[15:11:14] --> Sectus has joined #pentagram
[15:19:46] <-- sbx|afk has left IRC (Read error: 60 (Operation timed out))
[15:41:02] <wjp> or maybe just a little longer than 2 hours...
[15:43:40] <wjp> Colourless: any idea why the music isn't stopping before and after the movie?
[15:58:13] <Colourless> i guess i should update
[16:03:05] <Colourless> maybe the code to stop is broken
[16:09:38] <Colourless> yeah, it's broken
[16:16:21] <Colourless> ok fixed
[16:24:17] <wjp> yup, works now :-)
[16:30:21] <Colourless> what's going on... why has our level of activity increased by so much
[16:31:01] <wjp> 1) I graduated, 2) watt joined :-)
[16:32:38] <Colourless> yeah well at least our activity percentile is still 0 :-)
[16:33:04] <wjp> somehow that doesn't surprise me :-)
[17:19:33] --> sbx|afk has joined #pentagram
[18:20:43] --- sbx|afk is now known as sbx
[18:36:37] <wjp> Colourless: did you already have any ideas and/or plans for SFX support?
[18:53:41] <Colourless> can't say i do
[19:19:31] <wjp> well, time for my not-quite-daily dose of Deus Ex
[19:19:37] <wjp> I guess I'll go surrender to Gunther :/
[19:20:11] <Colourless> :-)
[20:51:29] <Colourless> going
[20:51:31] <-- Colourless has left IRC ("casts invisibility")
[21:33:51] * sbx is a Guardian of the Wastes.
[21:54:10] <-- DarkeZzz has left IRC ("Inficio-Infeci-Infectum")
[21:54:46] --> Darke has joined #pentagram
[21:57:54] <sbx> hi Darke
[22:09:05] <watt> I'm pretty sure sf activity never goes up without releasing something
[22:09:25] <watt> Hi Darke, all.
[22:16:30] --> Kirben has joined #pentagram
[22:16:30] --- ChanServ gives channel operator status to Kirben
[22:19:25] --> silverbear has joined #pentagram
[22:19:39] <-- silverbear has left #pentagram ()
[22:28:57] <watt> yeah, "Project CVS statistics are not presently being updated." think activity is actually based on releases, downloads, and project visits.