Пример #1
0
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);
}
Пример #3
0
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
}