···114114 NONSTOP* ) nonstop=true ;;
115115esac
116116117117-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
117117+CLASSPATH="\\\"\\\""
118118119119120120# Determine the Java command to use to start the JVM.
···213213set -- \
214214 "-Dorg.gradle.appname=$APP_BASE_NAME" \
215215 -classpath "$CLASSPATH" \
216216- org.gradle.wrapper.GradleWrapperMain \
216216+ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
217217 "$@"
218218219219# Stop when "xargs" is not available.
+2-2
gradlew.bat
···7070:execute
7171@rem Setup the command line
72727373-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
7373+set CLASSPATH=
747475757676@rem Execute Gradle
7777-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
7777+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
78787979:end
8080@rem End local scope for the variables with windows NT shell
+43-2
src/main/java/com/jagex/runescape/Game.java
···56265626 firstMenuOperand[menuActionRow] = l2;
56275627 secondMenuOperand[menuActionRow] = child.id;
56285628 menuActionRow++;
56295629+56305630+ // Shift-drop: promote Drop to left-click when Shift is held
56315631+ if (super.keyStatus[6] == 1 && child.isInventory) {
56325632+ for (int sd = menuActionRow - 2; sd >= 0; sd--) {
56335633+ if (menuActionTypes[sd] == 891) {
56345634+ String tmpText = menuActionTexts[menuActionRow - 1];
56355635+ int tmpType = menuActionTypes[menuActionRow - 1];
56365636+ int tmpAction = selectedMenuActions[menuActionRow - 1];
56375637+ int tmpFirst = firstMenuOperand[menuActionRow - 1];
56385638+ int tmpSecond = secondMenuOperand[menuActionRow - 1];
56395639+56405640+ menuActionTexts[menuActionRow - 1] = menuActionTexts[sd];
56415641+ menuActionTypes[menuActionRow - 1] = menuActionTypes[sd];
56425642+ selectedMenuActions[menuActionRow - 1] = selectedMenuActions[sd];
56435643+ firstMenuOperand[menuActionRow - 1] = firstMenuOperand[sd];
56445644+ secondMenuOperand[menuActionRow - 1] = secondMenuOperand[sd];
56455645+56465646+ menuActionTexts[sd] = tmpText;
56475647+ menuActionTypes[sd] = tmpType;
56485648+ selectedMenuActions[sd] = tmpAction;
56495649+ firstMenuOperand[sd] = tmpFirst;
56505650+ secondMenuOperand[sd] = tmpSecond;
56515651+ break;
56525652+ }
56535653+ }
56545654+ }
56295655 }
56305656 }
56315657 }
···1034410370 int itemId = opcodes[counter++] + 1;
1034510371 if (itemId >= 0 && itemId < ItemDefinition.count && (!ItemDefinition.lookup(itemId).members || memberServer)) {
1034610372 for (int item = 0; item < widget1.items.length; item++) {
1034710347- if (widget1.items[item] == itemId) {
1037310373+ if (widget1.items[item] != itemId) {
1034810374 continue;
1034910375 }
1035010350- value = 0;
1037610376+ value = 999999999;
1035110377 break;
1035210378 }
1035310379···1149111517 if (minimapState != 0)
1149211518 return;
1149311519 if (super.clickType == 1) {
1152011520+ // Compass click: reset camera orientation and zoom
1152111521+ int compassX = super.clickX - 550;
1152211522+ int compassY = super.clickY - 4;
1152311523+ if (compassX >= 0 && compassY >= 0 && compassX < 33 && compassY < 33) {
1152411524+ int cdx = compassX - 16;
1152511525+ int cdy = compassY - 16;
1152611526+ if (cdx * cdx + cdy * cdy <= 16 * 16) {
1152711527+ cameraHorizontal = 0;
1152811528+ cameraVelocityHorizontal = 0;
1152911529+ cameraVelocityVertical = 0;
1153011530+ super.cameraZoom = 600;
1153111531+ return;
1153211532+ }
1153311533+ }
1153411534+1149411535 int i = super.clickX - 25 - 550;
1149511536 int j = super.clickY - 5 - 4;
1149611537 if (i >= 0 && j >= 0 && i < 146 && j < 151) {
+4
src/main/java/com/jagex/runescape/GameShell.java
···312312 keyChar = 4;
313313 if (keyCode == 17)
314314 keyChar = 5;
315315+ if (keyCode == 16)
316316+ keyChar = 6;
315317 if (keyCode == 8)
316318 keyChar = 8;
317319 if (keyCode == 127)
···354356 keyChar = '\004';
355357 if (keyCode == 17)
356358 keyChar = '\005';
359359+ if (keyCode == 16)
360360+ keyChar = '\006';
357361 if (keyCode == 8)
358362 keyChar = '\b';
359363 if (keyCode == 127)
···367367 temp[1] = (byte) parentId;
368368 }
369369 Widget.mediaArchive = null;
370370+371371+ // Enable item dragging on the bank items grid (5382).
372372+ // The cache definition has itemSwapable=false, preventing the client
373373+ // from sending swap packets to the server for bank rearrangement.
374374+ if (interfaces.length > 5382 && interfaces[5382] != null) {
375375+ interfaces[5382].itemSwapable = true;
376376+ }
370377 }
371378372379 public static void method200(int i) {