288 lines
8.7 KiB
Plaintext

void script_2162(int arg0,int arg1,int arg2,int arg3,int arg4) {
int ivar5;
int ivar6;
int ivar7;
int ivar8;
int ivar9;
int ivar10;
int ivar11;
int ivar12;
int ivar13;
int ivar14;
int ivar15;
int ivar16;
int ivar17;
int ivar18;
int ivar19;
int ivar20;
int ivar21;
int ivar22;
int ivar23;
int ivar24;
int ivar25;
int ivar26;
string svar0;
string svar1;
do {
flow_17:
ivar10 = 0;
ivar23 = 0;
if (((boolean)arg2)) {
ivar23 = subtract(ivar18, 1);
}
ivar24 = 5;
ivar25 = 0;
ivar26 = -1;
if (((boolean)arg0)) {
ivar26 = bitconfig_6913;
} else if (getOtherCommonData(ivar5, 693) > 0) {
ivar26 = subtract(bitconfig_697, multiply(1000, subtract(getOtherCommonData(ivar5, 693), 1)));
} else {
ivar26 = subtract(bitconfig_697, multiply(1000, subtract(arg0, 1)));
}
while (true) {
flow_24:
IF (((boolean)arg2))
GOTO flow_25
GOTO flow_26
flow_25:
IF (ivar23 < ivar18)
GOTO flow_28
flow_26:
IF (((boolean)arg2) && (ivar23 >= 0))
GOTO flow_28
break;
flow_28:
ivar21 = cs2method_3408(105, 105, ivar17, ivar23);
if (setWidgetRegister(new WidgetPointer(ivar7), add(add(globalint_273, ivar23), 1))) {
setWidgetPosition(0, ivar24, 0, 0);
svar0 = cs2method_3408(105, 115, ivar15, ivar21);
setWidgetText(svar0);
setWidgetHidden(0);
ivar24 = add(ivar24, getWidgetActualHeight());
}
ivar13 = 0;
while (ivar11 < globalint_272) {
globalint_699 = cs2method_3408(105, 74, ivar6, globalarray_0[ivar10]);
if (globalint_699 != -1) {
ivar11 = add(ivar11, 1);
switch (arg1) {
flow_34:
case 0:
ivar22 = getOtherCommonData(globalint_699, 856);
if ((ivar22 == 4) && (standart_config_281 == 1000)) {
ivar22 = 0;
}
break;
case 1:
switch (arg0) {
case 1:
ivar22 = globalarray_1[ivar10];
break;
case 3:
ivar22 = getOtherCommonData(globalint_699, 677);
}
break;
case 2:
SWITCH (arg0) {
case 1:
GOTO flow_43
case 3:
GOTO flow_44
}
break;
flow_43:
ivar22 = getOtherCommonData(globalint_699, 848);
break;
flow_44:
ivar22 = getOtherCommonData(globalint_699, 678);
}
if (ivar22 != ivar21) {
ivar14 = 0;
}
if ((((boolean)ivar14) && ((boolean)arg3)) && ((boolean)globalarray_1[ivar10])) {
ivar12 = script_2149();
if (((boolean)ivar12)) {
ivar14 = 0;
}
}
if ((((boolean)ivar14) && ((boolean)arg4)) && (globalarray_1[ivar10] == 2)) {
ivar14 = 0;
}
if (((boolean)ivar14) && setWidgetRegister(new WidgetPointer(ivar7), globalarray_0[ivar10])) {
setWidgetPosition(10, ivar24, 0, 0);
setWidgetHidden(0);
if (((boolean)getOtherCommonData(globalint_699, 694))) {
if (((boolean)globalarray_1[ivar10])) {
setWidgetContextMenuOption(1, "View Quest Overview");
setWidgetContextMenuOption(2, "View Quest Journal");
setWidgetContextMenuOption(3, "Toggle Map Hint");
} else if (((boolean)globalarray_1[ivar10])) {
setWidgetContextMenuOption(1, "View Quest Journal");
setWidgetContextMenuOption(2, "View Quest Overview");
setWidgetContextMenuOption(3, "Toggle Map Hints");
} else {
setWidgetContextMenuOption(1, "View Quest Journal");
setWidgetContextMenuOption(2, "View Quest Overview");
setWidgetContextMenuOption(3, "");
}
} else if (((boolean)globalarray_1[ivar10])) {
setWidgetContextMenuOption(2, "Toggle Map Hint");
} else {
setWidgetContextMenuOption(2, "");
}
setWidgetContextMenuOption(1, "View Quest Journal");
setWidgetContextMenuOption(3, "");
setScriptCallOnMouseEntered(1356, new WidgetPointer(-32768,3), -2147483643, 16777215, "Iii");
if (globalarray_0[ivar10] == ivar26) {
setWidgetRGB(new Color(0, 255, 255));
setScriptCallOnMouseExit(1949, new WidgetPointer(-32768,3), -2147483643, 65535, new WidgetPointer(ivar9), "IiiI");
} else if (((boolean)globalarray_1[ivar10])) {
setWidgetRGB(new Color(255, 0, 0));
setScriptCallOnMouseExit(1949, new WidgetPointer(-32768,3), -2147483643, 16711680, new WidgetPointer(ivar9), "IiiI");
} else if (((boolean)globalarray_1[ivar10])) {
setWidgetRGB(new Color(255, 255, 0));
setScriptCallOnMouseExit(1949, new WidgetPointer(-32768,3), -2147483643, 16776960, new WidgetPointer(ivar9), "IiiI");
} else {
setWidgetRGB(new Color(0, 255, 0));
setScriptCallOnMouseExit(1949, new WidgetPointer(-32768,3), -2147483643, 65280, new WidgetPointer(ivar9), "IiiI");
}
ivar24 = add(ivar24, getWidgetActualHeight());
ivar13 = add(ivar13, 1);
if ((((boolean)cs2method_3408(105, 105, ivar16, ivar21)) && (stringMethod4107(getOtherCommonData(globalint_699, 857), "") != 0)) && setWidgetRegister(new WidgetPointer(ivar7), add(add(globalint_273, ivar23), 1))) {
setWidgetText(getOtherCommonData(globalint_699, 857));
}
ivar25 = add(ivar25, 1);
}
ivar14 = 1;
}
ivar10 = add(ivar10, 1);
}
if (ivar13 != 0) {
ivar24 = add(ivar24, 10);
} else {
if (setWidgetRegister(new WidgetPointer(ivar7), add(add(globalint_273, ivar23), 1))) {
setWidgetText("");
setWidgetHidden(1);
}
ivar24 = subtract(ivar24, 20);
}
ivar10 = 0;
ivar11 = 0;
if (((boolean)arg2)) {
ivar23 = add(ivar23, 1);
} else {
ivar23 = subtract(ivar23, 1);
}
}
svar1 = "";
if (((boolean)arg0)) {
if (ivar25 == globalint_272) {
svar1 = "Showing all " + intToStr(globalint_272) + " items";
} else {
svar1 = "Showing " + intToStr(ivar25) + " of " + intToStr(globalint_272) + " items";
}
if (((boolean)arg2)) {
svar1 = concat(svar1, " (reversed)");
}
setWidgetText(new WidgetPointer(190,8), svar1);
}
IF (((boolean)globalint_695) || (ivar20 != add(ivar24, 5)))
GOTO flow_102
IF (((boolean)arg2))
GOTO flow_99
GOTO flow_100
flow_99:
IF (((boolean)globalint_694))
GOTO flow_102
flow_100:
IF (((boolean)arg2) && ((boolean)globalint_694))
GOTO flow_102
GOTO flow_103
flow_102:
setWidgetScrollMax(getWidgetActualWidth(new WidgetPointer(ivar7)), add(ivar24, 5), new WidgetPointer(ivar7));
ivar20 = ivar24;
cs2method2100(0, 0, new WidgetPointer(ivar7));
script_31(ivar8, ivar7, 792, 789, 790, 791, 773, 788);
break;
flow_103:
cs2method2100(0, ivar19, new WidgetPointer(ivar7));
} while (false);
if ((((arg1 == -1) || (arg2 == -1)) || (arg3 == -1)) || (arg4 == -1)) {
return;
}
globalarray_0 = new int[add(globalint_273, 1)];
globalarray_1 = new int[add(globalint_273, 1)];
ivar5 = cs2method_3408(105, 74, 169, arg0);
if (ivar5 == -1) {
return;
}
ivar6 = getOtherCommonData(ivar5, 61);
ivar7 = getOtherCommonData(ivar5, 152);
ivar8 = getOtherCommonData(ivar5, 153);
ivar9 = getOtherCommonData(ivar5, 670);
globalint_698 = script_1432();
ivar10 = 0;
ivar11 = 0;
ivar12 = 1;
ivar13 = 0;
ivar14 = 1;
ivar15 = cs2method_3408(105, 103, getOtherCommonData(ivar5, 673), arg1);
ivar16 = cs2method_3408(105, 103, getOtherCommonData(ivar5, 676), arg1);
ivar17 = cs2method_3408(105, 103, getOtherCommonData(ivar5, 675), arg1);
if (ivar17 == -1) {
ivar17 = 223;
}
if (ivar15 == -1) {
return;
}
ivar18 = getCommonDefinitionSize(ivar15);
ivar19 = cs2method2601(new WidgetPointer(ivar7));
ivar20 = getWidgetScrollMaxV(new WidgetPointer(ivar7));
ivar21 = 0;
ivar22 = 0;
svar0 = "";
script_2164(arg0);
while (ivar10 <= globalint_273) {
globalarray_0[ivar10] = ivar10;
ivar10 = add(ivar10, 1);
}
ivar10 = 0;
script_2163(0, ivar6, 0, globalint_273);
switch (arg0) {
while (true) {
case 1:
if (ivar10 <= globalint_273) {
globalarray_0[ivar10] = script_2193(globalarray_0[ivar10]);
ivar10 = add(ivar10, 1);
}
}
flow_14:
GOTO flow_17
while (true) {
case 3:
if (ivar10 <= globalint_273) {
globalarray_0[ivar10] = 0;
ivar10 = add(ivar10, 1);
}
}
}
if (((boolean)arg0)) {
globalint_692 = arg3;
globalint_1103 = arg4;
globalint_694 = arg2;
if (((boolean)globalint_692)) {
setWidgetSprite(699, new WidgetPointer(190,10));
} else {
setWidgetSprite(697, new WidgetPointer(190,10));
}
if (((boolean)globalint_1103)) {
setWidgetSprite(699, new WidgetPointer(190,12));
} else {
setWidgetSprite(697, new WidgetPointer(190,12));
}
}
globalint_695 = 0;
return;
}