[00:09:29] <-- Kashou-X has left IRC ("-=SysReset 2.53=-")
[00:29:24] --> Kashou-X has joined #pentagram
[01:56:48] <-- sbx|afk has left IRC ()
[03:02:51] --> Sectus has joined #pentagram
[04:23:19] --> sbx|afk has joined #pentagram
[04:23:31] --- sbx|afk is now known as sbx
[05:20:47] <watt> learning flex format.. figure I could write a FlexWriter and a tool to create flexes.
[05:21:01] <watt> think I get it all now.
[05:35:42] <watt> hmm.. although, I don't know what's all that between offset 58 and 80... looks like 58/59 is always 0001
[05:35:48] <watt> checking
[05:39:20] <watt> appears to be 0009 in the sound directory.
[05:40:05] <watt> well, some of the sound directory.
[05:40:29] <watt> and 00cd for sound.flx
[05:41:52] <watt> hmmm.. well, guess I'll ask more about that when someone is awake.
[05:43:55] <sbx> k
[05:57:35] <watt> I ramble.
[07:16:25] <wjp> hi
[07:19:08] <sbx> lo
[07:44:21] <watt> hiya.
[07:45:14] <watt> Looks like I got a FlexWriter here.. need to write some test code and the tool.
[07:45:18] <wjp> the old repository already has a flexwriter class, btw
[07:45:32] * watt smacks head.
[07:45:41] <wjp> but, well, it's "old"
[07:46:14] <watt> true, but it might have saved me a bit of time
[07:47:17] <wjp> we're also considering using zips
[07:47:37] <watt> which class? I can't seem to find it.. Flex.cc?
[07:48:14] <wjp> hm, I don't have an old checkout here
[07:48:18] <watt> ah.. damn. there it is.
[07:50:09] <watt> yeah.. I think you'll be happier with the new one.
[07:51:39] <watt> any clue as to what 0x58 - 0x80 is?
[07:52:13] <wjp> hm, it's been a while since I looked at the flx format
[07:53:16] <watt> reading the top of flex files makes me want to watch smurfs for some reason I can't pin down :-)
[07:53:38] <wjp> ah, it must be the subliminal message section, then :-)
[07:55:46] <Darke> Heh. Sounds much like what happens when you're trying to RE the usecode bytecode format too. *grin* Those Origin programmers were sneeaky!
[07:55:57] <wjp> 0x58 is a uint32 with the filesize, it seems
[07:56:04] <wjp> 0x5C, sorry
[07:56:25] <watt> hmm..
[08:05:12] <watt> ok.. yup.
[08:07:32] * sbx flexes his muscles.
[08:10:15] <watt> sexy.
[08:16:37] <-- Sectus has left IRC ("Leaving")
[08:16:51] * Darke flexes his brain. Weird things pop out.
[08:22:24] <watt> even sexier.
[08:37:15] <watt> hmm.. what directory would a flexer go into?
[08:37:35] <wjp> what's a flexer? :-)
[08:38:42] <watt> i dunno. .the name I thought could go to a tool that creates flex files.
[08:39:03] <wjp> hm, somewhere in tools/, I would say :-)
[08:39:34] <watt> hmm.. sounds like it might need a new directory.
[08:40:07] <sbx> is this like expack?
[08:41:17] <watt> perhaps.. I haven't played with expack
[08:42:21] <watt> should be able to create a flex using files given on the command line and/or another flex.
[08:44:10] <watt> gumble grumble grumble... part of exult's tools..
[08:44:26] <watt> ok.. time to look at some exult code.
[08:45:30] <wjp> I don't know if you really want to look at the expack code :-)
[08:48:47] <watt> well, the upside it that we should be able to do everything expack does, according to it's manpage, except I don't think I allow something like the -l flag yet.
[08:49:41] <watt> but I guess that really wouldn't be part of the FlexWriter anyway.
[08:50:40] <watt> ok... guess I'll be recoding expack to fit Pentagram well.
[08:50:59] <watt> pexpack? or u8expack>
[08:51:27] <wjp> well, the 'ex' stands for exult..
[08:51:34] <watt> oh.
[08:51:37] <watt> pentpack
[08:54:01] <Darke> How about something... err... umm... more descriptive? Maybe 'flexpack'?
[08:54:19] <Darke> That way you actually know what it's packing. *Grin*
[08:55:03] <watt> true. ok
[08:57:58] <watt> tools/files/ ?
[08:59:01] <wjp> hm?
[08:59:19] <watt> a directory to place it in
[09:01:16] <watt> well, I think I'll get it done sometime tomorrow.. I should sleep... I'll be sure to read whatever happens between now and then.. (like always :-) )
[09:01:28] <watt> night...ish.
[09:01:32] <sbx> bye
[09:01:33] <wjp> night
[10:08:09] --- sbx is now known as sbx|afk
[11:37:19] <-- Kashou-X has left IRC (Read error: 104 (Connection reset by peer))
[11:44:50] --> Kashou-X has joined #pentagram
[13:03:34] <-- Kirben has left IRC ("System Meltdown")
[13:04:01] --> Colourless has joined #Pentagram
[13:04:06] --- ChanServ gives channel operator status to Colourless
[13:04:35] <Colourless> hi
[13:06:46] <wjp> hi
[17:58:50] --> Dominus has joined #pentagram
[17:58:52] --- ChanServ gives channel operator status to Dominus
[18:00:57] <Dominus> hi
[18:02:43] <Colourless> hi
[18:22:58] <wjp> speaking of encodings... I made the 'translations' in the u8*.ini files use U8's native encoding, btw
[18:23:08] <wjp> (with a hex editor :-) )
[18:23:38] <wjp> I'd like to have them in utf-8 someday, but that's not really a priority
[18:25:21] <watt> are we going to externalize all strings at some point?
[18:25:38] <wjp> probably not
[18:28:12] <watt> reason I ask is for strings like the one in BindGump. Wouldn't work too well as a translation key. Thinking if we externalized some strings to a u8english.ini, then we could just ask for the key "bindtext" and it could just work.
[18:36:56] <wjp> hm, could do that; but not really necessary I think
[18:41:57] <watt> are there any example manifest files for expack somewhere?
[18:42:27] <Colourless> exult :-)
[18:42:40] <wjp> the data directory has them
[18:42:42] <Colourless> the build process for exult builds 3 flex files
[18:42:46] <watt> oh.. nevermind.. its in the man
[18:43:01] <wjp> bbl
[18:43:31] <Colourless> note that the crc32 stuff used by expack would be put into pentagrams misc dir btw
[18:50:03] <watt> ok
[18:51:01] <watt> I'm guessing the crc32 is 0x60 in the flex?
[18:51:16] <Colourless> crc32 isn't used for that :-)
[18:51:34] <Colourless> it's used with automatic header file generation for flexes
[18:51:42] <Colourless> but there is a checksum in the flexes
[18:51:58] <Colourless> we don't calculate it
[18:52:12] <Colourless> and 0x60 would probably be it. I don't know it's exact location
[18:52:56] <Colourless> as far as I know it's calcuated by creating the flex, zeroing the 4 checksum bytes, and then adding up every dword in the entire file :-)
[20:39:43] <sbx|afk> spiffy
[20:39:59] --- sbx|afk is now known as sbx
[21:05:13] <-- sbx has left IRC (Read error: 113 (No route to host))
[21:05:34] --> sbx has joined #pentagram
[21:38:45] <-- Colourless has left IRC ("casts invisibility")
[21:39:05] <-- Dominus has left IRC ("a pooka invited me for a drink")
[22:08:47] <watt> I think Flex::isFlex(IDataSource *) has a slight off by one problem.
[22:14:50] <watt> ah.. the last read4 goes from 0x50 to 0x54... which appears to be 0x1a1a0000 in all the files I've seen.
[22:15:20] <watt> or would the be 0x00001a1a? shrug.
[22:17:16] <watt> 0x00001a1a.. yp
[22:17:20] <watt> yup
[22:19:05] <watt> oh.. but music.flx has different head.... err... damn.
[22:20:38] <watt> but it appears to be the only one like that in the u8 files.
[22:22:40] <watt> eck! u7's are completely different up to 0x54.. my head hurts.
[22:24:47] --> Kirben has joined #pentagram
[22:24:48] --- ChanServ gives channel operator status to Kirben
[22:50:05] <watt> well.. not bad.. I was able to extract and rebuild u8fonts.flx almost exactly the same (te original didn't add in the size at 0x5C)
[22:54:44] <watt> doesn't handle null objects right yet...
[23:06:19] <watt> well, handles that properly now... hehe
[23:27:15] <watt> and replacement and addition appear to work.
[23:29:46] <watt> and manifests work... looks like this is fairly complete.. still needs to generate the header in a similiar manner as expack.