Files
Spine_lab/tools/deobf/anchors.tsv
T
tianmo d9ea449b64 面板增删改查 + Inspector + 可识别源码版(src-named)
面板(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 新增第六节(工具链 + 已验证 + 已知限制)。
2026-10-16 15:25:02 +08:00

30 lines
1.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 名字映射锚点(只放**已确定**的;每条都要能说清依据,依据写进 混淆名对照表.md)
# 列:owner name desc newName (desc 写 * 表示该 owner 下所有同名成员)
#
# ---- libGDX:Table(载荷名 et);依据 Obf.java + 直读字节码 ----
et D (Ldl;)LdR; add
et D ([Ldl;)Let; addAll
et I ()LdR; row
et Z (Z)V setFillParent
et SourceFile ()V clearChildren
et D (Ljava/lang/CharSequence;)LdR; addLabel
# ---- libGDX:Cell(载荷名 dR)----
dR StackMapTable ()LdR; expand
dR D ()LdR; fill
dR C ()LdR; left
dR S ()LdR; top
# ---- libGDX:Button / Label(保名类)----
com/badlogic/gdx/scenes/scene2d/ui/Button String ()Z isChecked
com/badlogic/gdx/scenes/scene2d/ui/Button I (Z)V setChecked
com/badlogic/gdx/scenes/scene2d/ui/Button B (ZZ)V setCheckedAndFire
com/badlogic/gdx/scenes/scene2d/ui/Button a_ (Z)V setDisabled
com/badlogic/gdx/scenes/scene2d/ui/Label D (Ljava/lang/CharSequence;)V setText
com/badlogic/gdx/scenes/scene2d/ui/Label D ()Ljava/lang/StringBuilder; getTextBuilder
# ---- libGDX:SelectBox(载荷名 KP);依据 DumpSites 解出的 (Ljava/lang/String;)V ----
KP B (Ljava/lang/String;)V setSelected
KP B ()Ljava/lang/String; getSelected
KP B (I)V setSelectedIndex
# ---- 场景模型:Gp = 骨骼;依据 gp_2.java 的 toString()/D(String,boolean)V ----
Gp D Ljava/lang/String; name
Gp D (Ljava/lang/String;Z)V setName