面板增删改查 + 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 新增第六节(工具链 + 已验证 + 已知限制)。
This commit is contained in:
1 parent
7fbb042aa6
commit
d9ea449b64
10 files changed
+2225
-43
No files matched your search
@@ -0,0 +1,156 @@
|
||||
package com.spineview.deobf;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Enumeration;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipFile;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
import org.objectweb.asm.ClassReader;
|
||||
import org.objectweb.asm.ClassWriter;
|
||||
import org.objectweb.asm.commons.ClassRemapper;
|
||||
import org.objectweb.asm.commons.Remapper;
|
||||
|
||||
/**
|
||||
* 按"名字映射表"重命名载荷里的**成员**(字段/方法),产出一份新的载荷 zip,
|
||||
* 专门用来反编译 —— 这样反编译出来的代码里,声明和直接调用都带可识别的名字。
|
||||
*
|
||||
* ⚠️ 只改成员名,**不改类名**:载荷的 invokedynamic 是在运行时用加密串解出
|
||||
* "类名 + 方法名 + 描述符"再反射查找的,类名必须保持不变(成员名改了以后这份 zip
|
||||
* 只用于反编译,不能拿去运行)。
|
||||
*
|
||||
* 映射表(TSV,4 列,`#` 开头是注释):
|
||||
* owner<TAB>name<TAB>desc<TAB>newName
|
||||
* - owner:内部类名,如 `et`、`com/badlogic/gdx/scenes/scene2d/ui/Tree`
|
||||
* - name :混淆成员名(字段或方法)
|
||||
* - desc :描述符;字段如 `F`(float)、`Ljava/lang/String;`;
|
||||
* 方法如 `(Ldl;)LdR;`。**写 `*` 表示"该 owner 下所有同名成员"**(仅在
|
||||
* 确定这一层不会撞车时用)
|
||||
* - newName:要换成的新名字
|
||||
*
|
||||
* 用法:
|
||||
* java -cp "asm.jar:asm-tree.jar:asm-commons.jar:build" com.spineview.deobf.Renamer <in.zip> <map.tsv> <out.zip>
|
||||
*/
|
||||
public final class Renamer {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
Path in = Paths.get(args[0]);
|
||||
Path map = Paths.get(args[1]);
|
||||
Path out = Paths.get(args[2]);
|
||||
|
||||
Map<String, String> exact = new HashMap<String, String>();
|
||||
Map<String, String> wildcard = new HashMap<String, String>();
|
||||
int loaded = 0;
|
||||
for (String line : Files.readAllLines(map, StandardCharsets.UTF_8)) {
|
||||
if (line.isEmpty() || line.startsWith("#")) continue;
|
||||
String[] parts = line.split("\t");
|
||||
if (parts.length < 4 || parts[0].isEmpty() || parts[1].isEmpty()) continue;
|
||||
String owner = parts[0];
|
||||
String name = parts[1];
|
||||
String desc = parts[2];
|
||||
String renamed = parts[3];
|
||||
if (renamed.isEmpty()) continue;
|
||||
if (desc.equals("*")) {
|
||||
wildcard.put(owner + "#" + name, renamed);
|
||||
} else {
|
||||
exact.put(owner + "#" + name + "#" + desc, renamed);
|
||||
}
|
||||
loaded++;
|
||||
}
|
||||
System.err.println("映射条目 " + loaded + "(具体 " + exact.size() + ",通配 " + wildcard.size() + ")");
|
||||
|
||||
int classes = 0;
|
||||
int renamedMembers = 0;
|
||||
try (ZipFile zip = new ZipFile(in.toFile());
|
||||
ZipOutputStream zipOut = new ZipOutputStream(Files.newOutputStream(out))) {
|
||||
Enumeration<? extends ZipEntry> entries = zip.entries();
|
||||
while (entries.hasMoreElements()) {
|
||||
ZipEntry entry = entries.nextElement();
|
||||
byte[] raw = readAll(zip.getInputStream(entry));
|
||||
if (!entry.getName().endsWith(".class")) {
|
||||
zipOut.putNextEntry(new ZipEntry(entry.getName()));
|
||||
zipOut.write(raw);
|
||||
zipOut.closeEntry();
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
ClassReader reader = new ClassReader(raw);
|
||||
ClassWriter writer = new ClassWriter(0);
|
||||
final Map<String, String> exactMap = exact;
|
||||
final Map<String, String> wildcardMap = wildcard;
|
||||
final int[] counter = new int[1];
|
||||
Remapper remapper = new Remapper() {
|
||||
@Override
|
||||
public String mapFieldName(String owner, String name, String descriptor) {
|
||||
String renamed = lookup(owner, name, descriptor, exactMap, wildcardMap);
|
||||
if (renamed == null) return name;
|
||||
counter[0]++;
|
||||
return renamed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String mapMethodName(String owner, String name, String descriptor) {
|
||||
String renamed = lookup(owner, name, descriptor, exactMap, wildcardMap);
|
||||
if (renamed == null) return name;
|
||||
counter[0]++;
|
||||
return renamed;
|
||||
}
|
||||
};
|
||||
reader.accept(new ClassRemapper(writer, remapper), 0);
|
||||
byte[] rewritten = writer.toByteArray();
|
||||
zipOut.putNextEntry(new ZipEntry(entry.getName()));
|
||||
zipOut.write(rewritten);
|
||||
zipOut.closeEntry();
|
||||
classes++;
|
||||
renamedMembers += counter[0];
|
||||
} catch (Throwable error) {
|
||||
zipOut.putNextEntry(new ZipEntry(entry.getName()));
|
||||
zipOut.write(raw);
|
||||
zipOut.closeEntry();
|
||||
}
|
||||
}
|
||||
}
|
||||
System.err.println("处理 " + classes + " 个类,改名成员引用 " + renamedMembers + " 处 -> " + out);
|
||||
}
|
||||
|
||||
private static String lookup(String owner, String name, String descriptor,
|
||||
Map<String, String> exact, Map<String, String> wildcard) {
|
||||
String found = exact.get(owner + "#" + name + "#" + descriptor);
|
||||
if (found != null) return found;
|
||||
return wildcard.get(owner + "#" + name);
|
||||
}
|
||||
|
||||
private static byte[] readAll(InputStream in) throws java.io.IOException {
|
||||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
||||
byte[] chunk = new byte[65536];
|
||||
int n;
|
||||
while ((n = in.read(chunk)) > 0) buffer.write(chunk, 0, n);
|
||||
return buffer.toByteArray();
|
||||
}
|
||||
|
||||
/** 生成"没被用到"的映射条目清单,方便发现写错的 owner/desc。 */
|
||||
static List<String> unused(Map<String, Integer> hits) {
|
||||
List<String> out = new java.util.ArrayList<String>();
|
||||
for (Map.Entry<String, Integer> entry : hits.entrySet()) {
|
||||
if (entry.getValue() == 0) out.add(entry.getKey());
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
static void writeReport(Path path, Map<String, Integer> hits) throws Exception {
|
||||
try (BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8)) {
|
||||
for (Map.Entry<String, Integer> entry : hits.entrySet()) {
|
||||
writer.write(entry.getValue() + "\t" + entry.getKey());
|
||||
writer.write('\n');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
# 由 tools/obfmap/MapMethods 指纹比对自动生成(上游 libGDX 1.11.0)
|
||||
# owner name desc newName
|
||||
KP B (I)V setSelectedIndex
|
||||
KP D (Ldt;)V setStage
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Button I (Z)V setChecked
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label D (II)V setAlignment
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label D (Lcom/badlogic/gdx/scenes/scene2d/ui/Label$LabelStyle;)V setStyle
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label D (Ljava/lang/CharSequence;)Z textEquals
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label I (Z)V setEllipsis
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label L (Z)V setWrap
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label SourceFile ()V invalidate
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane B (ZZ)V setScrollingDisabled
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane D (FFZ)Ldl; hit
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane D (ILdl;)V addActorAt
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane D (Lcom/badlogic/gdx/scenes/scene2d/ui/ScrollPane$ScrollPaneStyle;)V setStyle
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane D (Ldl;)V addActor
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane D (Ldl;Z)Z removeActor
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane L (FFFF)V scrollTo
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane L (Ldl;)Z removeActor
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Slider D ()Lcom/badlogic/gdx/scenes/scene2d/ui/Slider$SliderStyle; getStyle
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Slider D ([FF)V setSnapToValues
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Slider init ()Z isDragging
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextButton L (Ljava/lang/String;)V setText
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField B (I)Z withinMaxLength
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField D ()Ldr; createInputListener
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField D (ILjava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/String; insert
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField LineNumberTable ()V selectAll
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField StackMapTable ()F getPrefWidth
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField String ()V clearSelection
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField init ()F getPrefHeight
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField init ()V copy
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree D ()LeM; getSelectedNode
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree D (LfI;)V findExpandedValues
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree D (Ljava/lang/Object;)LeM; findNode
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree I (LfI;)V expandAll
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree L (LeM;)V setOverNode
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree b_ ()V invalidate
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree java ()F plusMinusWidth
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Window B (I)V setResizeBorder
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Window D (LJ;FFFFF)V drawStageBackground
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Window D (Lcom/badlogic/gdx/scenes/scene2d/ui/Window$WindowStyle;)V setStyle
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Window StackMapTable ()F getPrefWidth
|
||||
dR B ()V row
|
||||
dR B (LdR;)V merge
|
||||
dR B (LeN;)LdR; height
|
||||
dR B (Z)LdR; uniform
|
||||
dR C (LeN;)LdR; prefWidth
|
||||
dR Code (LeN;)LdR; spaceRight
|
||||
dR D ()LdR; fill
|
||||
dR D ()V reset
|
||||
dR D (LdR;)V set
|
||||
dR D (Ldl;)LdR; setActor
|
||||
dR D (LeN;)LdR; width
|
||||
dR D (LeN;LeN;)LdR; size
|
||||
dR D (Z)LdR; fill
|
||||
dR D (ZZ)LdR; uniform
|
||||
dR F ()LdR; grow
|
||||
dR F (LeN;)LdR; spaceBottom
|
||||
dR I (LeN;)LdR; minHeight
|
||||
dR L ()V clear
|
||||
dR L (LeN;)LdR; minWidth
|
||||
dR SourceFile (LeN;)LdR; padRight
|
||||
dR StackMapTable ()LdR; expand
|
||||
dR String ()LdR; uniform
|
||||
dR V (LeN;)LdR; space
|
||||
dR Z (LeN;)LdR; prefHeight
|
||||
dR toString ()Ljava/lang/String; toString
|
||||
dl B ()V clearListeners
|
||||
dl B ()Z hasActions
|
||||
dl B (FFFF)V setColor
|
||||
dl B (FI)V setY
|
||||
dl B (I)F getY
|
||||
dl B (Lde;)Lde; stageToLocalCoordinates
|
||||
dl B (Ldl;Lde;)Lde; localToActorCoordinates
|
||||
dl B (Z)V setDebug
|
||||
dl C (FF)V setOrigin
|
||||
dl D ()Ldl; debug
|
||||
dl D ()Ljava/lang/Object; getUserObject
|
||||
dl D ()Ljava/lang/String; getName
|
||||
dl D ()V clearActions
|
||||
dl D (FFFF)V setBounds
|
||||
dl D (FFI)V setPosition
|
||||
dl D (FFZ)Ldl; hit
|
||||
dl D (FI)V setX
|
||||
dl D (I)F getX
|
||||
dl D (LJ;F)V draw
|
||||
dl D (Lca;)V drawDebug
|
||||
dl D (Lcom/badlogic/gdx/graphics/Color;)V setColor
|
||||
dl D (Ldn;)Z addListener
|
||||
dl D (Ljava/lang/Object;)V setUserObject
|
||||
dl D (Ljava/lang/String;)V setName
|
||||
dl D (Z)V setVisible
|
||||
dl F ()V clipEnd
|
||||
dl I ()Z isTouchable
|
||||
dl L ()V clear
|
||||
dl L ()Z hasParent
|
||||
dl L (Ldn;)Z addCaptureListener
|
||||
dl S (FF)V setOrigin
|
||||
dl S (Lde;)Lde; localToStageCoordinates
|
||||
dl V ()V toBack
|
||||
dl Z ()V toFront
|
||||
dl b_ ()Z remove
|
||||
do B ()Ldo; debugAll
|
||||
do Code ()V childrenChanged
|
||||
do D (F)V act
|
||||
do D (I)Ldl; getChild
|
||||
do D (II)Z swapActor
|
||||
do D (ILdl;)V addActorAt
|
||||
do D (LJ;)V resetTransform
|
||||
do D (LJ;F)V draw
|
||||
do D (LJ;Lcom/badlogic/gdx/math/Matrix4;)V applyTransform
|
||||
do D (Lca;)V drawDebug
|
||||
do D (Ldd;)V setCullingArea
|
||||
do D (Ldl;)V addActor
|
||||
do D (Ldt;)V setStage
|
||||
do I (Lca;)V resetTransform
|
||||
do L (Ldl;)Z removeActor
|
||||
do L (Z)V setTransform
|
||||
do LineNumberTable ()Z isTransform
|
||||
do init ()Z hasChildren
|
||||
eM C ()V expandTo
|
||||
eM D ()F getHeight
|
||||
eM D ()Z hasChildren
|
||||
eM D (Ljava/lang/Object;)LeM; findNode
|
||||
eM I ()V collapseAll
|
||||
eM S ()V expandAll
|
||||
eX D (LJ;F)V draw
|
||||
eX Object ()Z needsLayout
|
||||
eX StackMapTable ()V layout
|
||||
eX V (Z)V setFillParent
|
||||
eX b_ ()V invalidate
|
||||
et B (Lca;)V drawDebugBounds
|
||||
et B (LeN;)Let; padTop
|
||||
et B (Z)V setDebug
|
||||
et C ()Let; bottom
|
||||
et C (Z)V setClip
|
||||
et D (F)Let; pad
|
||||
et D (FFFF)Let; pad
|
||||
et D (FFZ)Ldl; hit
|
||||
et D (I)Let; align
|
||||
et D (LJ;F)V draw
|
||||
et D (LJ;FFF)V drawBackground
|
||||
et D (Lca;)V drawDebug
|
||||
et D (Lcom/badlogic/gdx/scenes/scene2d/ui/Skin;)V setSkin
|
||||
et D (LeN;)Let; pad
|
||||
et D (LeN;LeN;LeN;LeN;)Let; pad
|
||||
et D (Lez;)Let; debug
|
||||
et D (Lfu;)Let; background
|
||||
et D (Ljava/lang/CharSequence;)LdR; add
|
||||
et D (Ljava/lang/CharSequence;Ljava/lang/String;)LdR; add
|
||||
et D (Ljava/lang/CharSequence;Ljava/lang/String;Lcom/badlogic/gdx/graphics/Color;)LdR; add
|
||||
et D (Ljava/lang/CharSequence;Ljava/lang/String;Ljava/lang/String;)LdR; add
|
||||
et D (Ljava/lang/String;)Let; background
|
||||
et D ([Ldl;)LdR; stack
|
||||
et D ([Ldl;)Let; add
|
||||
et I ()Let; top
|
||||
et I (LeN;)Let; padBottom
|
||||
et L ()LdR; add
|
||||
et L ()Let; center
|
||||
et L (Ldl;)Z removeActor
|
||||
et L (LeN;)Let; padLeft
|
||||
et S ()Let; left
|
||||
et S (LeN;)Let; padRight
|
||||
et Z ()Let; right
|
||||
et Z (Z)V setRound
|
||||
et b_ ()V invalidate
|
||||
et lang ()Z getClip
|
||||
fI B ()Ljava/lang/Object; peek
|
||||
fI B ()Z isEmpty
|
||||
fI B (I)[Ljava/lang/Object; setSize
|
||||
fI D ()Ljava/lang/Object; pop
|
||||
fI D ()Z notEmpty
|
||||
fI D (LfI;)V addAll
|
||||
fI D (Ljava/lang/Object;)V add
|
||||
fI D (Ljava/lang/Object;Z)Z contains
|
||||
fI D (Ljava/util/Comparator;)V sort
|
||||
fI D ([Ljava/lang/Object;)LfI; with
|
||||
fI D ([Ljava/lang/Object;)V addAll
|
||||
fI L ()Ljava/lang/Object; first
|
||||
fI L ()V reverse
|
||||
|
@@ -0,0 +1,29 @@
|
||||
# 名字映射锚点(只放**已确定**的;每条都要能说清依据,依据写进 混淆名对照表.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
|
||||
|
@@ -0,0 +1,194 @@
|
||||
# 合并后的名字映射表:先由 MapMethods 指纹自动生成,再用手动锚点覆盖
|
||||
# owner name desc newName
|
||||
Gp D (Ljava/lang/String;Z)V setName
|
||||
Gp D Ljava/lang/String; name
|
||||
KP B ()Ljava/lang/String; getSelected
|
||||
KP B (I)V setSelectedIndex
|
||||
KP B (Ljava/lang/String;)V setSelected
|
||||
KP D (Ldt;)V setStage
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Button B (ZZ)V setCheckedAndFire
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Button I (Z)V setChecked
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Button String ()Z isChecked
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Button a_ (Z)V setDisabled
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label D ()Ljava/lang/StringBuilder; getTextBuilder
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label D (II)V setAlignment
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label D (Lcom/badlogic/gdx/scenes/scene2d/ui/Label$LabelStyle;)V setStyle
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label D (Ljava/lang/CharSequence;)V setText
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label D (Ljava/lang/CharSequence;)Z textEquals
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label I (Z)V setEllipsis
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label L (Z)V setWrap
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Label SourceFile ()V invalidate
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane B (ZZ)V setScrollingDisabled
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane D (FFZ)Ldl; hit
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane D (ILdl;)V addActorAt
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane D (Lcom/badlogic/gdx/scenes/scene2d/ui/ScrollPane$ScrollPaneStyle;)V setStyle
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane D (Ldl;)V addActor
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane D (Ldl;Z)Z removeActor
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane L (FFFF)V scrollTo
|
||||
com/badlogic/gdx/scenes/scene2d/ui/ScrollPane L (Ldl;)Z removeActor
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Slider D ()Lcom/badlogic/gdx/scenes/scene2d/ui/Slider$SliderStyle; getStyle
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Slider D ([FF)V setSnapToValues
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Slider init ()Z isDragging
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextButton L (Ljava/lang/String;)V setText
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField B (I)Z withinMaxLength
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField D ()Ldr; createInputListener
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField D (ILjava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/String; insert
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField LineNumberTable ()V selectAll
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField StackMapTable ()F getPrefWidth
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField String ()V clearSelection
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField init ()F getPrefHeight
|
||||
com/badlogic/gdx/scenes/scene2d/ui/TextField init ()V copy
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree D ()LeM; getSelectedNode
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree D (LfI;)V findExpandedValues
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree D (Ljava/lang/Object;)LeM; findNode
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree I (LfI;)V expandAll
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree L (LeM;)V setOverNode
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree b_ ()V invalidate
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Tree java ()F plusMinusWidth
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Window B (I)V setResizeBorder
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Window D (LJ;FFFFF)V drawStageBackground
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Window D (Lcom/badlogic/gdx/scenes/scene2d/ui/Window$WindowStyle;)V setStyle
|
||||
com/badlogic/gdx/scenes/scene2d/ui/Window StackMapTable ()F getPrefWidth
|
||||
dR B ()V row
|
||||
dR B (LdR;)V merge
|
||||
dR B (LeN;)LdR; height
|
||||
dR B (Z)LdR; uniform
|
||||
dR C ()LdR; left
|
||||
dR C (LeN;)LdR; prefWidth
|
||||
dR Code (LeN;)LdR; spaceRight
|
||||
dR D ()LdR; fill
|
||||
dR D ()V reset
|
||||
dR D (LdR;)V set
|
||||
dR D (Ldl;)LdR; setActor
|
||||
dR D (LeN;)LdR; width
|
||||
dR D (LeN;LeN;)LdR; size
|
||||
dR D (Z)LdR; fill
|
||||
dR D (ZZ)LdR; uniform
|
||||
dR F ()LdR; grow
|
||||
dR F (LeN;)LdR; spaceBottom
|
||||
dR I (LeN;)LdR; minHeight
|
||||
dR L ()V clear
|
||||
dR L (LeN;)LdR; minWidth
|
||||
dR S ()LdR; top
|
||||
dR SourceFile (LeN;)LdR; padRight
|
||||
dR StackMapTable ()LdR; expand
|
||||
dR String ()LdR; uniform
|
||||
dR V (LeN;)LdR; space
|
||||
dR Z (LeN;)LdR; prefHeight
|
||||
dR toString ()Ljava/lang/String; toString
|
||||
dl B ()V clearListeners
|
||||
dl B ()Z hasActions
|
||||
dl B (FFFF)V setColor
|
||||
dl B (FI)V setY
|
||||
dl B (I)F getY
|
||||
dl B (Lde;)Lde; stageToLocalCoordinates
|
||||
dl B (Ldl;Lde;)Lde; localToActorCoordinates
|
||||
dl B (Z)V setDebug
|
||||
dl C (FF)V setOrigin
|
||||
dl D ()Ldl; debug
|
||||
dl D ()Ljava/lang/Object; getUserObject
|
||||
dl D ()Ljava/lang/String; getName
|
||||
dl D ()V clearActions
|
||||
dl D (FFFF)V setBounds
|
||||
dl D (FFI)V setPosition
|
||||
dl D (FFZ)Ldl; hit
|
||||
dl D (FI)V setX
|
||||
dl D (I)F getX
|
||||
dl D (LJ;F)V draw
|
||||
dl D (Lca;)V drawDebug
|
||||
dl D (Lcom/badlogic/gdx/graphics/Color;)V setColor
|
||||
dl D (Ldn;)Z addListener
|
||||
dl D (Ljava/lang/Object;)V setUserObject
|
||||
dl D (Ljava/lang/String;)V setName
|
||||
dl D (Z)V setVisible
|
||||
dl F ()V clipEnd
|
||||
dl I ()Z isTouchable
|
||||
dl L ()V clear
|
||||
dl L ()Z hasParent
|
||||
dl L (Ldn;)Z addCaptureListener
|
||||
dl S (FF)V setOrigin
|
||||
dl S (Lde;)Lde; localToStageCoordinates
|
||||
dl V ()V toBack
|
||||
dl Z ()V toFront
|
||||
dl b_ ()Z remove
|
||||
do B ()Ldo; debugAll
|
||||
do Code ()V childrenChanged
|
||||
do D (F)V act
|
||||
do D (I)Ldl; getChild
|
||||
do D (II)Z swapActor
|
||||
do D (ILdl;)V addActorAt
|
||||
do D (LJ;)V resetTransform
|
||||
do D (LJ;F)V draw
|
||||
do D (LJ;Lcom/badlogic/gdx/math/Matrix4;)V applyTransform
|
||||
do D (Lca;)V drawDebug
|
||||
do D (Ldd;)V setCullingArea
|
||||
do D (Ldl;)V addActor
|
||||
do D (Ldt;)V setStage
|
||||
do I (Lca;)V resetTransform
|
||||
do L (Ldl;)Z removeActor
|
||||
do L (Z)V setTransform
|
||||
do LineNumberTable ()Z isTransform
|
||||
do init ()Z hasChildren
|
||||
eM C ()V expandTo
|
||||
eM D ()F getHeight
|
||||
eM D ()Z hasChildren
|
||||
eM D (Ljava/lang/Object;)LeM; findNode
|
||||
eM I ()V collapseAll
|
||||
eM S ()V expandAll
|
||||
eX D (LJ;F)V draw
|
||||
eX Object ()Z needsLayout
|
||||
eX StackMapTable ()V layout
|
||||
eX V (Z)V setFillParent
|
||||
eX b_ ()V invalidate
|
||||
et B (Lca;)V drawDebugBounds
|
||||
et B (LeN;)Let; padTop
|
||||
et B (Z)V setDebug
|
||||
et C ()Let; bottom
|
||||
et C (Z)V setClip
|
||||
et D (F)Let; pad
|
||||
et D (FFFF)Let; pad
|
||||
et D (FFZ)Ldl; hit
|
||||
et D (I)Let; align
|
||||
et D (LJ;F)V draw
|
||||
et D (LJ;FFF)V drawBackground
|
||||
et D (Lca;)V drawDebug
|
||||
et D (Lcom/badlogic/gdx/scenes/scene2d/ui/Skin;)V setSkin
|
||||
et D (Ldl;)LdR; add
|
||||
et D (LeN;)Let; pad
|
||||
et D (LeN;LeN;LeN;LeN;)Let; pad
|
||||
et D (Lez;)Let; debug
|
||||
et D (Lfu;)Let; background
|
||||
et D (Ljava/lang/CharSequence;)LdR; addLabel
|
||||
et D (Ljava/lang/CharSequence;Ljava/lang/String;)LdR; add
|
||||
et D (Ljava/lang/CharSequence;Ljava/lang/String;Lcom/badlogic/gdx/graphics/Color;)LdR; add
|
||||
et D (Ljava/lang/CharSequence;Ljava/lang/String;Ljava/lang/String;)LdR; add
|
||||
et D (Ljava/lang/String;)Let; background
|
||||
et D ([Ldl;)LdR; stack
|
||||
et D ([Ldl;)Let; addAll
|
||||
et I ()LdR; row
|
||||
et I ()Let; top
|
||||
et I (LeN;)Let; padBottom
|
||||
et L ()LdR; add
|
||||
et L ()Let; center
|
||||
et L (Ldl;)Z removeActor
|
||||
et L (LeN;)Let; padLeft
|
||||
et S ()Let; left
|
||||
et S (LeN;)Let; padRight
|
||||
et SourceFile ()V clearChildren
|
||||
et Z ()Let; right
|
||||
et Z (Z)V setFillParent
|
||||
et b_ ()V invalidate
|
||||
et lang ()Z getClip
|
||||
fI B ()Ljava/lang/Object; peek
|
||||
fI B ()Z isEmpty
|
||||
fI B (I)[Ljava/lang/Object; setSize
|
||||
fI D ()Ljava/lang/Object; pop
|
||||
fI D ()Z notEmpty
|
||||
fI D (LfI;)V addAll
|
||||
fI D (Ljava/lang/Object;)V add
|
||||
fI D (Ljava/lang/Object;Z)Z contains
|
||||
fI D (Ljava/util/Comparator;)V sort
|
||||
fI D ([Ljava/lang/Object;)LfI; with
|
||||
fI D ([Ljava/lang/Object;)V addAll
|
||||
fI L ()Ljava/lang/Object; first
|
||||
fI L ()V reverse
|
||||
|
Reference in new issue
Block a user