IO_SWF 2.1.2 をリリースしました

  • replaceActionStrings で DefineButton2 内 AS 変数書き換えに対応しました。
  • DefineFont2 に対応しました。parse/dump/build 出来ます。
  • swfdump に -l (addLabel) オプションを追加。thank you! > beketa

機能追加

  • replaceActionStrings で DefineButton2 内 AS 変数書き換えに対応しました。
    • replaceActionStrings は DoAction, DoInitAction 内の AS 文字列を書き換えるメソッドで、onPress 等で AS を書くと DefineButton2 内に AS イメージが展開されるので駄目でしたが、今回 DefineButton2 にも対応しました。
  • swfdump で DefineFont2 の詳細情報が見られます。API はまだ用意していませんが、build も対応しているので頑張れば一部書き換える事も出来ます。
  • swfdump -l オプションを追加しました。Jump 命令で飛ぶ先のラベルを表示します。
    • 参考
yoya@gw:~/svn/IO_SWF$ php sample/swfdump.php -l -f ~/flash/asjump.swf
Signature: FWS
Version: 4
FileLength: 1477
FrameSize: Xmin: 0 Xmax: 240 Ymin: 0 Ymax: 240
FrameRate: 12
FrameCount: 1
Tags:
Code: 69(FileAttributes)  Length: 4
Code: 77(MetaData)  Length: 1298
Code: 9(SetBackgroundColor)  Length: 3
        Color: #ffffff
Code: 12(DoAction)  Length: 132
    Actions:
        [0] Push(Code=0x96) (Length=3): (String)a
        [1] Push(Code=0x96) (Length=3): (String)1
        [2] SetVariable(Code=0x1D)
        [3] Push(Code=0x96) (Length=3): (String)a
        [4] GetVariable(Code=0x1C)
        [5] Push(Code=0x96) (Length=3): (String)2
        [6] Less(Code=0x0F)
        [7] Not(Code=0x12)
        [8] If(Code=0x9D) (Length=2): Offset=13 (LABEL: 12)
        [9] Push(Code=0x96) (Length=3): (String)b
        [10] Push(Code=0x96) (Length=3): (String)3
        [11] SetVariable(Code=0x1D)
    (LABEL: 12):
        [12] Push(Code=0x96) (Length=3): (String)a
        [13] GetVariable(Code=0x1C)
        [14] Push(Code=0x96) (Length=3): (String)a
        [15] Push(Code=0x96) (Length=3): (String)a
        [16] GetVariable(Code=0x1C)
        [17] Push(Code=0x96) (Length=3): (String)1
        [18] Subtract(Code=0x0B)
        [19] SetVariable(Code=0x1D)
        [20] Not(Code=0x12)
        [21] If(Code=0x9D) (Length=2): Offset=18 (LABEL: 26)
        [22] Push(Code=0x96) (Length=3): (String)c
        [23] Push(Code=0x96) (Length=3): (String)4
        [24] SetVariable(Code=0x1D)
        [25] Jump(Code=0x99) (Length=2): BranchOffset=-52 (LABEL: 12)
    (LABEL: 26):
        [26] Push(Code=0x96) (Length=3): (String)c
        [27] GetVariable(Code=0x1C)
        [28] Push(Code=0x96) (Length=3): (String)5
        [29] Less(Code=0x0F)
        [30] Not(Code=0x12)
        [31] If(Code=0x9D) (Length=2): Offset=13 (LABEL: 35)
        [32] Push(Code=0x96) (Length=3): (String)d
        [33] Push(Code=0x96) (Length=3): (String)6
        [34] SetVariable(Code=0x1D)
Code: 1(ShowFrame)  Length: 0
Code: 0(End)  Length: 0