aboutsummaryrefslogtreecommitdiff
path: root/brlyt.h
diff options
context:
space:
mode:
authorAlex Marshall <SquidMan72@gmail.com>2009-01-29 21:19:38 -0800
committerAlex Marshall <SquidMan72@gmail.com>2009-01-29 21:19:38 -0800
commit0231ba12df4b4aca336b08f22883a7e65ad03a00 (patch)
tree508e2173624976ebb0b8ff2c124a610bfc48b64c /brlyt.h
parent188c63340b928cef915a949188b6c2472d741179 (diff)
Updated the brlan parser (C version) and added a non-functioning brlyt parser (C version)
Diffstat (limited to 'brlyt.h')
-rw-r--r--brlyt.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/brlyt.h b/brlyt.h
new file mode 100644
index 0000000..e257d68
--- /dev/null
+++ b/brlyt.h
@@ -0,0 +1,73 @@
+/*
+ * brlyt.h
+ *
+ *
+ * Created by Alex Marshall on 09/01/27.
+ * Copyright 2009 __MyCompanyName__. All rights reserved.
+ *
+ */
+
+#ifndef BRLYT_H_
+#define BRLYT_H_
+
+#include "types.h"
+
+typedef struct
+{
+ fourcc magic; // RLYT
+ u32 unk1; // 0xFEFF0008
+ u32 filesize; // The filesize of the brlyt.
+ u16 lyt_offset; // Offset to the lyt1 section.
+ u16 unk2; // Unknown.
+} brlyt_header;
+
+typedef struct
+{
+ fourcc magic; // The magic.
+ u32 length; // How long the entry is.
+} brlyt_entry_header;
+
+typedef struct
+{
+ fourcc magic; // The magic.
+ u32 length; // How long the entry is.
+ u32 data_location; // The location of the data in the BRLYT file.
+} brlyt_entry;
+
+typedef struct
+{
+ u16 flags;
+ u16 alpha;
+ char name[0x18];
+ f32 x;
+ f32 y;
+ f32 unk[3];
+ f32 angle;
+ f32 xmag;
+ f32 ymag;
+ f32 width;
+ f32 height;
+} brlyt_pic1_chunk;
+
+typedef struct
+{
+ u32 unk[3];
+} brlyt_lyt1_chunk;
+
+typedef struct
+{
+ char name[16];
+ u16 numsubs;
+ u16 unk;
+} brlyt_grp1_chunkbase;
+
+typedef struct
+{
+ u16 num;
+ u16 offs;
+} brlyt_img_chunk;
+// grs1, gre1, pas1, and pae1 all don't have anything special. they seem to just be prefixes to some sections.
+
+void parse_brlyt(char *filename);
+
+#endif //BRLYT_H_ \ No newline at end of file