rt4-client/client/src/main/java/rt4/TitleScreen.java

76 lines
2.7 KiB
Java

package rt4;
import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalMember;
import org.openrs2.deob.annotation.Pc;
public class TitleScreen {
@OriginalMember(owner = "client!cb", name = "cb", descriptor = "Lclient!na;")
public static final JagString TITLEBG = JagString.parse("titlebg");
@OriginalMember(owner = "client!nb", name = "m", descriptor = "Lclient!na;")
public static final JagString LOGO = JagString.parse("logo");
@OriginalMember(owner = "client!bh", name = "M", descriptor = "Z")
public static boolean loaded;
@OriginalMember(owner = "client!gd", name = "n", descriptor = "Lclient!qf;")
public static Sprite titleBg;
@OriginalMember(owner = "client!tk", name = "o", descriptor = "Lclient!ok;")
public static IndexedSprite logo;
@OriginalMember(owner = "client!vf", name = "m", descriptor = "I")
public static int bgId = -1;
@OriginalMember(owner = "client!kk", name = "g", descriptor = "I")
public static int logoId = -1;
@OriginalMember(owner = "client!oi", name = "a", descriptor = "(Lclient!ve;B)V")
public static void load(@OriginalArg(0) Js5 archive) {
if (loaded) {
return;
}
if (GlRenderer.enabled) {
GlRaster.clear();
} else {
SoftwareRaster.clear();
}
@Pc(20) int height = GameShell.canvasHeight;
@Pc(26) int width = height * 956 / 503;
titleBg = SpriteLoader.loadSpriteAutoDetect(archive, bgId);
titleBg.renderResized((GameShell.canvasWidth - width) / 2, 0, width, height);
logo = SpriteLoader.loadIndexedSpriteAutoDetect(logoId, archive);
logo.renderTransparent(GameShell.canvasWidth / 2 - logo.width / 2, 18);
loaded = true;
}
@OriginalMember(owner = "client!je", name = "f", descriptor = "(B)V")
public static void clear() {
if (loaded) {
logo = null;
loaded = false;
titleBg = null;
}
}
@OriginalMember(owner = "client!nd", name = "a", descriptor = "(ILclient!ve;)V")
public static void init(@OriginalArg(1) Js5 archive) {
bgId = archive.getGroupId(TITLEBG);
logoId = archive.getGroupId(LOGO);
}
@OriginalMember(owner = "client!lk", name = "a", descriptor = "(ILclient!ve;)I")
public static int getReady(@OriginalArg(1) Js5 archive) {
@Pc(1) int ready = 0;
if (archive.isFileReady(bgId)) {
ready++;
}
if (archive.isFileReady(logoId)) {
ready++;
}
return ready;
}
@OriginalMember(owner = "client!ia", name = "a", descriptor = "(I)I")
public static int getTotal() {
return 2;
}
}