#pentagram@irc.freenode.net logs for 11 Feb 2013 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage

[07:44:12] --> Kirben has joined #pentagram
[07:44:12] --- ChanServ gives channel operator status to Kirben
[13:10:42] <-- Kirben has left IRC ()
[20:45:00] --> ShadowChaser has joined #pentagram
[21:26:08] <ShadowChaser> Doing some work decoding some unknown fields in the shape flx files
[21:26:15] <ShadowChaser> May have figured out two of them
[21:28:00] <ShadowChaser> Each shape item (documented in u8gfxfmt.txt as "Type chunk") has 4 bytes immediately before the FrameCount
[21:28:28] <ShadowChaser> For fonts, bytes 0-1 are a uint16 containing the maximum width of the child frames, bytes 2-3 are a uint16 containing the maximum height of the child frames
[21:29:25] <ShadowChaser> If you think about how fonts for most games (even modern ones!) are made, it makes sense. They're generally layed out on a single image (a sprite sheet) with each glyph (character) arranged in a row-column layout
[21:30:55] <ShadowChaser> The MaxWidth and MaxHeight would be needed before loading the frames so they can be layed out into the column/row structure properly. Could be done an artifact of the font sprite sheet creation, used during loading (ie/ fonts stored as a single 'image' during gameplay for efficiency reasons), or for debugging - ie/ showing the entire font in a single screen rather than 256 "frames"
[21:37:35] <wjp> cool
[21:47:32] <ShadowChaser> Holds true for all shapes in u8fonts.flx and u8mouse.shp
[21:48:56] <ShadowChaser> The main shape file is a bit different. It's (1,1) in almost every case except for four armour shapes - 842, 843, 844, and 845. For those shapes, the first 2 bytes are the Shape Number (ie/ Shape 842 has a value of 842 in the first 2 bytes) while the second two bytes remains at "1". Probably an old code artifact that made it into the game, or some other special weapon/armor behavior
[22:42:45] --> Kirben has joined #pentagram
[22:42:45] --- ChanServ gives channel operator status to Kirben