git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
moved swf_ResetReadBits from rfxswf.c to rfxswf.h.
[swftools.git]
/
lib
/
rfxswf.c
diff --git
a/lib/rfxswf.c
b/lib/rfxswf.c
index
cd2e0b6
..
e7cb0d8
100644
(file)
--- a/
lib/rfxswf.c
+++ b/
lib/rfxswf.c
@@
-65,11
+65,6
@@
U32 swf_GetTagLen(TAG * t) { return t->len; }
U8* swf_GetTagLenPtr(TAG * t) { return &(t->data[t->len]); }
U32 swf_GetTagPos(TAG * t) { return t->pos; }
U8* swf_GetTagLenPtr(TAG * t) { return &(t->data[t->len]); }
U32 swf_GetTagPos(TAG * t) { return t->pos; }
-// Basic Data Access Functions
-
-#define swf_ResetReadBits(tag) if (tag->readBit) { tag->pos++; tag->readBit = 0; }
-#define swf_ResetWriteBits(tag) if (tag->writeBit) { tag->writeBit = 0; }
-
// for future purpose: avoid high level lib functions to change tagpos/bitpos
#define swf_SaveTagPos(tag)
// for future purpose: avoid high level lib functions to change tagpos/bitpos
#define swf_SaveTagPos(tag)
@@
-865,7
+860,7
@@
int swf_WriteTag2(struct writer_t*writer, TAG * t)
len = (t->id==ST_DEFINESPRITE)?swf_DefineSprite_GetRealSize(t):t->len;
len = (t->id==ST_DEFINESPRITE)?swf_DefineSprite_GetRealSize(t):t->len;
- short_tag = len<0x3f;
+ short_tag = len<0x3f&&(t->id!=ST_DEFINEBITSLOSSLESS&&t->id!=ST_DEFINEBITSLOSSLESS2);
if (writer)
{ if (short_tag)
if (writer)
{ if (short_tag)
@@
-1042,7
+1037,7
@@
void swf_FoldSprite(TAG * t)
do
{
do
{
- if(t->len<0x3f) {
+ if(t->len<0x3f&&t->id!=ST_DEFINEBITSLOSSLESS&&t->id!=ST_DEFINEBITSLOSSLESS2) {
swf_SetU16(sprtag,t->len|(t->id<<6));
} else {
swf_SetU16(sprtag,0x3f|(t->id<<6));
swf_SetU16(sprtag,t->len|(t->id<<6));
} else {
swf_SetU16(sprtag,0x3f|(t->id<<6));
@@
-1207,6
+1202,7
@@
int swf_WriteSWF2(struct writer_t*writer, SWF * swf) // Writes SWF to file,
int fileSize = 0;
int inSprite = 0;
int writer_lastpos = 0;
int fileSize = 0;
int inSprite = 0;
int writer_lastpos = 0;
+ int ret;
if (!swf) return -1;
if (!writer) return -1; // the caller should provide a nullwriter, not 0, for querying SWF size
if (!swf) return -1;
if (!writer) return -1; // the caller should provide a nullwriter, not 0, for querying SWF size
@@
-1296,7
+1292,7
@@
int swf_WriteSWF2(struct writer_t*writer, SWF * swf) // Writes SWF to file,
swf_SetU16(&t1,swf->frameRate);
swf_SetU16(&t1,swf->frameCount);
swf_SetU16(&t1,swf->frameRate);
swf_SetU16(&t1,swf->frameCount);
- int ret = writer->write(writer,b,swf_GetTagLen(&t1));
+ ret = writer->write(writer,b,swf_GetTagLen(&t1));
if (ret!=swf_GetTagLen(&t1))
{
#ifdef DEBUG_RFXSWF
if (ret!=swf_GetTagLen(&t1))
{
#ifdef DEBUG_RFXSWF