public ActionEncoder(SwfEncoder writer, DebugEncoder debug) { this.writer = writer; this.debug = debug; //UPGRADE_TODO: Class 'java.util.HashMap' was converted to 'System.Collections.Hashtable' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilHashMap'" labels = new System.Collections.Hashtable(); updates = new System.Collections.ArrayList(); }
public virtual void writeTo(System.IO.Stream out_Renamed) { SwfEncoder buffer = new SwfEncoder(version); fixNamesAndBitmaps(); encodeSwdData(buffer); buffer.WriteTo(out_Renamed); }
private void encodeClipEventFlags(int flags, SwfEncoder w) { if (w.swfVersion >= 6) { w.write32(flags); } else { w.writeUI16(flags); } }
private void encodeStraightEdgeRecord(StraightEdgeRecord line, SwfEncoder w, int nbits) { if (line.deltaX == 0) { w.writeUBits(1, 2); // vertical line w.writeSBits(line.deltaY, nbits); } else if (line.deltaY == 0) { w.writeUBits(0, 2); // horizontal line w.writeSBits(line.deltaX, nbits); } else { w.writeBit(true); // general line w.writeSBits(line.deltaX, nbits); w.writeSBits(line.deltaY, nbits); } }
private void encodeSoundInfo(SoundInfo info, SwfEncoder w) { w.writeUBits(0, 2); // reserved w.writeBit(info.syncStop); w.writeBit(info.syncNoMultiple); w.writeBit(info.records != null); w.writeBit(info.loopCount != SoundInfo.UNINITIALIZED); w.writeBit(info.outPoint != SoundInfo.UNINITIALIZED); w.writeBit(info.inPoint != SoundInfo.UNINITIALIZED); if (info.inPoint != SoundInfo.UNINITIALIZED) { w.write32((int) info.inPoint); } if (info.outPoint != SoundInfo.UNINITIALIZED) { w.write32((int) info.outPoint); } if (info.loopCount != SoundInfo.UNINITIALIZED) { w.writeUI16(info.loopCount); } if (info.records != null) { w.writeUI8(info.records.Length); for (int k = 0; k < info.records.Length; k++) { w.write64(info.records[k]); } } }
private void encodeButtonCondAction(ButtonCondAction condAction, SwfEncoder w, bool last) { int pos = w.Pos; w.writeUI16(0); w.writeUBits(condAction.keyPress, 7); w.writeBit(condAction.overDownToIdle); w.writeBit(condAction.idleToOverDown); w.writeBit(condAction.outDownToIdle); w.writeBit(condAction.outDownToOverDown); w.writeBit(condAction.overDownToOutDown); w.writeBit(condAction.overDownToOverUp); w.writeBit(condAction.overUpToOverDown); w.writeBit(condAction.overUpToIdle); w.writeBit(condAction.idleToOverUp); new ActionEncoder(w, debug).encode(condAction.actionList); w.writeUI8(0); // end action byte if (!last) { w.writeUI16at(pos, w.Pos - pos); } }
private void encodeCxforma(CXFormWithAlpha cxforma, SwfEncoder w) { w.writeBit(cxforma.hasAdd); w.writeBit(cxforma.hasMult); int nbits = cxforma.nbits(); w.writeUBits(nbits, 4); if (cxforma.hasMult) { w.writeSBits(cxforma.redMultTerm, nbits); w.writeSBits(cxforma.greenMultTerm, nbits); w.writeSBits(cxforma.blueMultTerm, nbits); w.writeSBits(cxforma.alphaMultTerm, nbits); } if (cxforma.hasAdd) { w.writeSBits(cxforma.redAddTerm, nbits); w.writeSBits(cxforma.greenAddTerm, nbits); w.writeSBits(cxforma.blueAddTerm, nbits); w.writeSBits(cxforma.alphaAddTerm, nbits); } w.flushBits(); }
/// <param name="rgba">as 0xAARRGGBB /// </param> /// <param name="w"> /// </param> private void encodeRGBA(int rgba, SwfEncoder w) { w.writeUI8((SupportClass.URShift(rgba, 16)) & 255); // red w.writeUI8((SupportClass.URShift(rgba, 8)) & 255); // green w.writeUI8(rgba & 255); // blue w.writeUI8(SupportClass.URShift(rgba, 24)); // alpha }
/// <param name="rgb">as 0x00RRGGBB /// </param> /// <param name="w"> /// </param> private void encodeRGB(int rgb, SwfEncoder w) { w.writeUI8(SupportClass.URShift(rgb, 16)); // red. we don't mask this because if rgb has an Alpha value, something's wrong w.writeUI8((SupportClass.URShift(rgb, 8)) & 255); w.writeUI8(rgb & 255); // blue }
public virtual void encodeRect(Rect r, SwfEncoder w) { int nBits = r.nbits(); w.writeUBits(nBits, 5); w.writeSBits(r.xMin, nBits); w.writeSBits(r.xMax, nBits); w.writeSBits(r.yMin, nBits); w.writeSBits(r.yMax, nBits); w.flushBits(); }
private void encodeFilterList(System.Collections.IList filters, SwfEncoder w) { int count = filters.Count; w.writeUI8(count); //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratorhasNext'" for (System.Collections.IEnumerator it = filters.GetEnumerator(); it.MoveNext(); ) { //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratornext'" Filter f = (Filter) it.Current; w.writeUI8(f.getID()); // I've never quite understood why the serialization code isn't in the tags themselves.. switch (f.getID()) { case DropShadowFilter.ID: encodeDropShadowFilter(w, (DropShadowFilter) f); break; case BlurFilter.ID: encodeBlurFilter(w, (BlurFilter) f); break; case ConvolutionFilter.ID: encodeConvolutionFilter(w, (ConvolutionFilter) f); break; case GlowFilter.ID: encodeGlowFilter(w, (GlowFilter) f); break; case BevelFilter.ID: encodeBevelFilter(w, (BevelFilter) f); break; case ColorMatrixFilter.ID: encodeColorMatrixFilter(w, (ColorMatrixFilter) f); break; case GradientGlowFilter.ID: encodeGradientGlowFilter(w, (GradientGlowFilter) f); break; case GradientBevelFilter.ID: encodeGradientBevelFilter(w, (GradientBevelFilter) f); break; } } }
private void encodeDefineText(DefineText tag, SwfEncoder w, int type) { int id = dict.add(tag); w.writeUI16(id); encodeRect(tag.bounds, w); encodeMatrix(tag.matrix, w); int length = tag.records.Count; // compute necessary bit width int glyphBits = 0; int advanceBits = 0; for (int i = 0; i < length; i++) { TextRecord tr = (TextRecord) tag.records[i]; for (int j = 0; j < tr.entries.Length; j++) { GlyphEntry entry = tr.entries[j]; while (entry.Index > (1 << glyphBits)) glyphBits++; while (System.Math.Abs(entry.advance) > (1 << advanceBits)) advanceBits++; } } // increment to get from bit index to bit count. ++glyphBits; ++advanceBits; w.writeUI8(glyphBits); w.writeUI8(++advanceBits); // add one extra bit because advances are signed for (int i = 0; i < length; i++) { TextRecord record = (TextRecord) tag.records[i]; encodeTextRecord(record, w, type, glyphBits, advanceBits); } w.writeUI8(0); }
public override void defineSprite(DefineSprite tag) { int id = dict.add(tag); tagw.writeUI16(id); tagw.writeUI16(tag.framecount); if (Debug) { debug.adjust = writer.Pos + 6; } // save frame count int oldFrames = frames; frames = 0; // save the movie writer, and push a new writer SwfEncoder oldWriter = writer; writer = tagw; tagw = createEncoder(SwfVersion); // write sprite tags System.Collections.IList tags = tag.tagList.tags; int size = tags.Count; for (int i = 0; i < size; i++) { Tag t = (Tag) tags[i]; if (!(t is DefineTag)) t.visit(this); } // terminate with end marker writer.writeUI16(0); // update frame count writer.writeUI16at(2, frames); // restore writers tagw = writer; writer = oldWriter; frames = oldFrames; if (Debug) { debug.adjust = 0; } encodeTag(tag); }
private void encodeShapeWithStyle(ShapeWithStyle shapeWithStyle, SwfEncoder w, int shape) { encodeFillstyles(shapeWithStyle.fillstyles, w, shape); encodeLinestyles(shapeWithStyle.linestyles, w, shape); encodeShape(shapeWithStyle, w, shape, shapeWithStyle.fillstyles.Count, shapeWithStyle.linestyles.Count); }
private void encodeSwdData(SwfEncoder buffer) { // Encode the header. buffer.write32(('F') | ('W' << 8) | ('D' << 16) | (version << 24)); // Encode one kDebugID tag. buffer.write32(flash.swf.DebugTags_Fields.kDebugID); buffer.write(debugID); // Encode the kDebugScript and kDebugOffset tags. // The kDebugScript tags are in module number order (1,2,3,...). // After each one of these are the associated kDebugOffset tags // for that module number, in ascending order // by line number and byte offset. SupportClass.CollectionsSupport.Sort(debugScripts, null); int id = 0; System.Collections.IEnumerator debugScriptIter = debugScripts.GetEnumerator(); //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratorhasNext'" while (debugScriptIter.MoveNext()) { //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratornext'" DebugScript debugScript = (DebugScript) debugScriptIter.Current; id++; buffer.write32(flash.swf.DebugTags_Fields.kDebugScript); buffer.write32(id); buffer.write32(debugScript.bitmap); buffer.writeString(debugScript.name); buffer.writeString(debugScript.text); SupportClass.CollectionsSupport.Sort(debugScript.debugOffsets, null); System.Collections.IEnumerator debugOffsetIter = debugScript.debugOffsets.GetEnumerator(); //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratorhasNext'" while (debugOffsetIter.MoveNext()) { //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratornext'" DebugOffset debugOffset = (DebugOffset) debugOffsetIter.Current; buffer.write32(flash.swf.DebugTags_Fields.kDebugOffset); buffer.write32(id); buffer.write32(debugOffset.lineNumber); buffer.write32(debugOffset.byteOffset); } } // Encode the kDebugRegister tags SupportClass.CollectionsSupport.Sort(debugRegisters, null); System.Collections.IEnumerator itr = debugRegisters.GetEnumerator(); //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratorhasNext'" while (itr.MoveNext()) { //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratornext'" DebugRegisters debug = (DebugRegisters) itr.Current; int size = debug.registerNumbers.Length; buffer.write32(flash.swf.DebugTags_Fields.kDebugRegisters); buffer.write32(debug.offset); buffer.writeUI8(size); for (int i = 0; i < debug.registerNumbers.Length; i++) { buffer.writeUI8(debug.registerNumbers[i]); buffer.writeString(debug.variableNames[i]); } } // Encode the kDebugBreakpoint tags SupportClass.CollectionsSupport.Sort(debugBreakpoints, null); System.Collections.IEnumerator debugBreakpointIterator = debugBreakpoints.GetEnumerator(); //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratorhasNext'" while (debugBreakpointIterator.MoveNext()) { //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratornext'" DebugBreakpoint debugBreakpoint = (DebugBreakpoint) debugBreakpointIterator.Current; buffer.write32(flash.swf.DebugTags_Fields.kDebugBreakpoint); buffer.write32(debugBreakpoint.offset); } }
private void encodeDropShadowFilter(SwfEncoder w, DropShadowFilter f) { encodeRGBA(f.color, w); w.write32(f.blurX); w.write32(f.blurY); w.write32(f.angle); w.write32(f.distance); w.writeUI16(f.strength); w.writeUI8(f.flags); }
private void encodeBlurFilter(SwfEncoder w, BlurFilter f) { w.write32(f.blurX); w.write32(f.blurY); w.writeUI8(f.passes); }
private void encodeBitmapData(sbyte[] data, SwfEncoder w) { w.write(data); }
private void encodeColorMatrixFilter(SwfEncoder w, ColorMatrixFilter f) { for (int i = 0; i < 20; ++i) { w.writeFloat(f.values[i]); } }
private void encodeAlphaColorMapData(int[] colorData, sbyte[] pixelData, SwfEncoder w) { for (int i = 0; i < colorData.Length; i++) { encodeRGBA(colorData[i], w); } w.write(pixelData); }
private void encodeConvolutionFilter(SwfEncoder w, ConvolutionFilter f) { w.writeUI8(f.matrixX); w.writeUI8(f.matrixY); w.writeFloat(f.divisor); w.writeFloat(f.bias); for (int i = 0; i < f.matrix.Length; ++i) w.writeFloat(f.matrix[i]); w.writeUI8(f.flags); }
private void encodeButtonRecord(ButtonRecord record, SwfEncoder w, int defineButton) { if (defineButton == flash.swf.TagValues_Fields.stagDefineButton2) { w.writeUBits(0, 2); w.writeBit(record.blendMode != - 1); w.writeBit(record.filters != null); } else { w.writeUBits(0, 4); } w.writeBit(record.hitTest); w.writeBit(record.down); w.writeBit(record.over); w.writeBit(record.up); w.writeUI16(dict.getId(record.characterRef)); w.writeUI16(record.placeDepth); encodeMatrix(record.placeMatrix, w); if (defineButton == flash.swf.TagValues_Fields.stagDefineButton2) { encodeCxforma(record.colorTransform, w); if (record.filters != null) { this.encodeFilterList(record.filters, w); } if (record.blendMode != - 1) { w.writeUI8(record.blendMode); } } }
private void encodeGlowFilter(SwfEncoder w, GlowFilter f) { encodeRGBA(f.color, w); w.write32(f.blurX); w.write32(f.blurY); w.writeUI16(f.strength); w.writeUI8(f.flags); }
private void encodeMatrix(Matrix matrix, SwfEncoder w) { w.writeBit(matrix.hasScale); if (matrix.hasScale) { int nScaleBits = matrix.nScaleBits(); w.writeUBits(nScaleBits, 5); w.writeSBits(matrix.scaleX, nScaleBits); w.writeSBits(matrix.scaleY, nScaleBits); } w.writeBit(matrix.hasRotate); if (matrix.hasRotate) { int nRotateBits = matrix.nRotateBits(); w.writeUBits(nRotateBits, 5); w.writeSBits(matrix.rotateSkew0, nRotateBits); w.writeSBits(matrix.rotateSkew1, nRotateBits); } int nTranslateBits = matrix.nTranslateBits(); w.writeUBits(nTranslateBits, 5); w.writeSBits(matrix.translateX, nTranslateBits); w.writeSBits(matrix.translateY, nTranslateBits); w.flushBits(); }
private void encodeBevelFilter(SwfEncoder w, BevelFilter f) { encodeRGBA(f.shadowColor, w); encodeRGBA(f.highlightColor, w); w.write32(f.blurX); w.write32(f.blurY); w.write32(f.angle); w.write32(f.distance); w.writeUI16(f.strength); w.writeUI8(f.flags); }
private void encodeCxform(CXForm cxform, SwfEncoder w) { w.writeBit(cxform.hasAdd); w.writeBit(cxform.hasMult); int nbits = cxform.nbits(); w.writeUBits(nbits, 4); if (cxform.hasMult) { w.writeSBits(cxform.redMultTerm, nbits); w.writeSBits(cxform.greenMultTerm, nbits); w.writeSBits(cxform.blueMultTerm, nbits); } if (cxform.hasAdd) { w.writeSBits(cxform.redAddTerm, nbits); w.writeSBits(cxform.greenAddTerm, nbits); w.writeSBits(cxform.blueAddTerm, nbits); } w.flushBits(); }
private void encodeGradientBevelFilter(SwfEncoder w, GradientBevelFilter f) { w.writeUI8(f.numcolors); for (int i = 0; i < f.numcolors; ++i) encodeRGBA(f.gradientColors[i], w); for (int i = 0; i < f.numcolors; ++i) w.writeUI8(f.gradientRatio[i]); // w.write32( f.shadowColor ); // w.write32( f.highlightColor ); w.write32(f.blurX); w.write32(f.blurY); w.write32(f.angle); w.write32(f.distance); w.writeUI16(f.strength); w.writeUI8(f.flags); }
public virtual void encodeShape(Shape s, SwfEncoder w, int shape, int nFillStyles, int nLineStyles) { int[] numFillBits = new int[]{SwfEncoder.minBits(nFillStyles, 0)}; int[] numLineBits = new int[]{SwfEncoder.minBits(nLineStyles, 0)}; w.writeUBits(numFillBits[0], 4); w.writeUBits(numLineBits[0], 4); System.Collections.IEnumerator it = s.shapeRecords.GetEnumerator(); //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratorhasNext'" while (it.MoveNext()) { //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratornext'" ShapeRecord record = (ShapeRecord) it.Current; if (record is StyleChangeRecord) { // style change w.writeBit(false); StyleChangeRecord change = (StyleChangeRecord) record; encodeStyleChangeRecord(w, change, numFillBits, numLineBits, shape); } else { // edge w.writeBit(true); EdgeRecord e = (EdgeRecord) record; bool straight = e is StraightEdgeRecord; w.writeBit(straight); int nbits = straight?calcBits((StraightEdgeRecord) e):calcBits((CurvedEdgeRecord) e); if (nbits < 2) nbits = 2; w.writeUBits(nbits - 2, 4); if (straight) { // line StraightEdgeRecord line = (StraightEdgeRecord) e; encodeStraightEdgeRecord(line, w, nbits); } else { // curve CurvedEdgeRecord curve = (CurvedEdgeRecord) e; w.writeSBits(curve.controlDeltaX, nbits); w.writeSBits(curve.controlDeltaY, nbits); w.writeSBits(curve.anchorDeltaX, nbits); w.writeSBits(curve.anchorDeltaY, nbits); } } } // endshaperecord w.writeUBits(0, 6); w.flushBits(); }
private void encodeTextRecord(TextRecord record, SwfEncoder w, int type, int glyphBits, int advanceBits) { w.writeUI8(record.flags); if (record.hasFont()) { w.writeUI16(dict.getId(record.font)); } if (record.hasColor()) { if (type == flash.swf.TagValues_Fields.stagDefineText2) encodeRGBA(record.color, w); else encodeRGB(record.color, w); } if (record.hasX()) { w.writeSI16(record.xOffset); } if (record.hasY()) { w.writeSI16(record.yOffset); } if (record.hasHeight()) { w.writeUI16(record.height); } w.writeUI8(record.entries.Length); for (int i = 0; i < record.entries.Length; i++) { w.writeUBits(record.entries[i].Index, glyphBits); w.writeSBits(record.entries[i].advance, advanceBits); } w.flushBits(); }
private void encodeStyleChangeRecord(SwfEncoder w, StyleChangeRecord s, int[] numFillBits, int[] numLineBits, int shape) { w.writeBit(s.stateNewStyles); w.writeBit(s.stateLineStyle); w.writeBit(s.stateFillStyle1); w.writeBit(s.stateFillStyle0); w.writeBit(s.stateMoveTo); if (s.stateMoveTo) { int moveBits = s.nMoveBits(); w.writeUBits(moveBits, 5); w.writeSBits(s.moveDeltaX, moveBits); w.writeSBits(s.moveDeltaY, moveBits); } if (s.stateFillStyle0) { w.writeUBits(s.fillstyle0, numFillBits[0]); } if (s.stateFillStyle1) { w.writeUBits(s.fillstyle1, numFillBits[0]); } if (s.stateLineStyle) { w.writeUBits(s.linestyle, numLineBits[0]); } if (s.stateNewStyles) { w.flushBits(); encodeFillstyles(s.fillstyles, w, shape); encodeLinestyles(s.linestyles, w, shape); numFillBits[0] = SwfEncoder.minBits(s.fillstyles.Count, 0); numLineBits[0] = SwfEncoder.minBits(s.linestyles.Count, 0); w.writeUBits(numFillBits[0], 4); w.writeUBits(numLineBits[0], 4); } }
public override void header(Header header) { // get some header properties we need to know int swfVersion = header.version; this.header_Renamed_Field = header; this.writer = createEncoder(swfVersion); this.tagw = createEncoder(swfVersion); width = header.size.Width; height = header.size.Height; frames = 0; // write the header writer.writeUI8(header.compressed?'C':'F'); writer.writeUI8('W'); writer.writeUI8('S'); writer.writeUI8(header.version); writer.write32((int) header.length); if (header.compressed) { writer.markComp(); } encodeRect(header.size, writer); writer.writeUI8(header.rate >> 8); writer.writeUI8(header.rate & 255); framecountPos = writer.Pos; writer.writeUI16(header.framecount); }
private void encodeSwdData(SwfEncoder buffer) { // Encode the header. buffer.write32(('F') | ('W' << 8) | ('D' << 16) | (version << 24)); // Encode one kDebugID tag. buffer.write32(flash.swf.DebugTags_Fields.kDebugID); buffer.write(debugID); // Encode the kDebugScript and kDebugOffset tags. // The kDebugScript tags are in module number order (1,2,3,...). // After each one of these are the associated kDebugOffset tags // for that module number, in ascending order // by line number and byte offset. SupportClass.CollectionsSupport.Sort(debugScripts, null); int id = 0; System.Collections.IEnumerator debugScriptIter = debugScripts.GetEnumerator(); //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratorhasNext'" while (debugScriptIter.MoveNext()) { //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratornext'" DebugScript debugScript = (DebugScript)debugScriptIter.Current; id++; buffer.write32(flash.swf.DebugTags_Fields.kDebugScript); buffer.write32(id); buffer.write32(debugScript.bitmap); buffer.writeString(debugScript.name); buffer.writeString(debugScript.text); SupportClass.CollectionsSupport.Sort(debugScript.debugOffsets, null); System.Collections.IEnumerator debugOffsetIter = debugScript.debugOffsets.GetEnumerator(); //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratorhasNext'" while (debugOffsetIter.MoveNext()) { //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratornext'" DebugOffset debugOffset = (DebugOffset)debugOffsetIter.Current; buffer.write32(flash.swf.DebugTags_Fields.kDebugOffset); buffer.write32(id); buffer.write32(debugOffset.lineNumber); buffer.write32(debugOffset.byteOffset); } } // Encode the kDebugRegister tags SupportClass.CollectionsSupport.Sort(debugRegisters, null); System.Collections.IEnumerator itr = debugRegisters.GetEnumerator(); //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratorhasNext'" while (itr.MoveNext()) { //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratornext'" DebugRegisters debug = (DebugRegisters)itr.Current; int size = debug.registerNumbers.Length; buffer.write32(flash.swf.DebugTags_Fields.kDebugRegisters); buffer.write32(debug.offset); buffer.writeUI8(size); for (int i = 0; i < debug.registerNumbers.Length; i++) { buffer.writeUI8(debug.registerNumbers[i]); buffer.writeString(debug.variableNames[i]); } } // Encode the kDebugBreakpoint tags SupportClass.CollectionsSupport.Sort(debugBreakpoints, null); System.Collections.IEnumerator debugBreakpointIterator = debugBreakpoints.GetEnumerator(); //UPGRADE_TODO: Method 'java.util.Iterator.hasNext' was converted to 'System.Collections.IEnumerator.MoveNext' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratorhasNext'" while (debugBreakpointIterator.MoveNext()) { //UPGRADE_TODO: Method 'java.util.Iterator.next' was converted to 'System.Collections.IEnumerator.Current' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilIteratornext'" DebugBreakpoint debugBreakpoint = (DebugBreakpoint)debugBreakpointIterator.Current; buffer.write32(flash.swf.DebugTags_Fields.kDebugBreakpoint); buffer.write32(debugBreakpoint.offset); } }