面板(viewpanel/src/com/spineview/) - ObjectPanel:Refresh / New Bone / New Slot / New BBox / New Path / Delete / Rename / Inspect + 名字输入框 + 对象列表(点行=选中)+ 状态行,全英文。 - SceneObjects:查(Tree 控件按层级/扁平列全部对象)、选中(VZ.D(Tree.Node,boolean) —— VZ.D(Object) 内部只是 Selection.L(),不真选中)、读当前选择(VZ.B())。 - SceneActions:增/删/改 + 撤销包装(un.D()/un.B())+ 树节点重建(VZ.D(GP,true,true)); 统一在编辑器渲染线程执行(OG.B(Runnable);OG.I() 有线程断言,非渲染线程会抛 RuntimeException); 输入名字对话框自动化:找到『有 TextField 字段 + L(Object)V 回调』的对话框对象 → 填名字 → 调 L(true)。 - 实测:骨骼新建自动编号(bone7/bone8);模型层允许重名、按名字查只返回第一个;删父骨骼连子节点一起删; 不能在渲染线程里 sleep(有些创建是下一帧做的)。 - 探针:-Dspine.probe=objects|panels|select|crud|matrix|panel。 可识别源码版(工具) - tools/deobf/Renamer.java:ASM Remapper 只改成员名不改类名(indy 运行时要用加密串里的类名反射查)。 - tools/deobf/anchors.tsv(手动 14 条有证据的锚点)+ anchors-libgdx.tsv(MapMethods 对 gdx-1.11.0 指纹自动生成 178 条)→ names.tsv 192 条。 - 产物 ~/Desktop/spine398/src-named(4176 类全量,原 src-readable 不动);已验证 Table.add/clearChildren、SelectBox.getSelected/setSelected/setSelectedIndex、Gp.name。 - 文档:混淆名对照表.md 新增第六节(工具链 + 已验证 + 已知限制)。
1.4 KiB
1.4 KiB
| 1 | # 名字映射锚点(只放**已确定**的;每条都要能说清依据,依据写进 混淆名对照表.md) | |||
|---|---|---|---|---|
| 2 | # 列:owner | name | desc | newName (desc 写 * 表示该 owner 下所有同名成员) |
| 3 | # | |||
| 4 | # ---- libGDX:Table(载荷名 et);依据 Obf.java + 直读字节码 ---- | |||
| 5 | et | D | (Ldl;)LdR; | add |
| 6 | et | D | ([Ldl;)Let; | addAll |
| 7 | et | I | ()LdR; | row |
| 8 | et | Z | (Z)V | setFillParent |
| 9 | et | SourceFile | ()V | clearChildren |
| 10 | et | D | (Ljava/lang/CharSequence;)LdR; | addLabel |
| 11 | # ---- libGDX:Cell(载荷名 dR)---- | |||
| 12 | dR | StackMapTable | ()LdR; | expand |
| 13 | dR | D | ()LdR; | fill |
| 14 | dR | C | ()LdR; | left |
| 15 | dR | S | ()LdR; | top |
| 16 | # ---- libGDX:Button / Label(保名类)---- | |||
| 17 | com/badlogic/gdx/scenes/scene2d/ui/Button | String | ()Z | isChecked |
| 18 | com/badlogic/gdx/scenes/scene2d/ui/Button | I | (Z)V | setChecked |
| 19 | com/badlogic/gdx/scenes/scene2d/ui/Button | B | (ZZ)V | setCheckedAndFire |
| 20 | com/badlogic/gdx/scenes/scene2d/ui/Button | a_ | (Z)V | setDisabled |
| 21 | com/badlogic/gdx/scenes/scene2d/ui/Label | D | (Ljava/lang/CharSequence;)V | setText |
| 22 | com/badlogic/gdx/scenes/scene2d/ui/Label | D | ()Ljava/lang/StringBuilder; | getTextBuilder |
| 23 | # ---- libGDX:SelectBox(载荷名 KP);依据 DumpSites 解出的 (Ljava/lang/String;)V ---- | |||
| 24 | KP | B | (Ljava/lang/String;)V | setSelected |
| 25 | KP | B | ()Ljava/lang/String; | getSelected |
| 26 | KP | B | (I)V | setSelectedIndex |
| 27 | # ---- 场景模型:Gp = 骨骼;依据 gp_2.java 的 toString()/D(String,boolean)V ---- | |||
| 28 | Gp | D | Ljava/lang/String; | name |
| 29 | Gp | D | (Ljava/lang/String;Z)V | setName |