mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2025-12-09 16:45:46 -07:00
Reimplement menu-related QOL.
This commit is contained in:
parent
4377d4958e
commit
2f750e124a
9 changed files with 531 additions and 201 deletions
|
|
@ -1,5 +1,6 @@
|
|||
package plugin;
|
||||
|
||||
import plugin.api.MiniMenuEntry;
|
||||
import rt4.Component;
|
||||
import rt4.Npc;
|
||||
import rt4.Player;
|
||||
|
|
@ -88,4 +89,10 @@ public abstract class Plugin {
|
|||
* OnLogout is called when the client logs out. This should be used to clear player-relevant plugin state.
|
||||
*/
|
||||
public void OnLogout() {}
|
||||
|
||||
/**
|
||||
* DrawMiniMenu is called when a MiniMenu entry has been created.
|
||||
* @param entry the entry
|
||||
*/
|
||||
public void DrawMiniMenu(MiniMenuEntry entry) {}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package plugin;
|
||||
|
||||
import plugin.api.MiniMenuEntry;
|
||||
import plugin.api.MiniMenuType;
|
||||
import rt4.*;
|
||||
|
||||
import java.io.File;
|
||||
|
|
@ -128,4 +130,8 @@ public class PluginRepository {
|
|||
public static void OnLogout() {
|
||||
loadedPlugins.values().forEach(Plugin::OnLogout);
|
||||
}
|
||||
|
||||
public static void DrawMiniMenu(MiniMenuEntry entry) {
|
||||
loadedPlugins.values().forEach((plugin) -> plugin.DrawMiniMenu(entry));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import rt4.Font;
|
|||
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import static rt4.MathUtils.clamp;
|
||||
|
||||
|
|
@ -195,4 +196,13 @@ public class API {
|
|||
public static boolean IsKeyPressed(int keycode) {
|
||||
return Keyboard.pressedKeys[keycode];
|
||||
}
|
||||
|
||||
public static MiniMenuEntry[] GetMiniMenuEntries() {
|
||||
ArrayList<MiniMenuEntry> entries = new ArrayList<>();
|
||||
for (int i = 0; i < MiniMenu.size; i++) {
|
||||
if (MiniMenu.opBases[i] == null) continue;
|
||||
entries.add(new MiniMenuEntry(i));
|
||||
}
|
||||
return entries.toArray(new MiniMenuEntry[]{});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
51
client/src/main/java/plugin/api/MiniMenuAction.java
Normal file
51
client/src/main/java/plugin/api/MiniMenuAction.java
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
package plugin.api;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public enum MiniMenuAction {
|
||||
WALK_HERE(60),
|
||||
NPC_1(17),
|
||||
NPC_2(16),
|
||||
NPC_3(4),
|
||||
NPC_4(19),
|
||||
NPC_5(2),
|
||||
NPC_EXAMINE(1007),
|
||||
PLAYER_1(30),
|
||||
PLAYER_BLOCK(34),
|
||||
PLAYER_TRADE(29),
|
||||
PLAYER_REQ_ASSIST(37),
|
||||
PLAYER_FOLLOW(31),
|
||||
PLAYER_5(57),
|
||||
OBJ_1(47),
|
||||
OBJ_EQUIP(5),
|
||||
OBJ_4(35),
|
||||
OBJ_OPERATE(23),
|
||||
OBJ_5(58),
|
||||
OBJ_EXAMINE(1002),
|
||||
OBJSTACK_1(18),
|
||||
OBJSTACK_2(20),
|
||||
LOC_1(42),
|
||||
LOC_2(50),
|
||||
LOC_3(49),
|
||||
LOC_4(46),
|
||||
LOC_5(1001),
|
||||
LOC_EXAMINE(1004)
|
||||
;
|
||||
|
||||
public final short actionCode;
|
||||
public static HashMap<Integer, MiniMenuAction> actionCodeMap = new HashMap<>();
|
||||
|
||||
MiniMenuAction(int actionCode) {
|
||||
this.actionCode = (short) actionCode;
|
||||
}
|
||||
|
||||
static {
|
||||
for (MiniMenuAction a : values()) {
|
||||
actionCodeMap.put((int) a.actionCode, a);
|
||||
}
|
||||
}
|
||||
|
||||
public static MiniMenuAction forActionCode(short actionCode) {
|
||||
return actionCodeMap.get((int) actionCode);
|
||||
}
|
||||
}
|
||||
81
client/src/main/java/plugin/api/MiniMenuEntry.java
Normal file
81
client/src/main/java/plugin/api/MiniMenuEntry.java
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
package plugin.api;
|
||||
|
||||
import rt4.JagString;
|
||||
import rt4.MiniMenu;
|
||||
|
||||
/**
|
||||
* Convenience wrapper for mini menu entries
|
||||
* @author ceikry
|
||||
*/
|
||||
public class MiniMenuEntry {
|
||||
int index;
|
||||
public MiniMenuEntry(int index) {
|
||||
this.index = index;
|
||||
}
|
||||
|
||||
public String getSubject() {
|
||||
return MiniMenu.opBases[index].toString();
|
||||
}
|
||||
|
||||
public void setSubject(String name) {
|
||||
MiniMenu.opBases[index] = JagString.of(name);
|
||||
}
|
||||
|
||||
public long getSubjectIndex() {
|
||||
return MiniMenu.keys[index];
|
||||
}
|
||||
|
||||
public MiniMenuType getType() {
|
||||
if (getSubject().length() < 11) return MiniMenuType.TILE;
|
||||
|
||||
String color = getSubject().substring(5,11);
|
||||
if (color.equals("00ffff")) return MiniMenuType.LOCATION;
|
||||
if (color.equals("ffff00")) return MiniMenuType.NPC;
|
||||
if (color.equals("ffffff")) return MiniMenuType.PLAYER;
|
||||
if (color.equals("ff9040")) return MiniMenuType.OBJ;
|
||||
else return MiniMenuType.TILE;
|
||||
}
|
||||
|
||||
public String getVerb() {
|
||||
return MiniMenu.ops[index].toString();
|
||||
}
|
||||
|
||||
public void setVerb(String verb) {
|
||||
MiniMenu.ops[index] = JagString.of(verb);
|
||||
}
|
||||
|
||||
public int getIntArg1() {
|
||||
return MiniMenu.intArgs1[index];
|
||||
}
|
||||
|
||||
public int getIntArg2() {
|
||||
return MiniMenu.intArgs2[index];
|
||||
}
|
||||
|
||||
public int getCursor() {
|
||||
return MiniMenu.cursors[index];
|
||||
}
|
||||
|
||||
public MiniMenuAction getAction() {
|
||||
int actionCode = MiniMenu.actions[index];
|
||||
if (isStrictlySecondary()) actionCode -= 2000;
|
||||
return MiniMenuAction.forActionCode((short) actionCode);
|
||||
}
|
||||
|
||||
public short getActionCode() {
|
||||
return MiniMenu.actions[index];
|
||||
}
|
||||
|
||||
public void setAction(MiniMenuAction action) {
|
||||
MiniMenu.actions[index] = action.actionCode;
|
||||
}
|
||||
|
||||
public void toggleStrictlySecondary() {
|
||||
if (isStrictlySecondary()) MiniMenu.actions[index] -= 2000;
|
||||
else MiniMenu.actions[index] += 2000;
|
||||
}
|
||||
|
||||
public boolean isStrictlySecondary() {
|
||||
return MiniMenu.actions[index] >= 2000;
|
||||
}
|
||||
}
|
||||
10
client/src/main/java/plugin/api/MiniMenuType.java
Normal file
10
client/src/main/java/plugin/api/MiniMenuType.java
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
package plugin.api;
|
||||
|
||||
public enum MiniMenuType {
|
||||
NPC,
|
||||
PLAYER,
|
||||
LOCATION,
|
||||
TILE,
|
||||
OBJ,
|
||||
OBJSTACK
|
||||
}
|
||||
|
|
@ -1448,9 +1448,9 @@ public class LoginManager {
|
|||
MiniMenu.sort();
|
||||
if (Cs1ScriptRunner.aBoolean108) {
|
||||
if (InterfaceList.aBoolean298) {
|
||||
method2297();
|
||||
MiniMenu.drawB();
|
||||
} else {
|
||||
method2744();
|
||||
MiniMenu.drawA();
|
||||
}
|
||||
} else if (aClass13_13 != null) {
|
||||
MiniMenu.method1207(aClass13_13, Cs1ScriptRunner.anInt3484, Cs1ScriptRunner.anInt3260);
|
||||
|
|
@ -1494,140 +1494,6 @@ public class LoginManager {
|
|||
return Cheat.shiftClick && Keyboard.pressedKeys[Keyboard.KEY_SHIFT] && MiniMenu.size > 2 ? MiniMenu.cursors[MiniMenu.size - 2] : MiniMenu.cursors[MiniMenu.size - 1];
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ij", name = "a", descriptor = "(B)V")
|
||||
public static void method2297() {
|
||||
@Pc(3) int local3 = InterfaceList.anInt4271;
|
||||
@Pc(9) int local9 = InterfaceList.anInt5138;
|
||||
@Pc(11) int local11 = InterfaceList.anInt436;
|
||||
@Pc(13) int local13 = InterfaceList.anInt761;
|
||||
if (aClass3_Sub2_Sub1_1 == null || aClass3_Sub2_Sub1_9 == null) {
|
||||
if (client.js5Archive8.isFileReady(anInt1736) && client.js5Archive8.isFileReady(anInt4073)) {
|
||||
aClass3_Sub2_Sub1_1 = SoftwareSprite.loadSoftwareAlphaSprite(client.js5Archive8, anInt1736);
|
||||
aClass3_Sub2_Sub1_9 = SoftwareSprite.loadSoftwareAlphaSprite(client.js5Archive8, anInt4073);
|
||||
if (GlRenderer.enabled) {
|
||||
if (aClass3_Sub2_Sub1_1 instanceof SoftwareAlphaSprite) {
|
||||
aClass3_Sub2_Sub1_1 = new GlAlphaSprite((SoftwareSprite) aClass3_Sub2_Sub1_1);
|
||||
} else {
|
||||
aClass3_Sub2_Sub1_1 = new GlSprite((SoftwareSprite) aClass3_Sub2_Sub1_1);
|
||||
}
|
||||
if (aClass3_Sub2_Sub1_9 instanceof SoftwareAlphaSprite) {
|
||||
aClass3_Sub2_Sub1_9 = new GlAlphaSprite((SoftwareSprite) aClass3_Sub2_Sub1_9);
|
||||
} else {
|
||||
aClass3_Sub2_Sub1_9 = new GlSprite((SoftwareSprite) aClass3_Sub2_Sub1_9);
|
||||
}
|
||||
}
|
||||
} else if (GlRenderer.enabled) {
|
||||
GlRaster.fillRectAlpha(local3, local9, local13, 20, anInt1275, 256 - anInt2910);
|
||||
} else {
|
||||
SoftwareRaster.fillRectAlpha(local3, local9, local13, 20, anInt1275, 256 - anInt2910);
|
||||
}
|
||||
}
|
||||
@Pc(112) int local112;
|
||||
@Pc(114) int local114;
|
||||
if (aClass3_Sub2_Sub1_1 != null && aClass3_Sub2_Sub1_9 != null) {
|
||||
local112 = local13 / aClass3_Sub2_Sub1_1.width;
|
||||
for (local114 = 0; local114 < local112; local114++) {
|
||||
aClass3_Sub2_Sub1_1.render(local114 * aClass3_Sub2_Sub1_1.width + local3, local9);
|
||||
}
|
||||
aClass3_Sub2_Sub1_9.render(local3, local9);
|
||||
aClass3_Sub2_Sub1_9.renderHorizontalFlip(local3 + local13 - aClass3_Sub2_Sub1_9.width, local9);
|
||||
}
|
||||
Fonts.b12Full.renderLeft(LocalizedText.CHOOSE_OPTION, local3 + 3, local9 + 14, anInt4581, -1);
|
||||
if (GlRenderer.enabled) {
|
||||
GlRaster.fillRectAlpha(local3, local9 + 20, local13, local11 - 20, anInt1275, 256 - anInt2910);
|
||||
} else {
|
||||
SoftwareRaster.fillRectAlpha(local3, local9 + 20, local13, local11 - 20, anInt1275, 256 - anInt2910);
|
||||
}
|
||||
local114 = Mouse.lastMouseY;
|
||||
local112 = Mouse.lastMouseX;
|
||||
@Pc(203) int local203;
|
||||
@Pc(219) int local219;
|
||||
for (local203 = 0; local203 < MiniMenu.size; local203++) {
|
||||
local219 = (MiniMenu.size - local203 - 1) * 15 + local9 + 35;
|
||||
if (local3 < local112 && local112 < local3 + local13 && local114 > local219 - 13 && local114 < local219 + 3) {
|
||||
if (GlRenderer.enabled) {
|
||||
GlRaster.fillRectAlpha(local3, local219 - 13, local13, 16, anInt5457, 256 - anInt5208);
|
||||
} else {
|
||||
SoftwareRaster.fillRectAlpha(local3, local219 - 13, local13, 16, anInt5457, 256 - anInt5208);
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((aClass3_Sub2_Sub1_8 == null || aClass3_Sub2_Sub1_6 == null || aClass3_Sub2_Sub1_10 == null) && client.js5Archive8.isFileReady(anInt2261) && client.js5Archive8.isFileReady(anInt3324) && client.js5Archive8.isFileReady(anInt5556)) {
|
||||
aClass3_Sub2_Sub1_8 = SoftwareSprite.loadSoftwareAlphaSprite(client.js5Archive8, anInt2261);
|
||||
aClass3_Sub2_Sub1_6 = SoftwareSprite.loadSoftwareAlphaSprite(client.js5Archive8, anInt3324);
|
||||
aClass3_Sub2_Sub1_10 = SoftwareSprite.loadSoftwareAlphaSprite(client.js5Archive8, anInt5556);
|
||||
if (GlRenderer.enabled) {
|
||||
if (aClass3_Sub2_Sub1_8 instanceof SoftwareAlphaSprite) {
|
||||
aClass3_Sub2_Sub1_8 = new GlAlphaSprite((SoftwareSprite) aClass3_Sub2_Sub1_8);
|
||||
} else {
|
||||
aClass3_Sub2_Sub1_8 = new GlSprite((SoftwareSprite) aClass3_Sub2_Sub1_8);
|
||||
}
|
||||
if (aClass3_Sub2_Sub1_6 instanceof SoftwareAlphaSprite) {
|
||||
aClass3_Sub2_Sub1_6 = new GlAlphaSprite((SoftwareSprite) aClass3_Sub2_Sub1_6);
|
||||
} else {
|
||||
aClass3_Sub2_Sub1_6 = new GlSprite((SoftwareSprite) aClass3_Sub2_Sub1_6);
|
||||
}
|
||||
if (aClass3_Sub2_Sub1_10 instanceof SoftwareAlphaSprite) {
|
||||
aClass3_Sub2_Sub1_10 = new GlAlphaSprite((SoftwareSprite) aClass3_Sub2_Sub1_10);
|
||||
} else {
|
||||
aClass3_Sub2_Sub1_10 = new GlSprite((SoftwareSprite) aClass3_Sub2_Sub1_10);
|
||||
}
|
||||
}
|
||||
}
|
||||
@Pc(418) int local418;
|
||||
if (aClass3_Sub2_Sub1_8 != null && aClass3_Sub2_Sub1_6 != null && aClass3_Sub2_Sub1_10 != null) {
|
||||
local203 = local13 / aClass3_Sub2_Sub1_8.width;
|
||||
for (local219 = 0; local219 < local203; local219++) {
|
||||
aClass3_Sub2_Sub1_8.render(local3 + aClass3_Sub2_Sub1_8.width * local219, local11 + local9 + -aClass3_Sub2_Sub1_8.height);
|
||||
}
|
||||
local219 = (local11 - 20) / aClass3_Sub2_Sub1_6.height;
|
||||
for (local418 = 0; local418 < local219; local418++) {
|
||||
aClass3_Sub2_Sub1_6.render(local3, local9 + local418 * aClass3_Sub2_Sub1_6.height + 20);
|
||||
aClass3_Sub2_Sub1_6.renderHorizontalFlip(local3 + local13 - aClass3_Sub2_Sub1_6.width, local9 + 20 + local418 * aClass3_Sub2_Sub1_6.height);
|
||||
}
|
||||
aClass3_Sub2_Sub1_10.render(local3, local11 + local9 - aClass3_Sub2_Sub1_10.height);
|
||||
aClass3_Sub2_Sub1_10.renderHorizontalFlip(local3 + local13 - aClass3_Sub2_Sub1_10.width, local9 - -local11 + -aClass3_Sub2_Sub1_10.height);
|
||||
}
|
||||
for (local203 = 0; local203 < MiniMenu.size; local203++) {
|
||||
local219 = (MiniMenu.size - local203 - 1) * 15 + local9 + 35;
|
||||
local418 = anInt4581;
|
||||
if (local3 < local112 && local13 + local3 > local112 && local219 - 13 < local114 && local114 < local219 + 3) {
|
||||
local418 = anInt5752;
|
||||
}
|
||||
Fonts.b12Full.renderLeft(MiniMenu.getOp(local203), local3 + 3, local219, local418, 0);
|
||||
}
|
||||
InterfaceList.forceRedrawScreen(InterfaceList.anInt4271, InterfaceList.anInt5138, InterfaceList.anInt436, InterfaceList.anInt761);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!lf", name = "b", descriptor = "(I)V")
|
||||
public static void method2744() {
|
||||
@Pc(3) int local3 = InterfaceList.anInt5138;
|
||||
@Pc(9) int local9 = InterfaceList.anInt761;
|
||||
@Pc(11) int local11 = InterfaceList.anInt4271;
|
||||
@Pc(15) int local15 = InterfaceList.anInt436;
|
||||
if (GlRenderer.enabled) {
|
||||
GlRaster.fillRect(local11, local3, local9, local15, 6116423);
|
||||
GlRaster.fillRect(local11 + 1, local3 + 1, local9 - 2, 16, 0);
|
||||
GlRaster.drawRect(local11 + 1, local3 + 18, local9 - 2, local15 + -19, 0);
|
||||
} else {
|
||||
SoftwareRaster.fillRect(local11, local3, local9, local15, 6116423);
|
||||
SoftwareRaster.fillRect(local11 + 1, local3 + 1, local9 - 2, 16, 0);
|
||||
SoftwareRaster.drawRect(local11 + 1, local3 + 18, local9 - 2, local15 + -19, 0);
|
||||
}
|
||||
Fonts.b12Full.renderLeft(LocalizedText.CHOOSE_OPTION, local11 + 3, local3 + 14, 6116423, -1);
|
||||
@Pc(96) int local96 = Mouse.lastMouseY;
|
||||
@Pc(98) int local98 = Mouse.lastMouseX;
|
||||
for (@Pc(107) int local107 = 0; local107 < MiniMenu.size; local107++) {
|
||||
@Pc(127) int local127 = (MiniMenu.size - local107 - 1) * 15 + local3 + 31;
|
||||
@Pc(129) int local129 = 16777215;
|
||||
if (local11 < local98 && local98 < local11 + local9 && local127 - 13 < local96 && local96 < local127 + 3) {
|
||||
local129 = 16776960;
|
||||
}
|
||||
Fonts.b12Full.renderLeft(MiniMenu.getOp(local107), local11 + 3, local127, local129, 0);
|
||||
}
|
||||
InterfaceList.forceRedrawScreen(InterfaceList.anInt4271, InterfaceList.anInt5138, InterfaceList.anInt436, InterfaceList.anInt761);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!gn", name = "a", descriptor = "(ZI)V")
|
||||
public static void method1805(@OriginalArg(0) boolean arg0) {
|
||||
@Pc(7) byte local7;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ package rt4;
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
import plugin.PluginRepository;
|
||||
import plugin.api.MiniMenuEntry;
|
||||
|
||||
public class MiniMenu {
|
||||
@OriginalMember(owner = "client!df", name = "l", descriptor = "Lclient!na;")
|
||||
|
|
@ -138,6 +140,79 @@ public class MiniMenu {
|
|||
@OriginalMember(owner = "client!ml", name = "Q", descriptor = "I")
|
||||
public static int anInt3953 = 0;
|
||||
|
||||
/***********************
|
||||
* Action Constants *
|
||||
***********************/
|
||||
/* Tiles */
|
||||
public static final int WALK_HERE = 60;
|
||||
/* NPCs */
|
||||
public static final int NPC_ACTION_1 = 17;
|
||||
public static final int NPC_ACTION_2 = 16;
|
||||
public static final int NPC_ACTION_3 = 4;
|
||||
public static final int NPC_ACTION_4 = 19;
|
||||
public static final int NPC_ACTION_5 = 2;
|
||||
public static final int NPC_EXAMINE = 1007;
|
||||
/* Players */
|
||||
public static final int PLAYER_ACTION_1 = 30;
|
||||
public static final int PLAYER_ACTION_BLOCK = 34;
|
||||
public static final int PLAYER_ACTION_TRADE = 29;
|
||||
public static final int PLAYER_REQ_ASSIST_ACTION = 37;
|
||||
public static final int PLAYER_FOLLOW_ACTION = 31;
|
||||
public static final int PLAYER_ACTION_5 = 57;
|
||||
/* Objects */
|
||||
public static final int OBJ_ACTION_1 = 47;
|
||||
public static final int OBJ_EQUIP_ACTION = 5;
|
||||
public static final int OBJ_ACTION_4 = 35;
|
||||
public static final int OBJ_OPERATE_ACTION = 23;
|
||||
public static final int OBJ_ACTION_5 = 58;
|
||||
public static final int OBJ_EXAMINE = 1002;
|
||||
public static final int OBJ_PLAYER_ACTION = 1;
|
||||
public static final int OBJ_OBJSTACK_ACTION = 33;
|
||||
public static final int OBJ_NPC_ACTION = 26;
|
||||
public static final int OBJ_LOC_ACTION = 14;
|
||||
public static final int OBJ_OBJ_ACTION = 40;
|
||||
/* Object Stacks */
|
||||
public static final int OBJSTACK_ACTION_1 = 18;
|
||||
public static final int OBJSTACK_ACTION_2 = 20;
|
||||
/* Locations */
|
||||
public static final int LOC_ACTION_1 = 42;
|
||||
public static final int LOC_ACTION_2 = 50;
|
||||
public static final int LOC_ACTION_3 = 49;
|
||||
public static final int LOC_ACTION_4 = 46;
|
||||
public static final int LOC_ACTION_5 = 1001;
|
||||
public static final int LOC_ACTION_EXAMINE = 1004;
|
||||
/* Components */
|
||||
public static final int COMPONENT_ACTION_CLOSE = 28;
|
||||
public static final int COMPONENT_OBJSTACK_ACTION = 39;
|
||||
public static final int OBJ_IN_COMPONENT_ACTION_4 = 43;
|
||||
public static final int COMPONENT_LOC_ACTION = 38;
|
||||
public static final int LOGOUT_ACTION_2 = 59;
|
||||
public static final int LOGOUT_ACTION = 51;
|
||||
public static final int OBJ_IN_COMPONENT_ACTION_1 = 25;
|
||||
public static final int COMPONENT_PLAYER_ACTION = 15;
|
||||
public static final int COMPONENT_OBJ_ACTION = 3;
|
||||
public static final int COMPONENT_NPC_ACTION = 45;
|
||||
public static final int OBJ_EXAMINE_IN_COMPONENT = 1006;
|
||||
/* Unknown/Unidentified */
|
||||
public static final int UNKNOWN_13 = 13;
|
||||
public static final int UNKNOWN_22 = 22;
|
||||
public static final int UNKNOWN_48 = 48;
|
||||
public static final int UNKNOWN_12 = 12;
|
||||
public static final int UNKNOWN_36 = 36;
|
||||
public static final int UNKNOWN_6 = 6;
|
||||
public static final int UNKNOWN_24 = 24;
|
||||
public static final int UNKNOWN_7 = 7;
|
||||
public static final int UNKNOWN_8 = 8;
|
||||
public static final int UNKNOWN_11 = 11;
|
||||
public static final int UNKNOWN_32 = 32;
|
||||
public static final int UNKNOWN_21 = 21;
|
||||
public static final int UNKNOWN_9 = 9;
|
||||
public static final int UNKNOWN_1003 = 1003;
|
||||
public static final int UNKNOWN_41 = 41;
|
||||
public static final int UNKNOWN_10 = 10;
|
||||
public static final int UNKNOWN_44 = 44;
|
||||
|
||||
|
||||
@OriginalMember(owner = "client!va", name = "a", descriptor = "(IZILclient!be;)V")
|
||||
public static void addComponentEntries(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) Component component) {
|
||||
if (component.buttonType == 1) {
|
||||
|
|
@ -292,17 +367,18 @@ public class MiniMenu {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!hj", name = "a", descriptor = "(IJBLclient!na;ISLclient!na;I)V")
|
||||
public static void add(@OriginalArg(0) int cursor, @OriginalArg(1) long arg1, @OriginalArg(3) JagString arg2, @OriginalArg(4) int arg3, @OriginalArg(5) short arg4, @OriginalArg(6) JagString arg5, @OriginalArg(7) int arg6) {
|
||||
public static void add(@OriginalArg(0) int cursor, @OriginalArg(1) long arg1, @OriginalArg(3) JagString opName, @OriginalArg(4) int arg3, @OriginalArg(5) short arg4, @OriginalArg(6) JagString arg5, @OriginalArg(7) int arg6) {
|
||||
if (Cs1ScriptRunner.aBoolean108 || size >= 500) {
|
||||
return;
|
||||
}
|
||||
ops[size] = arg5;
|
||||
opBases[size] = arg2;
|
||||
opBases[size] = opName;
|
||||
cursors[size] = cursor == -1 ? anInt1092 : cursor;
|
||||
actions[size] = arg4;
|
||||
keys[size] = arg1;
|
||||
intArgs1[size] = arg3;
|
||||
intArgs2[size] = arg6;
|
||||
PluginRepository.DrawMiniMenu(new MiniMenuEntry(size));
|
||||
size++;
|
||||
}
|
||||
|
||||
|
|
@ -367,14 +443,14 @@ public class MiniMenu {
|
|||
}
|
||||
@Pc(15) int local15 = intArgs1[arg0];
|
||||
@Pc(19) int local19 = intArgs2[arg0];
|
||||
@Pc(23) int local23 = actions[arg0];
|
||||
if (local23 >= 2000) {
|
||||
local23 -= 2000;
|
||||
@Pc(23) int actionCode = actions[arg0];
|
||||
if (actionCode >= 2000) {
|
||||
actionCode -= 2000;
|
||||
}
|
||||
@Pc(31) long local31 = keys[arg0];
|
||||
@Pc(36) int local36 = (int) keys[arg0];
|
||||
@Pc(43) Player local43;
|
||||
if (local23 == 31) {
|
||||
if (actionCode == PLAYER_FOLLOW_ACTION) {
|
||||
local43 = PlayerList.players[local36];
|
||||
if (local43 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -386,14 +462,14 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2add(local36);
|
||||
}
|
||||
}
|
||||
if (local23 == 46) {
|
||||
if (actionCode == LOC_ACTION_4) {
|
||||
PathFinder.findPathToLoc(local31, local19, local15);
|
||||
Protocol.outboundBuffer.p1isaac(247);
|
||||
Protocol.outboundBuffer.ip2(Camera.originZ + local19);
|
||||
Protocol.outboundBuffer.ip2add(local15 + Camera.originX);
|
||||
Protocol.outboundBuffer.p2(Integer.MAX_VALUE & (int) (local31 >>> 32));
|
||||
}
|
||||
if (local23 == 40) {
|
||||
if (actionCode == OBJ_OBJ_ACTION) {
|
||||
Protocol.outboundBuffer.p1isaac(27);
|
||||
Protocol.outboundBuffer.p2(anInt4370);
|
||||
Protocol.outboundBuffer.ip4(local19);
|
||||
|
|
@ -406,7 +482,7 @@ public class MiniMenu {
|
|||
anInt5444 = local15;
|
||||
}
|
||||
@Pc(192) Npc local192;
|
||||
if (local23 == 19) {
|
||||
if (actionCode == NPC_ACTION_4) {
|
||||
local192 = NpcList.npcs[local36];
|
||||
if (local192 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -418,7 +494,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.p2(local36);
|
||||
}
|
||||
}
|
||||
if (local23 == 17) {
|
||||
if (actionCode == NPC_ACTION_1) {
|
||||
local192 = NpcList.npcs[local36];
|
||||
if (local192 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -430,7 +506,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2(local36);
|
||||
}
|
||||
}
|
||||
if (local23 == 44) {
|
||||
if (actionCode == UNKNOWN_44) {
|
||||
local43 = PlayerList.players[local36];
|
||||
if (local43 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -442,7 +518,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2(local36);
|
||||
}
|
||||
}
|
||||
if (local23 == 58) {
|
||||
if (actionCode == OBJ_ACTION_5) {
|
||||
Protocol.outboundBuffer.p1isaac(135);
|
||||
Protocol.outboundBuffer.p2add(local36);
|
||||
Protocol.outboundBuffer.p2add(local15);
|
||||
|
|
@ -451,17 +527,17 @@ public class MiniMenu {
|
|||
pressedInventoryComponent = InterfaceList.getComponent(local19);
|
||||
anInt5444 = local15;
|
||||
}
|
||||
if (local23 == 42) {
|
||||
if (actionCode == LOC_ACTION_1) {
|
||||
PathFinder.findPathToLoc(local31, local19, local15);
|
||||
Protocol.outboundBuffer.p1isaac(254);
|
||||
Protocol.outboundBuffer.ip2(local15 + Camera.originX);
|
||||
Protocol.outboundBuffer.p2add((int) (local31 >>> 32) & Integer.MAX_VALUE);
|
||||
Protocol.outboundBuffer.p2(local19 + Camera.originZ);
|
||||
}
|
||||
if (local23 == 28) {
|
||||
if (actionCode == COMPONENT_ACTION_CLOSE) {
|
||||
ClientProt.closeWidget();
|
||||
}
|
||||
if (local23 == 45) {
|
||||
if (actionCode == COMPONENT_NPC_ACTION) {
|
||||
local192 = NpcList.npcs[local36];
|
||||
if (local192 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -476,7 +552,7 @@ public class MiniMenu {
|
|||
}
|
||||
}
|
||||
@Pc(560) boolean local560;
|
||||
if (local23 == 18) {
|
||||
if (actionCode == OBJSTACK_ACTION_1) {
|
||||
if (client.game == 1) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]);
|
||||
} else {
|
||||
|
|
@ -494,14 +570,14 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.p2(local36);
|
||||
Protocol.outboundBuffer.ip2add(local19 + Camera.originZ);
|
||||
}
|
||||
if (local23 == 1001) {
|
||||
if (actionCode == LOC_ACTION_5) {
|
||||
PathFinder.findPathToLoc(local31, local19, local15);
|
||||
Protocol.outboundBuffer.p1isaac(170);
|
||||
Protocol.outboundBuffer.ip2add(Integer.MAX_VALUE & (int) (local31 >>> 32));
|
||||
Protocol.outboundBuffer.ip2add(local15 + Camera.originX);
|
||||
Protocol.outboundBuffer.ip2add(local19 + Camera.originZ);
|
||||
}
|
||||
if (local23 == 1002) {
|
||||
if (actionCode == OBJ_EXAMINE) {
|
||||
Cross.type = 2;
|
||||
Cross.x = Mouse.clickX;
|
||||
Cross.y = Mouse.clickY;
|
||||
|
|
@ -510,7 +586,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2add(local36);
|
||||
}
|
||||
@Pc(693) Component local693;
|
||||
if (local23 == 1006) {
|
||||
if (actionCode == OBJ_EXAMINE_IN_COMPONENT) {
|
||||
local693 = InterfaceList.getComponent(local19);
|
||||
if (local693 == null || local693.objCounts[local15] < 100000) {
|
||||
Protocol.outboundBuffer.p1isaac(92);
|
||||
|
|
@ -522,7 +598,7 @@ public class MiniMenu {
|
|||
pressedInventoryComponent = InterfaceList.getComponent(local19);
|
||||
anInt5444 = local15;
|
||||
}
|
||||
if (local23 == 60) {
|
||||
if (actionCode == WALK_HERE) {
|
||||
if (local36 == 0) {
|
||||
method3556(Player.plane, local15, local19);
|
||||
} else if (local36 == 1) {
|
||||
|
|
@ -543,7 +619,7 @@ public class MiniMenu {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (local23 == 1007) {
|
||||
if (actionCode == NPC_EXAMINE) {
|
||||
Cross.milliseconds = 0;
|
||||
Cross.type = 2;
|
||||
Cross.y = Mouse.clickY;
|
||||
|
|
@ -560,7 +636,7 @@ public class MiniMenu {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (local23 == 47) {
|
||||
if (actionCode == OBJ_ACTION_1) {
|
||||
Protocol.outboundBuffer.p1isaac(156);
|
||||
Protocol.outboundBuffer.ip2add(local15);
|
||||
Protocol.outboundBuffer.p2add(local36);
|
||||
|
|
@ -569,7 +645,7 @@ public class MiniMenu {
|
|||
pressedInventoryComponent = InterfaceList.getComponent(local19);
|
||||
anInt5444 = local15;
|
||||
}
|
||||
if (local23 == 3) {
|
||||
if (actionCode == COMPONENT_OBJ_ACTION) {
|
||||
Protocol.outboundBuffer.p1isaac(253);
|
||||
Protocol.outboundBuffer.ip4(anInt2512);
|
||||
Protocol.outboundBuffer.ip2add(local15);
|
||||
|
|
@ -580,7 +656,7 @@ public class MiniMenu {
|
|||
pressedInventoryComponent = InterfaceList.getComponent(local19);
|
||||
anInt5444 = local15;
|
||||
}
|
||||
if (local23 == 10) {
|
||||
if (actionCode == UNKNOWN_10) {
|
||||
local43 = PlayerList.players[local36];
|
||||
if (local43 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -592,19 +668,19 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2(local36);
|
||||
}
|
||||
}
|
||||
if (local23 == 41 && Cs1ScriptRunner.aClass13_10 == null) {
|
||||
if (actionCode == UNKNOWN_41 && Cs1ScriptRunner.aClass13_10 == null) {
|
||||
method10(local15, local19);
|
||||
Cs1ScriptRunner.aClass13_10 = InterfaceList.method1418(local19, local15);
|
||||
InterfaceList.redraw(Cs1ScriptRunner.aClass13_10);
|
||||
}
|
||||
if (local23 == 49) {
|
||||
if (actionCode == LOC_ACTION_3) {
|
||||
PathFinder.findPathToLoc(local31, local19, local15);
|
||||
Protocol.outboundBuffer.p1isaac(84);
|
||||
Protocol.outboundBuffer.ip2add(Integer.MAX_VALUE & (int) (local31 >>> 32));
|
||||
Protocol.outboundBuffer.ip2add(Camera.originZ + local19);
|
||||
Protocol.outboundBuffer.ip2(local15 + Camera.originX);
|
||||
}
|
||||
if (local23 == 23) {
|
||||
if (actionCode == OBJ_OPERATE_ACTION) {
|
||||
Protocol.outboundBuffer.p1isaac(206);
|
||||
Protocol.outboundBuffer.p2add(local36);
|
||||
Protocol.outboundBuffer.ip2(local15);
|
||||
|
|
@ -613,7 +689,7 @@ public class MiniMenu {
|
|||
pressedInventoryComponent = InterfaceList.getComponent(local19);
|
||||
anInt5444 = local15;
|
||||
}
|
||||
if (local23 == 14 && PathFinder.findPathToLoc(local31, local19, local15)) {
|
||||
if (actionCode == OBJ_LOC_ACTION && PathFinder.findPathToLoc(local31, local19, local15)) {
|
||||
Protocol.outboundBuffer.p1isaac(134);
|
||||
Protocol.outboundBuffer.p2add(Camera.originX + local15);
|
||||
Protocol.outboundBuffer.p2(anInt4997);
|
||||
|
|
@ -622,7 +698,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.mp4(MiniMap.anInt5062);
|
||||
Protocol.outboundBuffer.p2add((int) (local31 >>> 32) & Integer.MAX_VALUE);
|
||||
}
|
||||
if (local23 == 37) {
|
||||
if (actionCode == PLAYER_REQ_ASSIST_ACTION) {
|
||||
local43 = PlayerList.players[local36];
|
||||
if (local43 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -634,10 +710,10 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2add(local36);
|
||||
}
|
||||
}
|
||||
if (local23 == 9 || local23 == 1003) {
|
||||
if (actionCode == UNKNOWN_9 || actionCode == UNKNOWN_1003) {
|
||||
ClientProt.method4512(opBases[arg0], local15, local36, local19);
|
||||
}
|
||||
if (local23 == 5) {
|
||||
if (actionCode == OBJ_EQUIP_ACTION) {
|
||||
Protocol.outboundBuffer.p1isaac(55);
|
||||
Protocol.outboundBuffer.ip2(local36);
|
||||
Protocol.outboundBuffer.p2add(local15);
|
||||
|
|
@ -646,7 +722,7 @@ public class MiniMenu {
|
|||
pressedInventoryComponent = InterfaceList.getComponent(local19);
|
||||
anInt5444 = local15;
|
||||
}
|
||||
if (local23 == 21) {
|
||||
if (actionCode == UNKNOWN_21) {
|
||||
if (client.game == 1) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]);
|
||||
} else {
|
||||
|
|
@ -664,7 +740,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2(Camera.originX + local15);
|
||||
Protocol.outboundBuffer.ip2add(Camera.originZ + local19);
|
||||
}
|
||||
if (local23 == 4) {
|
||||
if (actionCode == NPC_ACTION_3) {
|
||||
local192 = NpcList.npcs[local36];
|
||||
if (local192 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -676,7 +752,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.p2add(local36);
|
||||
}
|
||||
}
|
||||
if (local23 == 32) {
|
||||
if (actionCode == UNKNOWN_32) {
|
||||
local693 = InterfaceList.method1418(local19, local15);
|
||||
if (local693 != null) {
|
||||
method1294();
|
||||
|
|
@ -695,7 +771,7 @@ public class MiniMenu {
|
|||
}
|
||||
return;
|
||||
}
|
||||
if (local23 == 29) {
|
||||
if (actionCode == PLAYER_ACTION_TRADE) {
|
||||
local43 = PlayerList.players[local36];
|
||||
if (local43 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -707,7 +783,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2add(local36);
|
||||
}
|
||||
}
|
||||
if (local23 == 35) {
|
||||
if (actionCode == OBJ_ACTION_4) {
|
||||
Protocol.outboundBuffer.p1isaac(161);
|
||||
Protocol.outboundBuffer.ip4(local19);
|
||||
Protocol.outboundBuffer.ip2add(local36);
|
||||
|
|
@ -716,7 +792,7 @@ public class MiniMenu {
|
|||
pressedInventoryComponent = InterfaceList.getComponent(local19);
|
||||
anInt5444 = local15;
|
||||
}
|
||||
if (local23 == 15) {
|
||||
if (actionCode == COMPONENT_PLAYER_ACTION) {
|
||||
local43 = PlayerList.players[local36];
|
||||
if (local43 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -730,7 +806,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2add(local36);
|
||||
}
|
||||
}
|
||||
if (local23 == 34) {
|
||||
if (actionCode == PLAYER_ACTION_BLOCK) {
|
||||
if (client.game == 1) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]);
|
||||
} else {
|
||||
|
|
@ -748,7 +824,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.p2(local15 + Camera.originX);
|
||||
Protocol.outboundBuffer.ip2add(local36);
|
||||
}
|
||||
if (local23 == 25) {
|
||||
if (actionCode == OBJ_IN_COMPONENT_ACTION_1) {
|
||||
Protocol.outboundBuffer.p1isaac(81);
|
||||
Protocol.outboundBuffer.p2add(local15);
|
||||
Protocol.outboundBuffer.p2(local36);
|
||||
|
|
@ -757,7 +833,7 @@ public class MiniMenu {
|
|||
pressedInventoryComponent = InterfaceList.getComponent(local19);
|
||||
anInt5444 = local15;
|
||||
}
|
||||
if (local23 == 2) {
|
||||
if (actionCode == NPC_ACTION_5) {
|
||||
local192 = NpcList.npcs[local36];
|
||||
if (local192 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -770,7 +846,7 @@ public class MiniMenu {
|
|||
}
|
||||
}
|
||||
@Pc(1955) int local1955;
|
||||
if (local23 == 51) {
|
||||
if (actionCode == LOGOUT_ACTION) {
|
||||
Protocol.outboundBuffer.p1isaac(10);
|
||||
Protocol.outboundBuffer.p4(local19);
|
||||
local693 = InterfaceList.getComponent(local19);
|
||||
|
|
@ -782,7 +858,7 @@ public class MiniMenu {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (local23 == 26) {
|
||||
if (actionCode == OBJ_NPC_ACTION) {
|
||||
local192 = NpcList.npcs[local36];
|
||||
if (local192 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -797,7 +873,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2add(anInt4997);
|
||||
}
|
||||
}
|
||||
if (local23 == 59) {
|
||||
if (actionCode == LOGOUT_ACTION_2) {
|
||||
Protocol.outboundBuffer.p1isaac(10);
|
||||
Protocol.outboundBuffer.p4(local19);
|
||||
local693 = InterfaceList.getComponent(local19);
|
||||
|
|
@ -807,7 +883,7 @@ public class MiniMenu {
|
|||
VarpDomain.refreshMagicVarp(local1955);
|
||||
}
|
||||
}
|
||||
if (local23 == 33) {
|
||||
if (actionCode == OBJ_OBJSTACK_ACTION) {
|
||||
local560 = PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]);
|
||||
if (!local560) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -824,7 +900,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2add(Camera.originZ + local19);
|
||||
Protocol.outboundBuffer.mp4(MiniMap.anInt5062);
|
||||
}
|
||||
if (local23 == 1004) {
|
||||
if (actionCode == LOC_ACTION_EXAMINE) {
|
||||
Cross.milliseconds = 0;
|
||||
Cross.x = Mouse.clickX;
|
||||
Cross.type = 2;
|
||||
|
|
@ -832,7 +908,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.p1isaac(94);
|
||||
Protocol.outboundBuffer.ip2add(local36);
|
||||
}
|
||||
if (local23 == 11) {
|
||||
if (actionCode == UNKNOWN_11) {
|
||||
if (local36 == 0) {
|
||||
anInt3096 = 1;
|
||||
method3556(Player.plane, local15, local19);
|
||||
|
|
@ -844,7 +920,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.p2add(local19 + Camera.originZ);
|
||||
}
|
||||
}
|
||||
if (local23 == 8) {
|
||||
if (actionCode == UNKNOWN_8) {
|
||||
local693 = InterfaceList.getComponent(local19);
|
||||
@Pc(2287) boolean local2287 = true;
|
||||
if (local693.clientCode > 0) {
|
||||
|
|
@ -855,7 +931,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.p4(local19);
|
||||
}
|
||||
}
|
||||
if (local23 == 1) {
|
||||
if (actionCode == OBJ_PLAYER_ACTION) {
|
||||
local43 = PlayerList.players[local36];
|
||||
if (local43 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -870,7 +946,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.mp4(MiniMap.anInt5062);
|
||||
}
|
||||
}
|
||||
if (local23 == 7) {
|
||||
if (actionCode == UNKNOWN_7) {
|
||||
Protocol.outboundBuffer.p1isaac(85);
|
||||
Protocol.outboundBuffer.imp4(local19);
|
||||
Protocol.outboundBuffer.p2(local15);
|
||||
|
|
@ -879,7 +955,7 @@ public class MiniMenu {
|
|||
pressedInventoryComponent = InterfaceList.getComponent(local19);
|
||||
anInt5444 = local15;
|
||||
}
|
||||
if (local23 == 24) {
|
||||
if (actionCode == UNKNOWN_24) {
|
||||
if (client.game == 1) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]);
|
||||
} else {
|
||||
|
|
@ -897,7 +973,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2add(local36);
|
||||
Protocol.outboundBuffer.ip2(Camera.originZ + local19);
|
||||
}
|
||||
if (local23 == 38 && PathFinder.findPathToLoc(local31, local19, local15)) {
|
||||
if (actionCode == COMPONENT_LOC_ACTION && PathFinder.findPathToLoc(local31, local19, local15)) {
|
||||
Protocol.outboundBuffer.p1isaac(233);
|
||||
Protocol.outboundBuffer.ip2add(local19 + Camera.originZ);
|
||||
Protocol.outboundBuffer.p2add(Camera.originX + local15);
|
||||
|
|
@ -905,7 +981,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.imp4(anInt2512);
|
||||
Protocol.outboundBuffer.p2add((int) (local31 >>> 32) & Integer.MAX_VALUE);
|
||||
}
|
||||
if (local23 == 13) {
|
||||
if (actionCode == UNKNOWN_13) {
|
||||
Protocol.outboundBuffer.p1isaac(6);
|
||||
Protocol.outboundBuffer.p4(local19);
|
||||
Protocol.outboundBuffer.p2add(local15);
|
||||
|
|
@ -914,7 +990,7 @@ public class MiniMenu {
|
|||
pressedInventoryComponent = InterfaceList.getComponent(local19);
|
||||
anInt5444 = local15;
|
||||
}
|
||||
if (local23 == 57) {
|
||||
if (actionCode == PLAYER_ACTION_5) {
|
||||
local43 = PlayerList.players[local36];
|
||||
if (local43 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -926,7 +1002,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.p2add(local36);
|
||||
}
|
||||
}
|
||||
if (local23 == 22) {
|
||||
if (actionCode == UNKNOWN_22) {
|
||||
method1294();
|
||||
local693 = InterfaceList.getComponent(local19);
|
||||
MiniMap.anInt5062 = local19;
|
||||
|
|
@ -940,14 +1016,14 @@ public class MiniMenu {
|
|||
}
|
||||
return;
|
||||
}
|
||||
if (local23 == 50) {
|
||||
if (actionCode == LOC_ACTION_2) {
|
||||
PathFinder.findPathToLoc(local31, local19, local15);
|
||||
Protocol.outboundBuffer.p1isaac(194);
|
||||
Protocol.outboundBuffer.ip2add(local19 + Camera.originZ);
|
||||
Protocol.outboundBuffer.ip2(Camera.originX + local15);
|
||||
Protocol.outboundBuffer.p2((int) (local31 >>> 32) & Integer.MAX_VALUE);
|
||||
}
|
||||
if (local23 == 48) {
|
||||
if (actionCode == UNKNOWN_48) {
|
||||
Protocol.outboundBuffer.p1isaac(154);
|
||||
Protocol.outboundBuffer.ip2(local15);
|
||||
Protocol.outboundBuffer.imp4(local19);
|
||||
|
|
@ -956,7 +1032,7 @@ public class MiniMenu {
|
|||
pressedInventoryComponent = InterfaceList.getComponent(local19);
|
||||
anInt5444 = local15;
|
||||
}
|
||||
if (local23 == 30) {
|
||||
if (actionCode == PLAYER_ACTION_1) {
|
||||
local43 = PlayerList.players[local36];
|
||||
if (local43 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -968,7 +1044,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2add(local36);
|
||||
}
|
||||
}
|
||||
if (local23 == 43) {
|
||||
if (actionCode == OBJ_IN_COMPONENT_ACTION_4) {
|
||||
Protocol.outboundBuffer.p1isaac(153);
|
||||
Protocol.outboundBuffer.ip4(local19);
|
||||
Protocol.outboundBuffer.ip2(local15);
|
||||
|
|
@ -977,7 +1053,7 @@ public class MiniMenu {
|
|||
pressedInventoryComponent = InterfaceList.getComponent(local19);
|
||||
anInt5444 = local15;
|
||||
}
|
||||
if (local23 == 39) {
|
||||
if (actionCode == COMPONENT_OBJSTACK_ACTION) {
|
||||
local560 = PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]);
|
||||
if (!local560) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -993,14 +1069,14 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.ip2add(local15 + Camera.originX);
|
||||
Protocol.outboundBuffer.ip2(anInt506);
|
||||
}
|
||||
if (local23 == 12) {
|
||||
if (actionCode == UNKNOWN_12) {
|
||||
Protocol.outboundBuffer.p1isaac(82);
|
||||
Protocol.outboundBuffer.p2(anInt506);
|
||||
Protocol.outboundBuffer.imp4(local19);
|
||||
Protocol.outboundBuffer.p4(anInt2512);
|
||||
Protocol.outboundBuffer.ip2add(local15);
|
||||
}
|
||||
if (local23 == 36) {
|
||||
if (actionCode == UNKNOWN_36) {
|
||||
if (local36 == 0) {
|
||||
Protocol.anInt4422 = 1;
|
||||
method3556(Player.plane, local15, local19);
|
||||
|
|
@ -1012,7 +1088,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.p2(local15 + Camera.originX);
|
||||
}
|
||||
}
|
||||
if (local23 == 6) {
|
||||
if (actionCode == UNKNOWN_6) {
|
||||
local43 = PlayerList.players[local36];
|
||||
if (local43 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -1024,7 +1100,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.p2(local36);
|
||||
}
|
||||
}
|
||||
if (local23 == 20) {
|
||||
if (actionCode == OBJSTACK_ACTION_2) {
|
||||
if (client.game == 1) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]);
|
||||
} else {
|
||||
|
|
@ -1042,7 +1118,7 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.p2(Camera.originX + local15);
|
||||
Protocol.outboundBuffer.ip2(Camera.originZ + local19);
|
||||
}
|
||||
if (local23 == 16) {
|
||||
if (actionCode == NPC_ACTION_2) {
|
||||
local192 = NpcList.npcs[local36];
|
||||
if (local192 != null) {
|
||||
PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]);
|
||||
|
|
@ -1379,7 +1455,7 @@ public class MiniMenu {
|
|||
if (local129[local140] != null && local129[local140].equalsIgnoreCase(LocalizedText.ATTACK)) {
|
||||
@Pc(271) short local271 = 0;
|
||||
if (arg0.combatLevel > PlayerList.self.combatLevel) {
|
||||
local271 = 2000;
|
||||
local271 = 2000; //THIS iS FOR LEFT CLICK ATTACK
|
||||
}
|
||||
@Pc(281) short local281 = 0;
|
||||
if (local140 == 0) {
|
||||
|
|
@ -1603,4 +1679,138 @@ public class MiniMenu {
|
|||
Protocol.outboundBuffer.imp4(arg1);
|
||||
Protocol.outboundBuffer.ip2(arg0);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!lf", name = "b", descriptor = "(I)V")
|
||||
public static void drawA() {
|
||||
@Pc(3) int local3 = InterfaceList.anInt5138;
|
||||
@Pc(9) int local9 = InterfaceList.anInt761;
|
||||
@Pc(11) int local11 = InterfaceList.anInt4271;
|
||||
@Pc(15) int local15 = InterfaceList.anInt436;
|
||||
if (GlRenderer.enabled) {
|
||||
GlRaster.fillRect(local11, local3, local9, local15, 6116423);
|
||||
GlRaster.fillRect(local11 + 1, local3 + 1, local9 - 2, 16, 0);
|
||||
GlRaster.drawRect(local11 + 1, local3 + 18, local9 - 2, local15 + -19, 0);
|
||||
} else {
|
||||
SoftwareRaster.fillRect(local11, local3, local9, local15, 6116423);
|
||||
SoftwareRaster.fillRect(local11 + 1, local3 + 1, local9 - 2, 16, 0);
|
||||
SoftwareRaster.drawRect(local11 + 1, local3 + 18, local9 - 2, local15 + -19, 0);
|
||||
}
|
||||
Fonts.b12Full.renderLeft(LocalizedText.CHOOSE_OPTION, local11 + 3, local3 + 14, 6116423, -1);
|
||||
@Pc(96) int local96 = Mouse.lastMouseY;
|
||||
@Pc(98) int local98 = Mouse.lastMouseX;
|
||||
for (@Pc(107) int local107 = 0; local107 < size; local107++) {
|
||||
@Pc(127) int local127 = (size - local107 - 1) * 15 + local3 + 31;
|
||||
@Pc(129) int color = 16777215; //WHITE
|
||||
if (local11 < local98 && local98 < local11 + local9 && local127 - 13 < local96 && local96 < local127 + 3) {
|
||||
color = 16776960; //YELLOW
|
||||
}
|
||||
Fonts.b12Full.renderLeft(getOp(local107), local11 + 3, local127, color, 0);
|
||||
}
|
||||
InterfaceList.forceRedrawScreen(InterfaceList.anInt4271, InterfaceList.anInt5138, InterfaceList.anInt436, InterfaceList.anInt761);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ij", name = "a", descriptor = "(B)V")
|
||||
public static void drawB() {
|
||||
@Pc(3) int local3 = InterfaceList.anInt4271;
|
||||
@Pc(9) int local9 = InterfaceList.anInt5138;
|
||||
@Pc(11) int local11 = InterfaceList.anInt436;
|
||||
@Pc(13) int local13 = InterfaceList.anInt761;
|
||||
if (LoginManager.aClass3_Sub2_Sub1_1 == null || LoginManager.aClass3_Sub2_Sub1_9 == null) {
|
||||
if (client.js5Archive8.isFileReady(LoginManager.anInt1736) && client.js5Archive8.isFileReady(LoginManager.anInt4073)) {
|
||||
LoginManager.aClass3_Sub2_Sub1_1 = SoftwareSprite.loadSoftwareAlphaSprite(client.js5Archive8, LoginManager.anInt1736);
|
||||
LoginManager.aClass3_Sub2_Sub1_9 = SoftwareSprite.loadSoftwareAlphaSprite(client.js5Archive8, LoginManager.anInt4073);
|
||||
if (GlRenderer.enabled) {
|
||||
if (LoginManager.aClass3_Sub2_Sub1_1 instanceof SoftwareAlphaSprite) {
|
||||
LoginManager.aClass3_Sub2_Sub1_1 = new GlAlphaSprite((SoftwareSprite) LoginManager.aClass3_Sub2_Sub1_1);
|
||||
} else {
|
||||
LoginManager.aClass3_Sub2_Sub1_1 = new GlSprite((SoftwareSprite) LoginManager.aClass3_Sub2_Sub1_1);
|
||||
}
|
||||
if (LoginManager.aClass3_Sub2_Sub1_9 instanceof SoftwareAlphaSprite) {
|
||||
LoginManager.aClass3_Sub2_Sub1_9 = new GlAlphaSprite((SoftwareSprite) LoginManager.aClass3_Sub2_Sub1_9);
|
||||
} else {
|
||||
LoginManager.aClass3_Sub2_Sub1_9 = new GlSprite((SoftwareSprite) LoginManager.aClass3_Sub2_Sub1_9);
|
||||
}
|
||||
}
|
||||
} else if (GlRenderer.enabled) {
|
||||
GlRaster.fillRectAlpha(local3, local9, local13, 20, LoginManager.anInt1275, 256 - LoginManager.anInt2910);
|
||||
} else {
|
||||
SoftwareRaster.fillRectAlpha(local3, local9, local13, 20, LoginManager.anInt1275, 256 - LoginManager.anInt2910);
|
||||
}
|
||||
}
|
||||
@Pc(112) int local112;
|
||||
@Pc(114) int local114;
|
||||
if (LoginManager.aClass3_Sub2_Sub1_1 != null && LoginManager.aClass3_Sub2_Sub1_9 != null) {
|
||||
local112 = local13 / LoginManager.aClass3_Sub2_Sub1_1.width;
|
||||
for (local114 = 0; local114 < local112; local114++) {
|
||||
LoginManager.aClass3_Sub2_Sub1_1.render(local114 * LoginManager.aClass3_Sub2_Sub1_1.width + local3, local9);
|
||||
}
|
||||
LoginManager.aClass3_Sub2_Sub1_9.render(local3, local9);
|
||||
LoginManager.aClass3_Sub2_Sub1_9.renderHorizontalFlip(local3 + local13 - LoginManager.aClass3_Sub2_Sub1_9.width, local9);
|
||||
}
|
||||
Fonts.b12Full.renderLeft(LocalizedText.CHOOSE_OPTION, local3 + 3, local9 + 14, LoginManager.anInt4581, -1);
|
||||
if (GlRenderer.enabled) {
|
||||
GlRaster.fillRectAlpha(local3, local9 + 20, local13, local11 - 20, LoginManager.anInt1275, 256 - LoginManager.anInt2910);
|
||||
} else {
|
||||
SoftwareRaster.fillRectAlpha(local3, local9 + 20, local13, local11 - 20, LoginManager.anInt1275, 256 - LoginManager.anInt2910);
|
||||
}
|
||||
local114 = Mouse.lastMouseY;
|
||||
local112 = Mouse.lastMouseX;
|
||||
@Pc(203) int local203;
|
||||
@Pc(219) int local219;
|
||||
for (local203 = 0; local203 < size; local203++) {
|
||||
local219 = (size - local203 - 1) * 15 + local9 + 35;
|
||||
if (local3 < local112 && local112 < local3 + local13 && local114 > local219 - 13 && local114 < local219 + 3) {
|
||||
if (GlRenderer.enabled) {
|
||||
GlRaster.fillRectAlpha(local3, local219 - 13, local13, 16, LoginManager.anInt5457, 256 - LoginManager.anInt5208);
|
||||
} else {
|
||||
SoftwareRaster.fillRectAlpha(local3, local219 - 13, local13, 16, LoginManager.anInt5457, 256 - LoginManager.anInt5208);
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((LoginManager.aClass3_Sub2_Sub1_8 == null || LoginManager.aClass3_Sub2_Sub1_6 == null || LoginManager.aClass3_Sub2_Sub1_10 == null) && client.js5Archive8.isFileReady(LoginManager.anInt2261) && client.js5Archive8.isFileReady(LoginManager.anInt3324) && client.js5Archive8.isFileReady(LoginManager.anInt5556)) {
|
||||
LoginManager.aClass3_Sub2_Sub1_8 = SoftwareSprite.loadSoftwareAlphaSprite(client.js5Archive8, LoginManager.anInt2261);
|
||||
LoginManager.aClass3_Sub2_Sub1_6 = SoftwareSprite.loadSoftwareAlphaSprite(client.js5Archive8, LoginManager.anInt3324);
|
||||
LoginManager.aClass3_Sub2_Sub1_10 = SoftwareSprite.loadSoftwareAlphaSprite(client.js5Archive8, LoginManager.anInt5556);
|
||||
if (GlRenderer.enabled) {
|
||||
if (LoginManager.aClass3_Sub2_Sub1_8 instanceof SoftwareAlphaSprite) {
|
||||
LoginManager.aClass3_Sub2_Sub1_8 = new GlAlphaSprite((SoftwareSprite) LoginManager.aClass3_Sub2_Sub1_8);
|
||||
} else {
|
||||
LoginManager.aClass3_Sub2_Sub1_8 = new GlSprite((SoftwareSprite) LoginManager.aClass3_Sub2_Sub1_8);
|
||||
}
|
||||
if (LoginManager.aClass3_Sub2_Sub1_6 instanceof SoftwareAlphaSprite) {
|
||||
LoginManager.aClass3_Sub2_Sub1_6 = new GlAlphaSprite((SoftwareSprite) LoginManager.aClass3_Sub2_Sub1_6);
|
||||
} else {
|
||||
LoginManager.aClass3_Sub2_Sub1_6 = new GlSprite((SoftwareSprite) LoginManager.aClass3_Sub2_Sub1_6);
|
||||
}
|
||||
if (LoginManager.aClass3_Sub2_Sub1_10 instanceof SoftwareAlphaSprite) {
|
||||
LoginManager.aClass3_Sub2_Sub1_10 = new GlAlphaSprite((SoftwareSprite) LoginManager.aClass3_Sub2_Sub1_10);
|
||||
} else {
|
||||
LoginManager.aClass3_Sub2_Sub1_10 = new GlSprite((SoftwareSprite) LoginManager.aClass3_Sub2_Sub1_10);
|
||||
}
|
||||
}
|
||||
}
|
||||
@Pc(418) int local418;
|
||||
if (LoginManager.aClass3_Sub2_Sub1_8 != null && LoginManager.aClass3_Sub2_Sub1_6 != null && LoginManager.aClass3_Sub2_Sub1_10 != null) {
|
||||
local203 = local13 / LoginManager.aClass3_Sub2_Sub1_8.width;
|
||||
for (local219 = 0; local219 < local203; local219++) {
|
||||
LoginManager.aClass3_Sub2_Sub1_8.render(local3 + LoginManager.aClass3_Sub2_Sub1_8.width * local219, local11 + local9 + -LoginManager.aClass3_Sub2_Sub1_8.height);
|
||||
}
|
||||
local219 = (local11 - 20) / LoginManager.aClass3_Sub2_Sub1_6.height;
|
||||
for (local418 = 0; local418 < local219; local418++) {
|
||||
LoginManager.aClass3_Sub2_Sub1_6.render(local3, local9 + local418 * LoginManager.aClass3_Sub2_Sub1_6.height + 20);
|
||||
LoginManager.aClass3_Sub2_Sub1_6.renderHorizontalFlip(local3 + local13 - LoginManager.aClass3_Sub2_Sub1_6.width, local9 + 20 + local418 * LoginManager.aClass3_Sub2_Sub1_6.height);
|
||||
}
|
||||
LoginManager.aClass3_Sub2_Sub1_10.render(local3, local11 + local9 - LoginManager.aClass3_Sub2_Sub1_10.height);
|
||||
LoginManager.aClass3_Sub2_Sub1_10.renderHorizontalFlip(local3 + local13 - LoginManager.aClass3_Sub2_Sub1_10.width, local9 - -local11 + -LoginManager.aClass3_Sub2_Sub1_10.height);
|
||||
}
|
||||
for (local203 = 0; local203 < size; local203++) {
|
||||
local219 = (size - local203 - 1) * 15 + local9 + 35;
|
||||
local418 = LoginManager.anInt4581;
|
||||
if (local3 < local112 && local13 + local3 > local112 && local219 - 13 < local114 && local114 < local219 + 3) {
|
||||
local418 = LoginManager.anInt5752;
|
||||
}
|
||||
Fonts.b12Full.renderLeft(getOp(local203), local3 + 3, local219, local418, 0);
|
||||
}
|
||||
InterfaceList.forceRedrawScreen(InterfaceList.anInt4271, InterfaceList.anInt5138, InterfaceList.anInt436, InterfaceList.anInt761);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
89
plugin-playground/src/main/kotlin/MiniMenuQOL/plugin.kt
Normal file
89
plugin-playground/src/main/kotlin/MiniMenuQOL/plugin.kt
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
package MiniMenuQOL
|
||||
|
||||
import plugin.Plugin
|
||||
import plugin.annotations.PluginMeta
|
||||
import plugin.api.*
|
||||
import rt4.NpcList
|
||||
import rt4.NpcType
|
||||
import rt4.ObjType
|
||||
import rt4.ObjTypeList
|
||||
|
||||
@PluginMeta(
|
||||
author = "Ceikry",
|
||||
description = "Provides debug and some basic QOL for the MiniMenu",
|
||||
version = 1.0
|
||||
)
|
||||
class plugin : Plugin() {
|
||||
private var debugEnabled = false
|
||||
|
||||
override fun ProcessCommand(commandStr: String?, args: Array<out String>?) {
|
||||
when (commandStr) {
|
||||
"::mmdebug" -> debugEnabled = !debugEnabled
|
||||
}
|
||||
}
|
||||
|
||||
override fun Draw(timeDelta: Long) {
|
||||
if (!debugEnabled) return
|
||||
val sb = StringBuilder()
|
||||
val entries = API.GetMiniMenuEntries()
|
||||
val strings = ArrayList<String>()
|
||||
|
||||
for (entry in entries) {
|
||||
sb.append(entry.subject)
|
||||
sb.append(" - ")
|
||||
sb.append(entry.verb)
|
||||
sb.append("(")
|
||||
sb.append(entry.actionCode)
|
||||
sb.append(")")
|
||||
strings.add(sb.toString())
|
||||
sb.clear()
|
||||
}
|
||||
|
||||
if (debugEnabled) {
|
||||
var screenY = 50
|
||||
for (string in strings) {
|
||||
API.DrawText(
|
||||
FontType.SMALL,
|
||||
FontColor.YELLOW,
|
||||
TextModifier.LEFT,
|
||||
string,
|
||||
10,
|
||||
screenY
|
||||
)
|
||||
screenY += 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun DrawMiniMenu(entry: MiniMenuEntry) {
|
||||
when (entry.type) {
|
||||
MiniMenuType.NPC -> {
|
||||
val index = entry.subjectIndex
|
||||
val npc = NpcList.npcs[index.toInt()]
|
||||
val type = npc.type
|
||||
if (debugEnabled && entry.verb.equals("examine", true))
|
||||
entry.subject = entry.subject + "(I:${entry.subjectIndex},ID:${type.id})"
|
||||
if (entry.isStrictlySecondary)
|
||||
entry.toggleStrictlySecondary()
|
||||
}
|
||||
|
||||
MiniMenuType.LOCATION -> {
|
||||
if (debugEnabled && entry.verb.equals("examine", true))
|
||||
entry.subject = entry.subject + "(ID:${entry.subjectIndex})"
|
||||
}
|
||||
|
||||
MiniMenuType.PLAYER -> {
|
||||
if (debugEnabled && entry.verb.equals("follow", true))
|
||||
entry.subject = entry.subject + "(I:${entry.subjectIndex})"
|
||||
}
|
||||
|
||||
MiniMenuType.OBJ -> {
|
||||
val def = ObjTypeList.get(entry.subjectIndex.toInt())
|
||||
if (debugEnabled)
|
||||
entry.subject = entry.subject + "(ID:${entry.subjectIndex})"
|
||||
if (def.cost >= 1000)
|
||||
entry.subject = "<col=cdd162>" + entry.subject.substring(12)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue