git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* bugfixes in sprite handling.
[swftools.git]
/
lib
/
rfxswf.h
diff --git
a/lib/rfxswf.h
b/lib/rfxswf.h
index
4a567dc
..
9fb2546
100644
(file)
--- a/
lib/rfxswf.h
+++ b/
lib/rfxswf.h
@@
-95,7
+95,7
@@
typedef struct _MATRIX
} MATRIX, * LPMATRIX;
typedef struct _CXFORM
} MATRIX, * LPMATRIX;
typedef struct _CXFORM
-{ S16 a0, a1;
+{ S16 a0, a1; /* mult, add */
S16 r0, r1;
S16 g0, g1;
S16 b0, b1;
S16 r0, r1;
S16 g0, g1;
S16 b0, b1;
@@
-126,6
+126,22
@@
typedef struct _TAG // NEVER access a Tag-Struct directly !
} TAG, * LPTAG;
} TAG, * LPTAG;
+typedef struct _SOUNDINFO
+{
+ U8 stop;
+ U8 multiple; //continue playing if already started
+
+ U32 inpoint;
+ U32 outpoint;
+
+ U16 loops;
+ U8 envelopes;
+
+ //envelope:
+ U32* pos;
+ U32* left;
+ U32* right;
+} SOUNDINFO;
typedef struct _SWF
{ U8 fileVersion;
typedef struct _SWF
{ U8 fileVersion;
@@
-162,6
+178,10
@@
void swf_UnFoldAll(SWF*swf);
void swf_FoldSprite(TAG*tag);
void swf_UnFoldSprite(TAG*tag);
void swf_FoldSprite(TAG*tag);
void swf_UnFoldSprite(TAG*tag);
+// tag reordering:
+
+void swf_OptimizeTagOrder(SWF*swf);
+
// basic routines:
TAG * swf_InsertTag(TAG * after,U16 id); // updates frames, if necessary
// basic routines:
TAG * swf_InsertTag(TAG * after,U16 id); // updates frames, if necessary
@@
-208,6
+228,13
@@
int swf_SetCXForm(TAG * t,CXFORM * cx,U8 alpha);
int swf_SetRGB(TAG * t,RGBA * col);
int swf_SetRGBA(TAG * t,RGBA * col);
int swf_SetRGB(TAG * t,RGBA * col);
int swf_SetRGBA(TAG * t,RGBA * col);
+// helper functions:
+
+void swf_ExpandRect(SRECT*src, SPOINT add);
+void swf_ExpandRect2(SRECT*src, SRECT*add);
+SPOINT swf_TurnPoint(SPOINT p, MATRIX* m);
+SRECT swf_TurnRect(SRECT r, MATRIX* m);
+
// Function Macros
#define swf_GetS8(tag) ((S8)swf_GetU8(tag))
// Function Macros
#define swf_GetS8(tag) ((S8)swf_GetU8(tag))
@@
-215,6
+242,7
@@
int swf_SetRGBA(TAG * t,RGBA * col);
#define swf_GetS32(tag) ((S32)swf_GetU32(tag))
#define swf_GetCoord(tag) ((SCOORD)swf_GetU32(tag))
#define swf_GetFixed(tag) ((SFIXED)swf_GetU32(tag))
#define swf_GetS32(tag) ((S32)swf_GetU32(tag))
#define swf_GetCoord(tag) ((SCOORD)swf_GetU32(tag))
#define swf_GetFixed(tag) ((SFIXED)swf_GetU32(tag))
+#define swf_GetString(t) ((char*)(&(t)->data[(t)->pos]))
#define swf_SetS8(tag,v) swf_SetU8(tag,(U8)v)
#define swf_SetS16(tag,v) swf_SetU16(tag,(U16)v)
#define swf_SetS8(tag,v) swf_SetU8(tag,(U8)v)
#define swf_SetS16(tag,v) swf_SetU16(tag,(U16)v)
@@
-616,8
+644,11
@@
int swf_SetLosslessBitsGrayscale(TAG * t,U16 width,U16 height,U8 * bitmap);
// swfsound.c
void swf_SetSoundStreamHead(TAG*tag, int avgnumsamples);
// swfsound.c
void swf_SetSoundStreamHead(TAG*tag, int avgnumsamples);
-/* expects 2304 samples */
-void swf_SetSoundStreamBlock(TAG*tag, S16*samples, char first);
+void swf_SetSoundStreamBlock(TAG*tag, S16*samples, char first); /* expects 2304 samples */
+
+void swf_SetSoundDefine(TAG*tag, S16*samples, int num);
+
+void swf_SetSoundInfo(TAG*tag, SOUNDINFO*info);
#endif // RFXSWF_DISABLESOUND
#endif // RFXSWF_DISABLESOUND