git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added definebitsjpeg3 support.
[swftools.git]
/
lib
/
rfxswf.c
diff --git
a/lib/rfxswf.c
b/lib/rfxswf.c
index
2c6161e
..
0e00006
100644
(file)
--- a/
lib/rfxswf.c
+++ b/
lib/rfxswf.c
@@
-16,20
+16,14
@@
#include "rfxswf.h"
#include "rfxswf.h"
-#ifdef HAVE_LIBJPEG
-#ifdef HAVE_JPEGLIB_H
+#ifdef HAVE_JPEGLIB
#define HAVE_BOOLEAN
#include <jpeglib.h>
#define HAVE_BOOLEAN
#include <jpeglib.h>
-#define _JPEGLIB_INCLUDED_
-#endif // HAVE_JPEGLIB_H
-#endif // HAVE_LIBJPEG
+#endif // HAVE_JPEGLIB
-#ifdef HAVE_LIBZ
-#ifdef HAVE_ZLIB_H
+#ifdef HAVE_ZLIB
#include <zlib.h>
#include <zlib.h>
-#define _ZLIB_INCLUDED_
-#endif // HAVE_ZLIB_H
-#endif // HAVE_LIBZ
+#endif // HAVE_ZLIB
#define LAME
#include "lame/lame.h"
#define LAME
#include "lame/lame.h"
@@
-72,6
+66,13
@@
void swf_SetTagPos(TAG * t,U32 pos)
#endif
}
#endif
}
+char* swf_GetString(TAG*t)
+{
+ char* str = ((char*)(&(t)->data[(t)->pos]));
+ while(swf_GetU8(t));
+ return str;
+}
+
U8 swf_GetU8(TAG * t)
{ swf_ResetReadBits(t);
#ifdef DEBUG_RFXSWF
U8 swf_GetU8(TAG * t)
{ swf_ResetReadBits(t);
#ifdef DEBUG_RFXSWF
@@
-322,7
+323,7
@@
int swf_CountBits(U32 v,int nbits)
int swf_GetRect(TAG * t,SRECT * r)
{ int nbits;
SRECT dummy;
int swf_GetRect(TAG * t,SRECT * r)
{ int nbits;
SRECT dummy;
- if(!t) {r->xmin=r->xmax=r->ymin=r->ymax;return 0;}
+ if(!t) {r->xmin=r->xmax=r->ymin=r->ymax=0;return 0;}
if (!r) r = &dummy;
nbits = (int) swf_GetBits(t,5);
r->xmin = swf_GetSBits(t,nbits);
if (!r) r = &dummy;
nbits = (int) swf_GetBits(t,5);
r->xmin = swf_GetSBits(t,nbits);
@@
-378,6
+379,8
@@
void swf_ExpandRect(SRECT*src, SPOINT add)
}
void swf_ExpandRect2(SRECT*src, SRECT*add)
{
}
void swf_ExpandRect2(SRECT*src, SRECT*add)
{
+ if((add->xmin | add->ymin | add->xmax | add->ymax)==0)
+ return;
if(add->xmin < src->xmin)
src->xmin = add->xmin;
if(add->ymin < src->ymin)
if(add->xmin < src->xmin)
src->xmin = add->xmin;
if(add->ymin < src->ymin)
@@
-390,8
+393,8
@@
void swf_ExpandRect2(SRECT*src, SRECT*add)
SPOINT swf_TurnPoint(SPOINT p, MATRIX* m)
{
SPOINT r;
SPOINT swf_TurnPoint(SPOINT p, MATRIX* m)
{
SPOINT r;
- r.x = (int)(m->sx*(1/65536.0)*p.x + m->r0*(1/65536.0)*p.y + 0.5) + m->tx;
- r.y = (int)(m->r1*(1/65536.0)*p.x + m->sy*(1/65536.0)*p.y + 0.5) + m->ty;
+ r.x = (int)(m->sx*(1/65536.0)*p.x + m->r1*(1/65536.0)*p.y + 0.5) + m->tx;
+ r.y = (int)(m->r0*(1/65536.0)*p.x + m->sy*(1/65536.0)*p.y + 0.5) + m->ty;
return r;
}
SRECT swf_TurnRect(SRECT r, MATRIX* m)
return r;
}
SRECT swf_TurnRect(SRECT r, MATRIX* m)
@@
-637,6
+640,17
@@
TAG * swf_InsertTag(TAG * after,U16 id) // updates frames, if nescessary
return t;
}
return t;
}
+void swf_ClearTag(TAG * t)
+{
+ if (t->data) free(t->data);
+ t->data = 0;
+ t->pos = 0;
+ t->len = 0;
+ t->readBit = 0;
+ t->writeBit = 0;
+ t->memsize = 0;
+}
+
int swf_DeleteTag(TAG * t)
{ if (!t) return -1;
int swf_DeleteTag(TAG * t)
{ if (!t) return -1;
@@
-1229,4
+1243,3
@@
void swf_FreeTags(SWF * swf) // Frees all malloc'ed memory for t
#include "modules/swfbits.c"
#include "modules/swfaction.c"
#include "modules/swfsound.c"
#include "modules/swfbits.c"
#include "modules/swfaction.c"
#include "modules/swfsound.c"
-