void swf::PlaceObject2::fromSWF(buf_type *& buf) { int i = 0; hasClipActions = getUBits(buf, 1, i++); hasClipDepth = getUBits(buf, 1, i++); hasName = getUBits(buf, 1, i++); hasRatio = getUBits(buf, 1, i++); hasColorTransform = getUBits(buf, 1, i++); hasMatrix = getUBits(buf, 1, i++); hasCharacter = getUBits(buf, 1, i++); moves = getUBits(buf, 1, i++); buf++; depth.fromSWF(buf); if( hasCharacter ) characterId.fromSWF(buf); if( hasMatrix ) matrix.fromSWF(buf); if( hasColorTransform ) colorTransform.fromSWF(buf); if( hasRatio ) ratio.fromSWF(buf); if( hasName ) name.fromSWF(buf); if( hasClipDepth ) clipDepth.fromSWF(buf); if( hasClipActions ) clipActions.fromSWF(buf); #ifdef LIBSWF_DEBUG printf("26 PlaceObject2\n"); printf("\t%i hasClipActions\n", hasClipActions); printf("\t%i hasClipDepth\n", hasClipDepth); printf("\t%i hasName\n", hasName); printf("\t%i hasRatio\n", hasRatio); printf("\t%i hasColorTransform\n", hasColorTransform); printf("\t%i hasMatrix\n", hasMatrix); printf("\t%i hasCharacter\n", hasCharacter); printf("\t%i moves\n", moves); #endif }
StaticVoyageRelatedmsg::StaticVoyageRelatedmsg(std::string parseMsg): AISmsg(parseMsg){ setBitLength(424); ais_version = getUBits(parseMsg, 38, 2); imo = getUBits(parseMsg, 40, 30); callsign = getStringBits(parseMsg, 70, 42); shipname = getStringBits(parseMsg, 112, 120); setShiptype((AISmsg::ShipType)getUBits(parseMsg, 232, 8)); to_bow = getUBits(parseMsg, 240, 9); to_stern = getUBits(parseMsg, 249, 9); to_port = getUBits(parseMsg, 258, 6); to_starboard = getUBits(parseMsg, 264, 6); setEPFD((AISmsg::PositionFixType)getUBits(parseMsg, 270, 4)); month = getUBits(parseMsg, 274, 4); day = getUBits(parseMsg, 278, 5); hour = getUBits(parseMsg, 283, 5); minute = getUBits(parseMsg, 288, 6); draught = getUBits(parseMsg, 294, 8); destination = getStringBits(parseMsg, 302, 120); dte = getUBits(parseMsg, 422, 1); }
void swf::PlaceObject3::fromSWF(buf_type *& buf) { int i = 0; hasClipActions = getUBits(buf, 1, i++); hasClipDepth = getUBits(buf, 1, i++); hasName = getUBits(buf, 1, i++); hasRatio = getUBits(buf, 1, i++); hasColorTransform = getUBits(buf, 1, i++); hasMatrix = getUBits(buf, 1, i++); hasCharacter = getUBits(buf, 1, i++); moves = getUBits(buf, 1, i++); i += 3;//reserved UB[3] hasImage = getUBits(buf, 1, i++); hasClassName = getUBits(buf, 1, i++); hasCacheAsBitmap = getUBits(buf, 1, i++); hasBlendMode = getUBits(buf, 1, i++); hasFilterList = getUBits(buf, 1, i++); buf += (unsigned) (i / (sizeof(*buf) * 8.0f)); depth.fromSWF(buf); if( hasClassName || (hasImage && hasCharacter) ) className.fromSWF(buf); if( hasCharacter ) characterId.fromSWF(buf); if( hasMatrix ) matrix.fromSWF(buf); if( hasColorTransform ) colorTransform.fromSWF(buf); if( hasRatio ) ratio.fromSWF(buf); if( hasName ) name.fromSWF(buf); if( hasClipDepth ) clipDepth.fromSWF(buf); if( hasFilterList ) surfaceFilterList.fromSWF(buf); if( hasBlendMode ) blendMode.fromSWF(buf); if( hasCacheAsBitmap ) bitmapCache.fromSWF(buf); if( hasClipActions ) clipActions.fromSWF(buf); #ifdef LIBSWF_DEBUG printf("70 PlaceObject3\n"); printf("\t%i hasClipActions\n", hasClipActions); printf("\t%i hasClipDepth\n", hasClipDepth); printf("\t%i hasName\n", hasName); printf("\t%i hasRatio\n", hasRatio); printf("\t%i hasColorTransform\n", hasColorTransform); printf("\t%i hasMatrix\n", hasMatrix); printf("\t%i hasCharacter\n", hasCharacter); printf("\t%i moves\n", moves); printf("\t%i hasImage\n", hasImage); printf("\t%i hasClassName\n", hasClassName); printf("\t%i hasCacheAsBitmap\n", hasCacheAsBitmap); printf("\t%i hasBlendMode\n", hasBlendMode); printf("\t%i hasFilterList\n", hasFilterList); #endif }