#pentagram@irc.freenode.net logs for 29 Jun 2003 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage

[00:08:28] <-- Dark-Star has left IRC ()
[02:27:40] --> Kirben has joined #pentagram
[02:27:40] --- ChanServ gives channel operator status to Kirben
[04:10:48] <-- Kirben has left IRC ("System Meltdown")
[04:28:57] --> Kirben has joined #pentagram
[04:28:57] --- ChanServ gives channel operator status to Kirben
[08:41:40] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[08:43:17] --> SB-X has joined #pentagram
[08:49:21] --> Kirben has joined #pentagram
[08:49:21] --- ChanServ gives channel operator status to Kirben
[10:16:11] --> Cashman has joined #pentagram
[10:53:25] --> wjp has joined #pentagram
[10:53:25] --- ChanServ gives channel operator status to wjp
[11:32:34] <Cashman> how are things on your side of the world wjp
[11:32:57] <wjp> pretty good I guess :-)
[11:33:45] <Cashman> ;-)
[11:34:20] <Cashman> good here as well!
[11:54:55] <-- Cashman has left IRC ()
[12:17:52] --> Colourless has joined #Pentagram
[12:17:56] --- ChanServ gives channel operator status to Colourless
[12:18:05] <Colourless> hi
[12:18:07] <wjp> hi
[12:22:07] <DarkeZzz> Gu!
[12:22:21] <Colourless> uh!
[12:23:06] <wjp> Ugh!
[12:24:47] <Colourless> why doesn't SDL threading support have a function to increase/decrease a thread priority
[12:26:25] <wjp> hm, no idea
[12:29:00] <wjp> should be possible to do it with an OS-specific hack
[12:29:16] <Colourless> yes it should
[12:29:45] <Colourless> on windows... it is easy to do. Example: SetThreadPriority (GetCurrentThread(), THREAD_PRIORITY_HIGHEST);
[12:29:54] <Colourless> 'so' difficult :-)
[12:30:13] <wjp> :-)
[12:32:20] <wjp> not too hard with linux & pthreads either it seems
[12:32:28] <wjp> just need to read up on the api a bit :-)
[12:48:33] <wjp> some more saving thoughts:
[12:48:56] <wjp> the 'dynamic' (class-name) loading should probably only be used with Objects
[12:49:16] <wjp> and Processes
[12:49:19] <wjp> the rest will go into "fixed" sections
[12:49:54] <Colourless> agreed
[12:50:09] <Colourless> too icky otherwise
[12:50:19] <wjp> the main structure of the savegame file...
[12:50:31] <wjp> not entirely sure... we could use a flex-ish thing
[12:51:00] <wjp> a header with some unique savegame identifier and savegame version would be nice
[12:51:24] <wjp> possibly with GameInfo data in there too
[12:52:08] <wjp> (GameInfo encoded in some properly extensible way)
[12:52:10] <Colourless> 'if' we were to use something like a zip file (and possibly with some non compressed alternative for people who want to compile with the library), then putting each section into a different file would be 'nice'
[12:52:36] <wjp> s/with/without/ :-)
[12:52:40] <Colourless> i would attempt to stay away from a flex file, since it has no way of describing what's in it, other than using indices
[12:53:06] <wjp> I said "flex-ish" :-)
[12:53:12] <Colourless> yah
[12:53:20] <wjp> lack of named indices was the main reason for the -ish
[12:53:43] <Colourless> something like... the origina u8savegame format... as hacky as that was :-)
[12:53:58] <wjp> the thought did occur to me, yes :-)
[12:54:31] <wjp> we'd have to put the 'header' in a separate file, then, but that's not really a problem
[12:54:46] <wjp> (then == with .zip)
[12:55:14] <Colourless> i don't think that's a problem either
[12:55:40] <wjp> 'main' things to store:
[12:56:02] <wjp> savegame version, GameInfo, savegame description, (savegame info?),
[12:56:08] <Colourless> proceses, objects
[12:56:12] <wjp> (with 'savegame info' I mean something like we added to exult)
[12:56:23] <wjp> World, Kernel
[12:56:34] <wjp> UCMachine
[12:57:01] <wjp> and CoreApp/GUIApp probably
[12:57:05] <Colourless> i don't know if saving UCMachine is required
[12:57:14] <wjp> globals, lists, strings
[12:57:29] <wjp> we need those :-)
[12:57:36] <Colourless> yeah, just noticed
[12:58:11] <Colourless> i think each of those should perhaps go in different files
[12:58:41] <wjp> these = globals, lists, strings? yeah
[12:58:45] <Colourless> since they are obviously very different data types
[12:58:53] <wjp> parts of World should go into separate files too
[12:58:54] <Colourless> yes
[13:00:58] <wjp> each map in a separate file?
[13:01:24] <Colourless> i wouldn't think so
[13:01:51] <Colourless> might make it hard to know what maps there are
[13:01:59] * wjp nods
[13:04:00] <Colourless> using something like a flex for the saved map info would probably be fine. We might want to make the format different to the originals though
[13:04:11] <Colourless> since the 1 byte frame stuff is just annoying
[13:04:22] <wjp> oh, definitely :-)
[13:14:30] <wjp> do you want to put the savegame description into the zip comment field again?
[13:15:21] <Colourless> sure, but IMO we shouldn't rely on it
[13:15:30] * wjp nods
[13:17:17] <wjp> I want to allow infinitely many savegames again, but I'm wondering how to organize them
[13:17:30] <wjp> the linear ordering in exult is somewhat hard to use when you have 200+ saves :-)
[13:19:22] <Colourless> it's 'hard' to have a good method :-)
[13:19:45] <wjp> yes
[13:20:44] <Colourless> of course with exult, i didn't expect people to have... 200 save games :-)
[13:21:05] <wjp> heh, I didn't expect to have 200... but I do :-)
[13:22:31] <wjp> (55 BG, 216 SI)
[13:23:26] <Colourless> we should do this. Have different sort orders
[13:24:52] <Colourless> we should still use the diary as the background. But have the right page for save info, screenshots, and for the buttons to do 'stuff'. The left side would contain the list of savegames, and sliders and stuff to navigate the list
[13:25:22] * wjp nods
[13:27:20] <wjp> which different sort orders were you thinking of?
[13:27:32] <wjp> I'm afraid it might confuse things
[13:27:43] <Colourless> i don't know. cronological, alphabetical
[13:27:55] <Colourless> i can't really think of any 'useful' others
[13:28:53] <wjp> a one-level-deep tree structure might already help a lot
[13:29:33] <Colourless> i'm thinking, perhaps we should store info about when then game was first started
[13:29:33] <wjp> (I tend to do that manually often, by adding a prefix to namess)
[13:29:38] <Colourless> such as date and time
[13:29:50] * wjp nods
[13:30:00] <Colourless> avatar name. Then we could sort by that info to keep related games together
[13:30:10] <wjp> yes
[13:30:18] <wjp> or add a GUID :-)
[13:30:28] <Colourless> :-)
[13:30:41] <Colourless> yeah, such a thing is what i was thinking off
[13:30:57] <Colourless> but the date time info started is still a nice statistic to have :-)
[13:31:06] <wjp> yeah
[13:31:09] <Colourless> s/off/of
[13:58:54] <Colourless> got to go
[13:58:56] <Colourless> cya
[13:58:58] <-- Colourless has left IRC ("casts invisibility")
[14:49:34] <-- SB-X has left IRC ("X-Chat")
[15:13:41] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[15:22:39] --> Dark-Star has joined #pentagram
[15:36:36] <Dark-Star> the GameDetector doesn't like entries for Crusader in the config file it seems...
[15:37:36] <wjp> how badly?
[15:38:58] <wjp> crash? ignore?
[15:40:19] <Dark-Star> crash
[15:40:39] <wjp> hm, that's kind of bad :-)
[15:40:50] <Dark-Star> GameDetector.cpp, line 64
[15:41:10] <Dark-Star> the strncmp fails because crusader's eusecode.flx is too small
[15:41:17] <Dark-Star> (just a guess)
[15:41:31] <wjp> no, it's a signed/unsigned issue
[15:42:26] <wjp> try changing the "i < size - 9" to "i + 9 < size"
[15:43:00] <Dark-Star> you sure that's the problem? Because buf is 0 here (which shouldn't be, right?)
[15:43:18] <wjp> if buf is 0, size should also be 0
[15:43:32] <Dark-Star> ok, true enough ... I'll try
[15:44:35] <Dark-Star> ok, works now
[15:47:18] <wjp> hm, that section should only be run for U8, in fact
[16:25:21] <Dark-Star> why does pentagram create all these <game>-work directories everytime I start it?
[16:25:37] <wjp> you'll have to ask Darke
[16:25:42] <wjp> I have no idea :-)
[16:27:04] <wjp> well, not entirely true; I do know one use of them
[16:27:10] <wjp> we'll eventually store 'converted' data files there
[16:27:18] <wjp> (like uncompresses SFX)
[16:27:22] <wjp> s/sses/ssed/
[16:27:44] <Dark-Star> ah ok. maybe they should go into data/ then?
[16:27:53] <wjp> no, data is for pentagram data
[16:28:17] <wjp> can't say I'm entirely happy about the current way, though
[16:28:26] <wjp> you can change the directory in pentagram.cfg, btw
[16:28:36] <Dark-Star> that would have been my next question ;-)
[16:28:48] <Dark-Star> what option?
[16:28:58] <wjp> <work>somewhere</work> in a game section
[16:29:02] <wjp> it's in the readme
[23:11:37] <-- wjp has left IRC ("Zzzz...")