Add more script opcodes

This commit is contained in:
Lucwousin
2019-07-09 19:43:27 +02:00
parent 4fb58a484f
commit 5244775148
11 changed files with 79 additions and 16 deletions

View File

@@ -103,6 +103,7 @@ public class Instructions
add(CC_RESUME_PAUSEBUTTON, "cc_resume_pausebutton");
add(CC_SETFILLCOLOUR, "cc_setfillcolour");
add(CC_SETLINEDIRECTION, "cc_setlinedirection");
add(CC_SETMODELTRANSPARENT, "cc_setmodeltransparent");
add(CC_SETOBJECT, "cc_setobject");
add(CC_SETNPCHEAD, "cc_setnpchead");
add(CC_SETPLAYERHEAD_SELF, "cc_setplayerhead_self");
@@ -116,6 +117,12 @@ public class Instructions
add(CC_SETOPBASE, "cc_setopbase");
add(CC_SETTARGETVERB, "cc_settargetverb");
add(CC_CLEAROPS, "cc_clearops");
add(CC_SETOPKEY, "cc_setopkey");
add(CC_SETOPTKEY, "cc_setoptkey");
add(CC_SETOPKEYRATE, "cc_setopkeyrate");
add(CC_SETOPTKEYRATE, "cc_setoptkeyrate");
add(CC_SETOPKEYIGNOREHELD, "cc_setopkeyignoreheld");
add(CC_SETOPTKEYIGNOREHELD, "cc_setoptkeyignoreheld");
add(CC_SETONCLICK, "cc_setonclick");
add(CC_SETONHOLD, "cc_setonhold");
add(CC_SETONRELEASE, "cc_setonrelease");
@@ -160,6 +167,7 @@ public class Instructions
add(CC_GETTRANS, "cc_gettrans");
add(CC_GETCOLOUR, "cc_getcolour");
add(CC_GETFILLCOLOUR, "cc_getfillcolour");
add(CC_GETMODELTRANSPARENT, "cc_getmodeltransparent");
add(CC_GETINVOBJECT, "cc_getinvobject");
add(CC_GETINVCOUNT, "cc_getinvcount");
add(CC_GETID, "cc_getid");
@@ -195,6 +203,7 @@ public class Instructions
add(IF_RESUME_PAUSEBUTTON, "if_resume_pausebutton");
add(IF_SETFILLCOLOUR, "if_setfillcolour");
add(IF_SETLINEDIRECTION, "if_setlinedirection");
add(IF_SETMODELTRANSPARENT, "if_setmodeltransparent");
add(IF_SETOBJECT, "if_setobject");
add(IF_SETNPCHEAD, "if_setnpchead");
add(IF_SETPLAYERHEAD_SELF, "if_setplayerhead_self");
@@ -258,6 +267,7 @@ public class Instructions
add(IF_GETTRANS, "if_gettrans");
add(IF_GETCOLOUR, "if_getcolour");
add(IF_GETFILLCOLOUR, "if_getfillcolour");
add(IF_GETMODELTRANSPARENT, "if_getmodeltransparent");
add(IF_GETINVOBJECT, "if_getinvobject");
add(IF_GETINVCOUNT, "if_getinvcount");
add(IF_HASSUB, "if_hassub");
@@ -290,6 +300,9 @@ public class Instructions
add(GETTAPTODROP, "gettaptodrop");
add(SETOCULUSORBSPEED, "setoculusorbspeed");
add(GETCANVASSIZE, "getcanvassize");
add(MOBILE_SETFPS, "mobile_setfps");
add(MOBILE_OPENSTORE, "mobile_openstore");
add(MOBILE_OPENSTORECATEGORY, "mobile_openstorecategory");
add(SETHIDEUSERNAME, "sethideusername");
add(GETHIDEUSERNAME, "gethideusername");
add(SETREMEMBERUSERNAME, "setrememberusername");
@@ -474,6 +487,7 @@ public class Instructions
add(STRUCT_PARAM, "struct_param");
add(ON_MOBILE, "on_mobile");
add(CLIENTTYPE, "clienttype");
add(MOBILE_KEYBOARDHIDE, "mobile_keyboardhide");
add(BATTERYLEVEL, "batterylevel");
add(BATTERYCHARGING, "batterycharging");
add(WIFIAVAILABLE, "wifiavailable");
@@ -511,6 +525,8 @@ public class Instructions
add(MEC_TEXTSIZE, "mec_textsize");
add(MEC_CATEGORY, "mec_category");
add(MEC_SPRITE, "mec_sprite");
add(WORLDMAP_ELEMENT, "worldmap_element");
add(WORLDMAP_ELEMENTCOORD, "worldmap_elementcoord");
}
protected void add(int opcode, String name)

View File

@@ -94,6 +94,7 @@ public class Opcodes
public static final int CC_RESUME_PAUSEBUTTON = 1121;
public static final int CC_SETFILLCOLOUR = 1123;
public static final int CC_SETLINEDIRECTION = 1126;
public static final int CC_SETMODELTRANSPARENT = 1127;
public static final int CC_SETOBJECT = 1200;
public static final int CC_SETNPCHEAD = 1201;
public static final int CC_SETPLAYERHEAD_SELF = 1202;
@@ -107,6 +108,12 @@ public class Opcodes
public static final int CC_SETOPBASE = 1305;
public static final int CC_SETTARGETVERB = 1306;
public static final int CC_CLEAROPS = 1307;
public static final int CC_SETOPKEY = 1350;
public static final int CC_SETOPTKEY = 1351;
public static final int CC_SETOPKEYRATE = 1352;
public static final int CC_SETOPTKEYRATE = 1353;
public static final int CC_SETOPKEYIGNOREHELD = 1354;
public static final int CC_SETOPTKEYIGNOREHELD = 1355;
public static final int CC_SETONCLICK = 1400;
public static final int CC_SETONHOLD = 1401;
public static final int CC_SETONRELEASE = 1402;
@@ -151,6 +158,7 @@ public class Opcodes
public static final int CC_GETTRANS = 1609;
public static final int CC_GETCOLOUR = 1611;
public static final int CC_GETFILLCOLOUR = 1612;
public static final int CC_GETMODELTRANSPARENT = 1614;
public static final int CC_GETINVOBJECT = 1700;
public static final int CC_GETINVCOUNT = 1701;
public static final int CC_GETID = 1702;
@@ -186,6 +194,7 @@ public class Opcodes
public static final int IF_RESUME_PAUSEBUTTON = 2121;
public static final int IF_SETFILLCOLOUR = 2123;
public static final int IF_SETLINEDIRECTION = 2126;
public static final int IF_SETMODELTRANSPARENT = 2127;
public static final int IF_SETOBJECT = 2200;
public static final int IF_SETNPCHEAD = 2201;
public static final int IF_SETPLAYERHEAD_SELF = 2202;
@@ -249,6 +258,7 @@ public class Opcodes
public static final int IF_GETTRANS = 2609;
public static final int IF_GETCOLOUR = 2611;
public static final int IF_GETFILLCOLOUR = 2612;
public static final int IF_GETMODELTRANSPARENT = 2614;
public static final int IF_GETINVOBJECT = 2700;
public static final int IF_GETINVCOUNT = 2701;
public static final int IF_HASSUB = 2702;
@@ -281,6 +291,9 @@ public class Opcodes
public static final int GETTAPTODROP = 3128;
public static final int SETOCULUSORBSPEED = 3129;
public static final int GETCANVASSIZE = 3132;
public static final int MOBILE_SETFPS = 3133;
public static final int MOBILE_OPENSTORE = 3134;
public static final int MOBILE_OPENSTORECATEGORY = 3135;
public static final int SETHIDEUSERNAME = 3141;
public static final int GETHIDEUSERNAME = 3142;
public static final int SETREMEMBERUSERNAME = 3143;
@@ -465,6 +478,7 @@ public class Opcodes
public static final int STRUCT_PARAM = 6516;
public static final int ON_MOBILE = 6518;
public static final int CLIENTTYPE = 6519;
public static final int MOBILE_KEYBOARDHIDE = 6521;
public static final int BATTERYLEVEL = 6524;
public static final int BATTERYCHARGING = 6525;
public static final int WIFIAVAILABLE = 6526;
@@ -502,4 +516,6 @@ public class Opcodes
public static final int MEC_TEXTSIZE = 6694;
public static final int MEC_CATEGORY = 6695;
public static final int MEC_SPRITE = 6696;
public static final int WORLDMAP_ELEMENT = 6697;
public static final int WORLDMAP_ELEMENTCOORD = 6699;
}

View File

@@ -73,6 +73,7 @@ public enum ScriptOpcode
CC_RESUME_PAUSEBUTTON(1121),
CC_SETFILLCOLOUR(1123),
CC_SETLINEDIRECTION(1126),
CC_SETMODELTRANSPARENT(1127),
CC_SETOBJECT(1200),
CC_SETNPCHEAD(1201),
CC_SETPLAYERHEAD_SELF(1202),
@@ -86,6 +87,12 @@ public enum ScriptOpcode
CC_SETOPBASE(1305),
CC_SETTARGETVERB(1306),
CC_CLEAROPS(1307),
CC_SETOPKEY(1350),
CC_SETOPTKEY(1351),
CC_SETOPKEYRATE(1352),
CC_SETOPTKEYRATE(1353),
CC_SETOPKEYIGNOREHELD(1354),
CC_SETOPTKEYIGNOREHELD(1355),
CC_SETONCLICK(1400),
CC_SETONHOLD(1401),
CC_SETONRELEASE(1402),
@@ -130,6 +137,7 @@ public enum ScriptOpcode
CC_GETTRANS(1609),
CC_GETCOLOUR(1611),
CC_GETFILLCOLOUR(1612),
CC_GETMODELTRANSPARENT(1614),
CC_GETINVOBJECT(1700),
CC_GETINVCOUNT(1701),
CC_GETID(1702),
@@ -228,6 +236,7 @@ public enum ScriptOpcode
IF_GETTRANS(2609),
IF_GETCOLOUR(2611),
IF_GETFILLCOLOUR(2612),
IF_GETMODELTRANSPARENT(2614),
IF_GETINVOBJECT(2700),
IF_GETINVCOUNT(2701),
IF_HASSUB(2702),
@@ -260,6 +269,9 @@ public enum ScriptOpcode
GETTAPTODROP(3128),
SETOCULUSORBSPEED(3129),
GETCANVASSIZE(3132),
MOBILE_SETFPS(3133),
MOBILE_OPENSTORE(3134),
MOBILE_OPENSTORECATEGORY(3135),
SETHIDEUSERNAME(3141),
GETHIDEUSERNAME(3142),
SETREMEMBERUSERNAME(3143),
@@ -444,6 +456,7 @@ public enum ScriptOpcode
STRUCT_PARAM(6516),
ON_MOBILE(6518),
CLIENTTYPE(6519),
MOBILE_KEYBOARDHIDE(6521),
BATTERYLEVEL(6524),
BATTERYCHARGING(6525),
WIFIAVAILABLE(6526),
@@ -480,7 +493,9 @@ public enum ScriptOpcode
MEC_TEXT(6693),
MEC_TEXTSIZE(6694),
MEC_CATEGORY(6695),
MEC_SPRITE(6696);
MEC_SPRITE(6696),
WORLDMAP_ELEMENT(6697),
WORLDMAP_ELEMENTCOORD(6699);
public final int opcode;

View File

@@ -156,7 +156,7 @@ public class GrandExchangeEvents {
} else if (var0 == 2613) {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.rectangleMode.rsOrdinal();
return 1;
} else if (var0 == 2614) {
} else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0;
return 1;
} else {

View File

@@ -156,7 +156,7 @@ public class ScriptEvent extends Node {
} else if (var0 == 1613) {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.rectangleMode.rsOrdinal();
return 1;
} else if (var0 == 1614) {
} else if (var0 == ScriptOpcodes.CC_GETMODELTRANSPARENT) {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0;
return 1;
} else {

View File

@@ -276,7 +276,7 @@ public class StructDefinition extends DualNode {
var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1;
var4.field961 = var6;
return 1;
} else if (var0 == 1127) {
} else if (var0 == ScriptOpcodes.CC_SETMODELTRANSPARENT) {
var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1;
var4.modelTransparency = var6;
return 1;

View File

@@ -177,16 +177,16 @@ public class WorldMapAreaData extends WorldMapArea {
} else {
int var7;
byte[] var8;
if (var0 != 1350) {
if (var0 != ScriptOpcodes.CC_SETOPKEY) {
byte var11;
if (var0 == 1351) {
if (var0 == ScriptOpcodes.CC_SETOPTKEY) {
RouteStrategy.Interpreter_intStackSize -= 2;
var11 = 10;
var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]};
byte[] var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]};
BufferedSink.method3595(var4, var11, var8, var10);
return 1;
} else if (var0 == 1352) {
} else if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) {
RouteStrategy.Interpreter_intStackSize -= 3;
var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] - 1;
var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1];
@@ -197,13 +197,13 @@ public class WorldMapAreaData extends WorldMapArea {
} else {
throw new RuntimeException();
}
} else if (var0 == 1353) {
} else if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) {
var11 = 10;
var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
Varcs.method2168(var4, var11, var6, var7);
return 1;
} else if (var0 == 1354) {
} else if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) {
--RouteStrategy.Interpreter_intStackSize;
var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] - 1;
if (var5 >= 0 && var5 <= 9) {
@@ -212,7 +212,7 @@ public class WorldMapAreaData extends WorldMapArea {
} else {
throw new RuntimeException();
}
} else if (var0 == 1355) {
} else if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) {
var11 = 10;
WorldMapSection1.method345(var4, var11);
return 1;

View File

@@ -202,7 +202,7 @@ public class class31 {
return 1;
} else if (var0 == 6520) {
return 1;
} else if (var0 == 6521) {
} else if (var0 == ScriptOpcodes.MOBILE_KEYBOARDHIDE) {
return 1;
} else if (var0 == 6522) {
--Interpreter.Interpreter_stringStackSize;

View File

@@ -241,12 +241,12 @@ final class class4 implements class0 {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = SoundCache.canvasWidth;
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Huffman.canvasHeight;
return 1;
} else if (var0 == 3133) {
} else if (var0 == ScriptOpcodes.MOBILE_SETFPS) {
--RouteStrategy.Interpreter_intStackSize;
return 1;
} else if (var0 == 3134) {
} else if (var0 == ScriptOpcodes.MOBILE_OPENSTORE) {
return 1;
} else if (var0 == 3135) {
} else if (var0 == ScriptOpcodes.MOBILE_OPENSTORECATEGORY) {
RouteStrategy.Interpreter_intStackSize -= 2;
return 1;
} else if (var0 == 3136) {

View File

@@ -959,13 +959,13 @@ public final class class54 {
}
return 1;
} else if (var0 == 6697) {
} else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENT) {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class15.worldMapEvent.mapElement;
return 1;
} else if (var0 == 6698) {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class15.worldMapEvent.coord1.packed();
return 1;
} else if (var0 == 6699) {
} else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENTCOORD) {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class15.worldMapEvent.coord2.packed();
return 1;
} else {

View File

@@ -67,6 +67,7 @@ public class ScriptOpcodes {
public static final int CC_RESUME_PAUSEBUTTON = 1121;
public static final int CC_SETFILLCOLOUR = 1123;
public static final int CC_SETLINEDIRECTION = 1126;
public static final int CC_SETMODELTRANSPARENT = 1127;
public static final int CC_SETOBJECT = 1200;
public static final int CC_SETNPCHEAD = 1201;
public static final int CC_SETPLAYERHEAD_SELF = 1202;
@@ -80,6 +81,12 @@ public class ScriptOpcodes {
public static final int CC_SETOPBASE = 1305;
public static final int CC_SETTARGETVERB = 1306;
public static final int CC_CLEAROPS = 1307;
public static final int CC_SETOPKEY = 1350;
public static final int CC_SETOPTKEY = 1351;
public static final int CC_SETOPKEYRATE = 1352;
public static final int CC_SETOPTKEYRATE = 1353;
public static final int CC_SETOPKEYIGNOREHELD = 1354;
public static final int CC_SETOPTKEYIGNOREHELD = 1355;
public static final int CC_SETONCLICK = 1400;
public static final int CC_SETONHOLD = 1401;
public static final int CC_SETONRELEASE = 1402;
@@ -124,6 +131,7 @@ public class ScriptOpcodes {
public static final int CC_GETTRANS = 1609;
public static final int CC_GETCOLOUR = 1611;
public static final int CC_GETFILLCOLOUR = 1612;
public static final int CC_GETMODELTRANSPARENT = 1614;
public static final int CC_GETINVOBJECT = 1700;
public static final int CC_GETINVCOUNT = 1701;
public static final int CC_GETID = 1702;
@@ -159,6 +167,7 @@ public class ScriptOpcodes {
public static final int IF_RESUME_PAUSEBUTTON = 2121;
public static final int IF_SETFILLCOLOUR = 2123;
public static final int IF_SETLINEDIRECTION = 2126;
public static final int IF_SETMODELTRANSPARENT = 2127;
public static final int IF_SETOBJECT = 2200;
public static final int IF_SETNPCHEAD = 2201;
public static final int IF_SETPLAYERHEAD_SELF = 2202;
@@ -222,6 +231,7 @@ public class ScriptOpcodes {
public static final int IF_GETTRANS = 2609;
public static final int IF_GETCOLOUR = 2611;
public static final int IF_GETFILLCOLOUR = 2612;
public static final int IF_GETMODELTRANSPARENT = 2614;
public static final int IF_GETINVOBJECT = 2700;
public static final int IF_GETINVCOUNT = 2701;
public static final int IF_HASSUB = 2702;
@@ -254,6 +264,9 @@ public class ScriptOpcodes {
public static final int GETTAPTODROP = 3128;
public static final int SETOCULUSORBSPEED = 3129;
public static final int GETCANVASSIZE = 3132;
public static final int MOBILE_SETFPS = 3133;
public static final int MOBILE_OPENSTORE = 3134;
public static final int MOBILE_OPENSTORECATEGORY = 3135;
public static final int SETHIDEUSERNAME = 3141;
public static final int GETHIDEUSERNAME = 3142;
public static final int SETREMEMBERUSERNAME = 3143;
@@ -438,6 +451,7 @@ public class ScriptOpcodes {
public static final int STRUCT_PARAM = 6516;
public static final int ON_MOBILE = 6518;
public static final int CLIENTTYPE = 6519;
public static final int MOBILE_KEYBOARDHIDE = 6521;
public static final int BATTERYLEVEL = 6524;
public static final int BATTERYCHARGING = 6525;
public static final int WIFIAVAILABLE = 6526;
@@ -475,4 +489,6 @@ public class ScriptOpcodes {
public static final int MEC_TEXTSIZE = 6694;
public static final int MEC_CATEGORY = 6695;
public static final int MEC_SPRITE = 6696;
public static final int WORLDMAP_ELEMENT = 6697;
public static final int WORLDMAP_ELEMENTCOORD = 6699;
}