improved preloader/viewer linking.
[swftools.git] / src / bitio.c
index 871fb80..417e7b5 100644 (file)
@@ -106,7 +106,7 @@ s32 getsbits(int num)
     return x;
 }
 
-u16 readu8()
+u8 readu8()
 {
     u8 a;
     input1(&a);
@@ -116,13 +116,21 @@ u16 readu8()
 u16 readu16()
 {
     u8 a,b;
-    // I'm not using input2(&a) here because our input is
-    // little endian.
     input1(&a);
     input1(&b);
     return ((u16)b)*256+a;
 }
 
+u32 readu32()
+{
+    u8 a,b,c,d;
+    input1(&a);
+    input1(&b);
+    input1(&c);
+    input1(&d);
+    return (((((u32)d)*256+(u32)c)*256+(u32)b)*256+(u32)a);
+}
+
 void writer_init(struct writer_t*w, u8*data, int maxlength)
 {
     w->data = data;
@@ -150,6 +158,12 @@ void writer_writeu16(struct writer_t*w, u16 value)
     writer_write(w, &value, 2);
 }
 
+void writer_writeu32(struct writer_t*w, u32 value)
+{
+    writer_resetbits(w);
+    writer_write(w, &value, 4);
+}
+
 void* writer_getpos(struct writer_t*w)
 {
     return &w->data[w->pos];