diff --git a/USECODE/EUSECODE_extracted/pseudocode/HOVER_NS/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/HOVER_NS/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..00f6ee9 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/HOVER_NS/slot_10_leaveFastArea.txt @@ -0,0 +1,14 @@ +function hover_ns_leaveFastArea() /* entry=146 class_id=0x02AD slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + if ((Intrinsic00BE(arg_06) & 64) != 0) goto block_0240; + + block_0231: + /* bit_not */ + + block_0240: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/IONIC/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/IONIC/slot_01_use.txt new file mode 100644 index 0000000..811c456 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/IONIC/slot_01_use.txt @@ -0,0 +1,8 @@ +function ionic_use() /* entry=305 class_id=0x052E slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_20_slot_20.txt new file mode 100644 index 0000000..62e6229 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_20_slot_20.txt @@ -0,0 +1,15 @@ +function item_slot_20() /* entry=400 class_id=0x0A1E slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + destx, /* [BP+0Ah] type=0x69 */ + desty, /* [BP+0Ch] type=0x69 */ + truncate; /* [BP+0Eh] type=0x62 */ + + entry: + goto block_0150; + + block_0150: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_21_slot_21.txt new file mode 100644 index 0000000..a89b829 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_21_slot_21.txt @@ -0,0 +1,32 @@ +function item_slot_21() /* entry=400 class_id=0x0A1E slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + targetRef, /* [BP+0Ah] type=0x69 */ + targetItem, /* [BP-02h] type=0x24 */ + item; /* [BP-04h] type=0x24 */ + + entry: + targetItem = targetRef; + if targetRef goto block_01EA; + + block_01A1: + if (Intrinsic003C(targetItem) != 6) goto block_01EA; + + block_01B9: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x4 */ + + block_01C9: + if condition goto block_01E8; + + block_01CC: + /* loopnext */ + goto block_01C9; + + block_01E8: + + block_01EA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_22_slot_22.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_22_slot_22.txt new file mode 100644 index 0000000..be936b0 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_22_slot_22.txt @@ -0,0 +1,15 @@ +function item_slot_22() /* entry=400 class_id=0x0A1E slot=0x22 */ +{ + entry: + if (Item.getStatus(arg_06) & arg_0A) goto block_025A; + + block_0249: + /* bit_not */ + goto block_0267; + + block_025A: + + block_0267: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_23_slot_23.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_23_slot_23.txt new file mode 100644 index 0000000..2e91de5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_23_slot_23.txt @@ -0,0 +1,6 @@ +function item_slot_23() /* entry=400 class_id=0x0A1E slot=0x23 */ +{ + entry: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_24_slot_24.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_24_slot_24.txt new file mode 100644 index 0000000..5741667 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_24_slot_24.txt @@ -0,0 +1,7 @@ +function item_slot_24() /* entry=400 class_id=0x0A1E slot=0x24 */ +{ + entry: + /* bit_not */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_25_slot_25.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_25_slot_25.txt new file mode 100644 index 0000000..a6426dc --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_25_slot_25.txt @@ -0,0 +1,219 @@ +function item_slot_25() /* entry=400 class_id=0x0A1E slot=0x25 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + destX, /* [BP+0Ah] type=0x69 */ + destY, /* [BP+0Ch] type=0x69 */ + destZ, /* [BP+0Eh] type=0x62 */ + vel, /* [BP+10h] type=0x69 */ + currentP, /* [BP-05h] type=0x24 */ + x, /* [BP-07h] type=0x69 */ + y, /* [BP-09h] type=0x69 */ + z, /* [BP-0Ah] type=0x62 */ + w, /* [BP-0Ch] type=0x69 */ + h, /* [BP-0Eh] type=0x69 */ + counter, /* [BP-10h] type=0x69 */ + minor, /* [BP-12h] type=0x69 */ + r, /* [BP-14h] type=0x69 */ + q, /* [BP-16h] type=0x69 */ + oabs, /* [BP-18h] type=0x69 */ + v, /* [BP-1Ah] type=0x69 */ + ovel, /* [BP-1Ch] type=0x69 */ + c, /* [BP-1Eh] type=0x69 */ + axis, /* [BP-20h] type=0x69 */ + ztarg, /* [BP-22h] type=0x69 */ + zcur, /* [BP-24h] type=0x69 */ + dif; /* [BP-26h] type=0x69 */ + + entry: + set_info(1, *(arg_06)); + x = Intrinsic0013(arg_06); + y = Item.legal_create(arg_06); + z = Item.getZ(arg_06); + w = ((destX - x) + 1); + h = ((destY - y) + 1); + counter = 0; + minor = 1; + ovel = vel; + c = 0; + axis = 1; + class_0A0C_slot_3F(w); + class_0A0C_slot_3F(retval, h); + if retval goto block_03A2; + + block_039B: + axis = 0; + + block_03A2: + if (axis != 0) goto block_040D; + + block_03AD: + class_0A0C_slot_3F(((h / w) * w)); + q = retval; + /* mod */ + class_0A0C_slot_3F(h, w); + r = retval; + if (w < 0) goto block_03E9; + + block_03DF: + ovel = (-1 * vel); + + block_03E9: + if (h < 0) goto block_03FB; + + block_03F4: + minor = -1; + + block_03FB: + class_0A0C_slot_3F(w); + oabs = retval; + goto block_046A; + + block_040D: + class_0A0C_slot_3F(((w / h) * h)); + q = retval; + /* mod */ + class_0A0C_slot_3F(w, h); + r = retval; + if (h < 0) goto block_0449; + + block_043F: + ovel = (-1 * vel); + + block_0449: + if (w < 0) goto block_045B; + + block_0454: + minor = -1; + + block_045B: + class_0A0C_slot_3F(h); + oabs = retval; + + block_046A: + suspend; + zcur = (z & 0x00FF); + ztarg = (destZ & 0x00FF); + if (zcur != ztarg) goto block_04EC; + + block_0498: + class_0A0C_slot_3F((ztarg - zcur)); + dif = ((retval / 20) + 1); + if (dif != 0) goto block_04BF; + + block_04BB: + dif = 1; + + block_04BF: + if (zcur < ztarg) goto block_04D7; + + block_04CA: + z = (z + dif); + goto block_04EC; + + block_04D7: + zcur = (zcur - dif); + z = (zcur & 0x00FF); + + block_04EC: + if (c >= oabs) goto block_0555; + + block_04F7: + if (zcur > (ztarg - 2)) goto block_051D; + + block_0505: + if (zcur < (ztarg + 2)) goto block_051D; + + block_0513: + /* word_to_dword */ + /* pop_result */ + goto block_067E; + + block_051D: + currentP = x; + local_03 = y; + local_01 = z; + if (!Item.pop(0, 1, currentP, arg_06)) goto block_0552; + + block_0548: + /* word_to_dword */ + /* pop_result */ + goto block_067E; + + block_0552: + goto block_067B; + + block_0555: + c = (c + vel); + if (axis != 0) goto block_05F4; + + block_056A: + currentP = x; + local_03 = y; + local_01 = z; + if (!Item.pop(0, 1, currentP, arg_06)) goto block_059F; + + block_0595: + /* word_to_dword */ + /* pop_result */ + goto block_067E; + + block_059F: + x = (x + ovel); + v = 1; + + block_05B0: + if (v <= vel) goto block_05F1; + + block_05B8: + counter = (counter + (r + q)); + if (counter >= oabs) goto block_05E4; + + block_05D0: + counter = (counter - oabs); + y = (y + minor); + + block_05E4: + v = (1 + v); + goto block_05B0; + + block_05F1: + goto block_067B; + + block_05F4: + currentP = x; + local_03 = y; + local_01 = z; + if (!Item.pop(0, 1, currentP, arg_06)) goto block_0629; + + block_061F: + /* word_to_dword */ + /* pop_result */ + goto block_067E; + + block_0629: + y = (y + ovel); + v = 1; + + block_063A: + if (v <= vel) goto block_067B; + + block_0642: + counter = (counter + (r + q)); + if (counter >= oabs) goto block_066E; + + block_065A: + counter = (counter - oabs); + x = (x + minor); + + block_066E: + v = (1 + v); + goto block_063A; + + block_067B: + goto block_046A; + + block_067E: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_26_slot_26.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_26_slot_26.txt new file mode 100644 index 0000000..0e2d917 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_26_slot_26.txt @@ -0,0 +1,183 @@ +function item_slot_26() /* entry=400 class_id=0x0A1E slot=0x26 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + destX, /* [BP+0Ah] type=0x69 */ + destY, /* [BP+0Ch] type=0x69 */ + destZ, /* [BP+0Eh] type=0x62 */ + vel, /* [BP+10h] type=0x69 */ + x, /* [BP-02h] type=0x69 */ + y, /* [BP-04h] type=0x69 */ + z, /* [BP-05h] type=0x62 */ + w, /* [BP-07h] type=0x69 */ + h, /* [BP-09h] type=0x69 */ + counter, /* [BP-0Bh] type=0x69 */ + minor, /* [BP-0Dh] type=0x69 */ + r, /* [BP-0Fh] type=0x69 */ + q, /* [BP-11h] type=0x69 */ + oabs, /* [BP-13h] type=0x69 */ + v, /* [BP-15h] type=0x69 */ + ovel, /* [BP-17h] type=0x69 */ + c, /* [BP-19h] type=0x69 */ + axis, /* [BP-1Bh] type=0x69 */ + ztarg, /* [BP-1Dh] type=0x69 */ + zcur, /* [BP-1Fh] type=0x69 */ + dif; /* [BP-21h] type=0x69 */ + + entry: + set_info(1, *(arg_06)); + x = Intrinsic0013(arg_06); + y = Item.legal_create(arg_06); + z = Item.getZ(arg_06); + w = ((destX - x) + 1); + h = ((destY - y) + 1); + counter = 0; + minor = 1; + ovel = vel; + c = 0; + axis = 1; + class_0A0C_slot_3F(w); + class_0A0C_slot_3F(retval, h); + if retval goto block_07E7; + + block_07E0: + axis = 0; + + block_07E7: + if (axis != 0) goto block_0852; + + block_07F2: + class_0A0C_slot_3F(((h / w) * w)); + q = retval; + /* mod */ + class_0A0C_slot_3F(h, w); + r = retval; + if (w < 0) goto block_082E; + + block_0824: + ovel = (-1 * vel); + + block_082E: + if (h < 0) goto block_0840; + + block_0839: + minor = -1; + + block_0840: + class_0A0C_slot_3F(w); + oabs = retval; + goto block_08AF; + + block_0852: + class_0A0C_slot_3F(((w / h) * h)); + q = retval; + /* mod */ + class_0A0C_slot_3F(w, h); + r = retval; + if (h < 0) goto block_088E; + + block_0884: + ovel = (-1 * vel); + + block_088E: + if (w < 0) goto block_08A0; + + block_0899: + minor = -1; + + block_08A0: + class_0A0C_slot_3F(h); + oabs = retval; + + block_08AF: + suspend; + zcur = (z & 0x00FF); + ztarg = (destZ & 0x00FF); + if (zcur != ztarg) goto block_0931; + + block_08DD: + class_0A0C_slot_3F((ztarg - zcur)); + dif = ((retval / 20) + 1); + if (dif != 0) goto block_0904; + + block_0900: + dif = 1; + + block_0904: + if (zcur < ztarg) goto block_091C; + + block_090F: + z = (z + dif); + goto block_0931; + + block_091C: + zcur = (zcur - dif); + z = (zcur & 0x00FF); + + block_0931: + if (c >= oabs) goto block_0972; + + block_093C: + if (zcur > (ztarg - 2)) goto block_095E; + + block_094A: + if (zcur < (ztarg + 2)) goto block_095E; + + block_0958: + goto block_0A53; + + block_095E: + goto block_0A50; + + block_0972: + c = (c + vel); + if (axis != 0) goto block_09ED; + + block_0987: + x = (x + ovel); + v = 1; + + block_09A9: + if (v <= vel) goto block_09EA; + + block_09B1: + counter = (counter + (r + q)); + if (counter >= oabs) goto block_09DD; + + block_09C9: + counter = (counter - oabs); + y = (y + minor); + + block_09DD: + v = (1 + v); + goto block_09A9; + + block_09EA: + goto block_0A50; + + block_09ED: + y = (y + ovel); + v = 1; + + block_0A0F: + if (v <= vel) goto block_0A50; + + block_0A17: + counter = (counter + (r + q)); + if (counter >= oabs) goto block_0A43; + + block_0A2F: + counter = (counter - oabs); + x = (x + minor); + + block_0A43: + v = (1 + v); + goto block_0A0F; + + block_0A50: + goto block_08AF; + + block_0A53: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_27_slot_27.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_27_slot_27.txt new file mode 100644 index 0000000..fd78ef5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_27_slot_27.txt @@ -0,0 +1,43 @@ +function item_slot_27() /* entry=400 class_id=0x0A1E slot=0x27 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + damageRef, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + maxHits, /* [BP+0Eh] type=0x69 */ + damagePoints, /* [BP-02h] type=0x69 */ + currentHits, /* [BP-04h] type=0x69 */ + newHits; /* [BP-06h] type=0x69 */ + + entry: + set_info(1, *(arg_06)); + if (damageRef != 0x4000) goto block_0B3C; + + block_0B32: + /* word_to_dword */ + /* pop_result */ + goto block_0BA1; + + block_0B3C: + damagePoints = (vel & 0x00FF); + currentHits = Item.getNpcNum(arg_06); + newHits = (currentHits + damagePoints); + if (newHits >= maxHits) goto block_0B8A; + + block_0B70: + /* word_to_dword */ + /* pop_result */ + goto block_0BA1; + + block_0B87: + goto block_0BA1; + + block_0B8A: + /* word_to_dword */ + /* pop_result */ + goto block_0BA1; + + block_0BA1: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_28_slot_28.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_28_slot_28.txt new file mode 100644 index 0000000..6bc6a8f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_28_slot_28.txt @@ -0,0 +1,90 @@ +function item_slot_28() /* entry=400 class_id=0x0A1E slot=0x28 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + boomType, /* [BP+0Ah] type=0x69 */ + selfDestruct, /* [BP+0Ch] type=0x62 */ + item, /* [BP-02h] type=0x24 */ + origin, /* [BP-04h] type=0x24 */ + bigBomb, /* [BP-05h] type=0x62 */ + x, /* [BP-07h] type=0x69 */ + y; /* [BP-09h] type=0x69 */ + + entry: + set_info(0x020A, *(arg_06)); + if (*(arg_06) != 0x4000) goto block_0C30; + + block_0C2A: + goto block_0EF7; + + block_0C30: + bigBomb = 0; + x = Intrinsic0013(arg_06); + y = Item.legal_create(arg_06); + if (boomType != 1) goto block_0D4D; + + block_0C71: + if (Intrinsic00DA(2, 0) != 1) goto block_0CC0; + + block_0C82: + goto block_0D4A; + + block_0CC0: + if (Intrinsic00DA(2, 0) != 2) goto block_0D0F; + + block_0CD1: + goto block_0D4A; + + block_0D0F: + + block_0D4A: + goto block_0EC3; + + block_0D4D: + if (boomType != 2) goto block_0E2E; + + block_0D55: + if (Intrinsic00DA(2, 0) != 1) goto block_0DA3; + + block_0D66: + goto block_0E2B; + + block_0DA3: + if (Intrinsic00DA(2, 0) != 2) goto block_0DF1; + + block_0DB4: + goto block_0E2B; + + block_0DF1: + + block_0E2B: + goto block_0EC3; + + block_0E2E: + if (boomType != 0) goto block_0EC3; + + block_0E36: + if (Intrinsic00DA(1, 0) != 1) goto block_0E85; + + block_0E47: + goto block_0EC0; + + block_0E85: + + block_0EC0: + goto block_0EC3; + + block_0EC3: + origin = *(arg_06); + set_info(0x020A, 0); + if selfDestruct goto block_0EF7; + + block_0EDD: + if (origin != 0x4000) goto block_0EF7; + + block_0EEC: + + block_0EF7: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_29_slot_29.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_29_slot_29.txt new file mode 100644 index 0000000..a48bdcf --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_29_slot_29.txt @@ -0,0 +1,65 @@ +function item_slot_29() /* entry=400 class_id=0x0A1E slot=0x29 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + x, /* [BP-04h] type=0x69 */ + y, /* [BP-06h] type=0x69 */ + z, /* [BP-08h] type=0x69 */ + onSomething, /* [BP-09h] type=0x62 */ + failTest, /* [BP-0Ah] type=0x62 */ + theType; /* [BP-0Ch] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x2 */ + + block_0F7F: + if condition goto block_1055; + + block_0F82: + if Item.andStatus(item, arg_06) goto block_1051; + + block_0F93: + if (z > 1) goto block_0FBC; + + block_0FAF: + failTest = 1; + goto block_1055; + + block_0FBC: + theType = Intrinsic0016(item); + if (((((((((theType != 95) || (theType != 0x0096)) || (theType != 0x0132)) || (theType != 0x04CD)) || (theType != 0x0366)) || (theType != 0x0365)) || (theType != 0x0290)) || (theType != 0x0336)) || (theType != 0x0150)) goto block_104A; + + block_103D: + failTest = 1; + goto block_1055; + + block_104A: + onSomething = 1; + + block_1051: + /* loopnext */ + goto block_0F7F; + + block_1055: + if ((failTest != 1) || (onSomething != 0)) goto block_1078; + + block_106B: + /* word_to_dword */ + /* pop_result */ + goto block_1082; + + block_1075: + goto block_1082; + + block_1078: + /* word_to_dword */ + /* pop_result */ + goto block_1082; + + block_1082: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2A_slot_2A.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2A_slot_2A.txt new file mode 100644 index 0000000..7b56783 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2A_slot_2A.txt @@ -0,0 +1,25 @@ +function item_slot_2A() /* entry=400 class_id=0x0A1E slot=0x2A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + onFloor, /* [BP-03h] type=0x62 */ + x, /* [BP-05h] type=0x69 */ + y, /* [BP-07h] type=0x69 */ + z, /* [BP-09h] type=0x69 */ + burn; /* [BP-0Bh] type=0x24 */ + + set_info(0x0001, *(arg_06)); + spawn class_0A1E_slot_29(pid, arg_06); + suspend; + /* dword_to_word */ + if ((!process_result)) { + if ((x != 1) || (x == 2)) { + spawn class_0A1E_slot_2B(burn); + } + else if ((x != 3) || (x == 4)) { + spawn class_0A1E_slot_2B(burn); + } + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2B_slot_2B.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2B_slot_2B.txt new file mode 100644 index 0000000..7359e54 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2B_slot_2B.txt @@ -0,0 +1,69 @@ +function item_slot_2B() /* entry=400 class_id=0x0A1E slot=0x2B */ +{ + var + referent, /* [BP+00h] type=0x69 */ + burn, /* [BP-02h] type=0x24 */ + burn2; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x0001, *(arg_06)); + spawn class_0A0C_slot_32(Intrinsic00DA(pid, 0x00C8, 100), 0x00000000); + suspend; + burn2 = *(arg_06); + if (Intrinsic0016(burn2) != 0x0456) goto block_14DD; + + block_1421: + set_info(0x00F0, burn); + if Item.getQHi() goto block_14CF; + + block_1484: + if ((Item.getFrame(burn) != 9) && (Intrinsic0007(arg_06) != 1)) goto block_14CF; + + block_14A6: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_1484; + + block_14CF: + goto block_1675; + + block_14DD: + if (Intrinsic0016(burn2) != 0x044A) goto block_15A9; + + block_14ED: + set_info(0x00F0, burn); + if Item.getQHi() goto block_159B; + + block_1550: + if ((Item.getFrame(burn) != 9) && (Intrinsic0007(arg_06) != 1)) goto block_159B; + + block_1572: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_1550; + + block_159B: + goto block_1675; + + block_15A9: + if (Intrinsic0016(burn2) != 0x0085) goto block_1675; + + block_15B9: + set_info(0x00F0, burn); + if Item.getQHi() goto block_1667; + + block_161C: + if ((Item.getFrame(burn) != 9) && (Intrinsic0007(arg_06) != 1)) goto block_1667; + + block_163E: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_161C; + + block_1667: + goto block_1675; + + block_1675: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2C_slot_2C.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2C_slot_2C.txt new file mode 100644 index 0000000..d6a4064 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2C_slot_2C.txt @@ -0,0 +1,38 @@ +function item_slot_2C() /* entry=400 class_id=0x0A1E slot=0x2C */ +{ + var + referent, /* [BP+00h] type=0x69 */ + n; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0001, *(arg_06)); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x2 */ + + block_16C6: + if condition goto block_1701; + + block_16C9: + if (n < 0x00FF) goto block_16FD; + + block_16D8: + if ((n > 1) && (Intrinsic00C3(n) != 0)) goto block_16FD; + + block_16F3: + /* word_to_dword */ + /* pop_result */ + goto block_170D; + + block_16FD: + /* loopnext */ + goto block_16C6; + + block_1701: + /* word_to_dword */ + /* pop_result */ + goto block_170D; + + block_170D: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2D_slot_2D.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2D_slot_2D.txt new file mode 100644 index 0000000..4cd866e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2D_slot_2D.txt @@ -0,0 +1,118 @@ +function item_slot_2D() /* entry=400 class_id=0x0A1E slot=0x2D */ +{ + var + referent, /* [BP+00h] type=0x69 */ + egg1, /* [BP+0Ah] type=0x69 */ + var, /* [BP+0Ch] type=0x69 */ + monster1, /* [BP-02h] type=0x24 */ + monster2, /* [BP-04h] type=0x24 */ + link, /* [BP-06h] type=0x69 */ + a, /* [BP-08h] type=0x69 */ + newNpc, /* [BP-0Ah] type=0x24 */ + npc, /* [BP-0Ch] type=0x24 */ + ref; /* [BP-0Eh] type=0x69 */ + + entry: + set_info(0x021B, 0); + monster1 = egg1; + if (Item.getFrame(monster1) != 0) goto block_175C; + + block_1756: + goto block_19BA; + + block_175C: + link = Item.getNpcNum(monster1); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_1786: + if condition goto block_19B8; + + block_1789: + if (Item.getNpcNum(monster2) != link) goto block_19B4; + + block_179B: + if (Item.getFrame(monster2) != 1) goto block_19B4; + + block_17AD: + if ((var != 2) || (var != 3)) goto block_193C; + + block_17C1: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF4 string_bytes=0x6 loop_type=0x2 */ + + block_17DC: + if condition goto block_1832; + + block_17DF: + if Item.isNpc(npc) goto block_182E; + + block_17EE: + if ((Item.getZ(npc) > (Item.getZ(arg_06) - 10)) && (Item.getZ(npc) < (Item.getZ(arg_06) + 10))) goto block_182E; + + block_1824: + /* word_to_dword */ + /* pop_result */ + goto block_19BA; + + block_182E: + /* loopnext */ + goto block_17DC; + + block_1832: + ref = Item.andStatus(monster2, arg_06); + if ref goto block_1939; + + block_184C: + newNpc = ref; + a = (Item.getNpcNum(monster1) & 15); + if ((a != 2) || (a != 4)) goto block_1939; + + block_1878: + suspend; + + block_18FF: + if Item.touch(48, arg_06) goto block_1939; + + block_1910: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_18FF; + + block_1939: + goto block_1968; + + block_193C: + ref = Item.andStatus(monster2, arg_06); + if ref goto block_1968; + + block_1954: + newNpc = ref; + + block_1968: + if ((var != 0) || (var != 2)) goto block_19AA; + + block_197C: + spawn class_0A1E_slot_2E(monster2, monster1, arg_06); + + block_19AA: + /* word_to_dword */ + /* pop_result */ + goto block_19BA; + + block_19B4: + /* loopnext */ + goto block_1786; + + block_19B8: + + block_19BA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2E_slot_2E.txt b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2E_slot_2E.txt new file mode 100644 index 0000000..e8cd256 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ITEM/slot_2E_slot_2E.txt @@ -0,0 +1,18 @@ +function item_slot_2E() /* entry=400 class_id=0x0A1E slot=0x2E */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref1, /* [BP+0Ah] type=0x69 */ + ref2, /* [BP+0Ch] type=0x69 */ + item1, /* [BP-02h] type=0x24 */ + item2; /* [BP-04h] type=0x24 */ + + entry: + set_info(1, 0); + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + item1 = ref1; + item2 = ref2; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/JELYH2/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/JELYH2/slot_01_use.txt new file mode 100644 index 0000000..0587d69 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/JELYH2/slot_01_use.txt @@ -0,0 +1,8 @@ +function jelyh2_use() /* entry=280 class_id=0x04D6 slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/JELYHACK/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/JELYHACK/slot_01_use.txt new file mode 100644 index 0000000..6f69441 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/JELYHACK/slot_01_use.txt @@ -0,0 +1,8 @@ +function jelyhack_use() /* entry=277 class_id=0x04D3 slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/JOHN/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/JOHN/slot_01_use.txt new file mode 100644 index 0000000..765cc8c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/JOHN/slot_01_use.txt @@ -0,0 +1,13 @@ +function john_use() /* entry=86 class_id=0x01AD slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) < 2) goto block_010D; + + block_0100: + + block_010D: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/JOHN/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/JOHN/slot_04_cachein.txt new file mode 100644 index 0000000..b1a3ddc --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/JOHN/slot_04_cachein.txt @@ -0,0 +1,19 @@ +function john_cachein() /* entry=86 class_id=0x01AD slot=0x04 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + fram; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + fram = Item.getFrame(arg_06); + if (fram > 1) goto block_0162; + + block_0153: + class_0A1E_slot_23(0x1000, arg_06); + + block_0162: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/KEYPAD/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/KEYPAD/slot_20_slot_20.txt new file mode 100644 index 0000000..7e2573e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/KEYPAD/slot_20_slot_20.txt @@ -0,0 +1,78 @@ +function keypad_slot_20() /* entry=384 class_id=0x0A0E slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + valueBox, /* [BP-02h] type=0x24 */ + boxesInArea, /* [BP-04h] type=0x69 */ + linkedWithSwitch, /* [BP-05h] type=0x62 */ + wrongCode, /* [BP-06h] type=0x62 */ + userInput, /* [BP-08h] type=0x69 */ + boxPasscode, /* [BP-0Ah] type=0x69 */ + keycode; /* [BP-0Ch] type=0x69 */ + + entry: + set_info(0x0207, *(arg_06)); + wrongCode = 0; + userInput = 0; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_011C: + if condition goto block_0163; + + block_011F: + if (Item.getQHi(valueBox) != Item.getQHi(arg_06)) goto block_015F; + + block_013B: + class_0A19_slot_20(valueBox); + boxPasscode = retval; + if (boxPasscode > 0x03E7) goto block_015F; + + block_0159: + goto block_02AB; + + block_015F: + /* loopnext */ + goto block_011C; + + block_0163: + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_02AB; + + block_017B: + keycode = Item.getQHi(boxPasscode); + if (keycode != -1) goto block_01BA; + + block_01A5: + /* bit_not */ + goto block_02AB; + + block_01BA: + if (keycode != boxPasscode) goto block_022F; + + block_01C5: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_029C; + + block_022F: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + if (!Intrinsic0000()) goto block_029C; + + block_028B: + spawn class_0A0C_slot_3B(0x00000000); + + block_029C: + /* bit_not */ + + block_02AB: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/KEYPADEW/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/KEYPADEW/slot_01_use.txt new file mode 100644 index 0000000..2ced804 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/KEYPADEW/slot_01_use.txt @@ -0,0 +1,47 @@ +function keypadew_use() /* entry=243 class_id=0x044C slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + alreadyPassed; /* [BP-01h] type=0x62 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getMapNum(arg_06) != 0) goto block_01CA; + + block_00FD: + alreadyPassed = (Item.getStatus(arg_06) & 4); + if (alreadyPassed != 0) goto block_01A0; + + block_0119: + if Intrinsic0000() goto block_017E; + + block_0124: + + block_0131: + if Item.touch(123, arg_06) goto block_016B; + + block_0142: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0131; + + block_016B: + goto block_01CA; + + block_017E: + spawn class_0A0E_slot_20(pid, arg_06); + suspend; + goto block_01C7; + + block_01A0: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_01C7: + goto block_01CA; + + block_01CA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/KEYPADNS/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/KEYPADNS/slot_01_use.txt new file mode 100644 index 0000000..cd5377b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/KEYPADNS/slot_01_use.txt @@ -0,0 +1,47 @@ +function keypadns_use() /* entry=242 class_id=0x044B slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + alreadyPassed; /* [BP-01h] type=0x62 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getMapNum(arg_06) != 0) goto block_01CA; + + block_00FD: + alreadyPassed = (Item.getStatus(arg_06) & 4); + if (alreadyPassed != 0) goto block_01A0; + + block_0119: + if Intrinsic0000() goto block_017E; + + block_0124: + + block_0131: + if Item.touch(123, arg_06) goto block_016B; + + block_0142: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0131; + + block_016B: + goto block_01CA; + + block_017E: + spawn class_0A0E_slot_20(pid, arg_06); + suspend; + goto block_01C7; + + block_01A0: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_01C7: + goto block_01CA; + + block_01CA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/KORESH/slot_0E_calledFromAnim.txt b/USECODE/EUSECODE_extracted/pseudocode/KORESH/slot_0E_calledFromAnim.txt new file mode 100644 index 0000000..9c7746d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/KORESH/slot_0E_calledFromAnim.txt @@ -0,0 +1,15 @@ +function koresh_calledFromAnim() /* entry=327 class_id=0x0576 slot=0x0E */ +{ + var + referent, /* [BP+00h] type=0x69 */ + n; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + n = *(arg_06); + set_info(1, 0); + spawn class_0A1C_slot_20(Item.getQLo(arg_06), *(arg_06), n); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/KORESH/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/KORESH/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..4ff4380 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/KORESH/slot_0F_enterFastArea.txt @@ -0,0 +1,11 @@ +function koresh_enterFastArea() /* entry=327 class_id=0x0576 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + spawn class_0A1C_slot_20(Item.getQLo(arg_06), *(arg_06), arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LANDMINE/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/LANDMINE/slot_01_use.txt new file mode 100644 index 0000000..90a581c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LANDMINE/slot_01_use.txt @@ -0,0 +1,232 @@ +function landmine_use() /* entry=206 class_id=0x039A slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + InCrouch, /* [BP-01h] type=0x62 */ + landMine, /* [BP-03h] type=0x24 */ + item, /* [BP-05h] type=0x24 */ + xOff, /* [BP-07h] type=0x69 */ + yOff, /* [BP-09h] type=0x69 */ + mine, /* [BP-0Bh] type=0x24 */ + wp; /* [BP-10h] type=0x24 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + landMine = *(arg_06); + /* global_address global_id=0x3C */ + if (Item.getType() != 40) goto block_013E; + + block_010A: + goto block_0502; + + block_013E: + set_info(0x00F0, 0); + + block_0152: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_0188; + + block_0162: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0152; + + block_0188: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 0) goto block_01A6; + + block_0198: + xOff = -1; + yOff = -3; + goto block_0368; + + block_01A6: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 1) goto block_01C4; + + block_01B6: + xOff = 0; + yOff = -3; + goto block_0368; + + block_01C4: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 2) goto block_01E2; + + block_01D4: + xOff = 2; + yOff = -3; + goto block_0368; + + block_01E2: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 3) goto block_0200; + + block_01F2: + xOff = 2; + yOff = -2; + goto block_0368; + + block_0200: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 4) goto block_021E; + + block_0210: + xOff = 2; + yOff = -1; + goto block_0368; + + block_021E: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 5) goto block_023C; + + block_022E: + xOff = 2; + yOff = 0; + goto block_0368; + + block_023C: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 6) goto block_025A; + + block_024C: + xOff = 2; + yOff = 2; + goto block_0368; + + block_025A: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 7) goto block_0278; + + block_026A: + xOff = 0; + yOff = 2; + goto block_0368; + + block_0278: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 8) goto block_0296; + + block_0288: + xOff = -1; + yOff = 2; + goto block_0368; + + block_0296: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 9) goto block_02B4; + + block_02A6: + xOff = -2; + yOff = 2; + goto block_0368; + + block_02B4: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 10) goto block_02D2; + + block_02C4: + xOff = -3; + yOff = 2; + goto block_0368; + + block_02D2: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 11) goto block_02F0; + + block_02E2: + xOff = -3; + yOff = 1; + goto block_0368; + + block_02F0: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 12) goto block_030E; + + block_0300: + xOff = -3; + yOff = 0; + goto block_0368; + + block_030E: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 13) goto block_032C; + + block_031E: + xOff = -3; + yOff = -1; + goto block_0368; + + block_032C: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 14) goto block_034A; + + block_033C: + xOff = -3; + yOff = -2; + goto block_0368; + + block_034A: + /* global_address global_id=0x3C */ + if (Intrinsic00FA() != 15) goto block_0368; + + block_035A: + xOff = -3; + yOff = -3; + goto block_0368; + + block_0368: + /* global_address global_id=0x3C */ + if Intrinsic0035() goto block_0382; + + block_0378: + InCrouch = 1; + goto block_03B9; + + block_0382: + InCrouch = 0; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + + block_03B9: + /* global_address global_id=0x3C */ + wp = (Intrinsic0013() + (xOff * 16)); + /* global_address global_id=0x3C */ + local_0E = (Item.legal_create() + (yOff * 16)); + /* global_address global_id=0x3C */ + local_0C = Item.getZ(); + if Item.getSurfaceWeight(wp, 0, 0x039A, mine) goto block_0416; + + block_0408: + goto block_048E; + + block_0416: + if (!InCrouch) goto block_047D; + + block_044D: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + + block_047D: + goto block_0502; + + block_048E: + if (!InCrouch) goto block_04C7; + + block_0497: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + + block_04C7: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + + block_0502: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LANDMINE/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/LANDMINE/slot_06_gotHit.txt new file mode 100644 index 0000000..4d77ce6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LANDMINE/slot_06_gotHit.txt @@ -0,0 +1,46 @@ +function landmine_gotHit() /* entry=206 class_id=0x039A slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + hType, /* [BP-02h] type=0x69 */ + item; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (ref != 1) goto block_0585; + + block_057F: + goto block_05F3; + + block_0585: + class_0A0C_slot_2C(vel, ref); + hType = retval; + if hType goto block_05CA; + + block_059E: + if (hType != 4) goto block_05B8; + + block_05AF: + goto block_05F3; + + block_05B5: + goto block_05C7; + + block_05B8: + + block_05C7: + goto block_05F3; + + block_05CA: + item = ref; + if Item.setQuality(*(arg_06), item) goto block_05F3; + + block_05E4: + + block_05F3: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LASERI/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/LASERI/slot_06_gotHit.txt new file mode 100644 index 0000000..d3b7979 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LASERI/slot_06_gotHit.txt @@ -0,0 +1,28 @@ +function laseri_gotHit() /* entry=108 class_id=0x01D5 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + laser, /* [BP-02h] type=0x24 */ + hType, /* [BP-04h] type=0x69 */ + QLo, /* [BP-06h] type=0x69 */ + p; /* [BP-08h] type=0x69 */ + + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + hType = retval; + QLo = Item.getQHi(arg_06); + class_0A0C_slot_2C(vel, ref); + if ((!retval)) { + spawn class_0A1E_slot_27(pid, 50, vel, ref, arg_06); + suspend; + /* dword_to_word */ + p = process_result; + if ((hType == 4) && (!p)) { + } + return; + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LAZER/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/LAZER/slot_20_slot_20.txt new file mode 100644 index 0000000..74217b0 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LAZER/slot_20_slot_20.txt @@ -0,0 +1,107 @@ +function lazer_slot_20() /* entry=385 class_id=0x0A0F slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + monster, /* [BP-04h] type=0x24 */ + dir; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x0205, *(arg_06)); + set_info(0x0205, *(arg_06)); + if ((Item.getStatus(arg_06) & 0x1000) || (Item.getFrame(arg_06) != 0)) goto block_0121; + + block_011B: + goto block_0301; + + block_0121: + class_0A1E_slot_23(0x1000, arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x48 */ + /* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */ + + block_016B: + if condition goto block_019D; + + block_016E: + if (Item.getQHi(arg_06) != Item.getQHi(item)) goto block_0199; + + block_018A: + class_0A1E_slot_23(0x1000, item); + + block_0199: + /* loopnext */ + goto block_016B; + + block_019D: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_01BC: + if condition goto block_0281; + + block_01BF: + if (monster <= 0x0100) goto block_027D; + + block_01CE: + if Item.overlaps(monster, arg_06) goto block_027D; + + block_01DF: + if (monster != Item.pop()) goto block_0258; + + block_01F0: + dir = Intrinsic00FA(monster); + if (dir < 8) goto block_0219; + + block_020C: + dir = (dir + 8); + goto block_0223; + + block_0219: + dir = (dir - 8); + + block_0223: + class_0A11_slot_2B(monster); + if (!retval) goto block_0255; + + block_0237: + + block_0255: + goto block_027D; + + block_0258: + spawn class_0A11_slot_2C(pid, *(arg_06), monster); + suspend; + + block_027D: + /* loopnext */ + goto block_01BC; + + block_0281: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x48 */ + /* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */ + + block_02BE: + if condition goto block_02F0; + + block_02C1: + if (Item.getQHi(arg_06) != Item.getQHi(item)) goto block_02EC; + + block_02DD: + class_0A1E_slot_24(0x1000, item); + + block_02EC: + /* loopnext */ + goto block_02BE; + + block_02F0: + class_0A1E_slot_24(0x1000, arg_06); + + block_0301: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LAZEREGG/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/LAZEREGG/slot_07_hatch.txt new file mode 100644 index 0000000..511cc4e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LAZEREGG/slot_07_hatch.txt @@ -0,0 +1,44 @@ +function lazeregg_hatch() /* entry=352 class_id=0x090C slot=0x07 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + laser, /* [BP-02h] type=0x24 */ + id; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + id = 0; + id = Intrinsic003F(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_011E: + if condition goto block_0169; + + block_0121: + if (Item.getFrame(laser) != 1) goto block_013F; + + block_0136: + goto block_016B; + + block_013C: + goto block_0165; + + block_013F: + spawn class_0A0C_slot_31(pid, laser, 0x00000000); + suspend; + + block_0165: + /* loopnext */ + goto block_011E; + + block_0169: + + block_016B: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LAZEREW/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/LAZEREW/slot_0A_equip.txt new file mode 100644 index 0000000..3f09a97 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LAZEREW/slot_0A_equip.txt @@ -0,0 +1,33 @@ +function lazerew_equip() /* entry=83 class_id=0x019C slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) < 4) goto block_046D; + + block_03C9: + if (arg_0A != 1) goto block_03E8; + + block_03D7: + spawn class_019C_slot_20(arg_06); + goto block_046D; + + block_03E8: + if (arg_0A > 1) goto block_044D; + + block_03F6: + spawn class_019C_slot_20(arg_06); + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + class_0A1E_slot_24(0x1000, arg_06); + class_0A0C_slot_33(0x0205, *(arg_06)); + goto block_046D; + + block_044D: + class_0A1E_slot_24(0x1000, arg_06); + class_0A0C_slot_33(0x0205, *(arg_06)); + + block_046D: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LAZEREW/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/LAZEREW/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..d0c4dba --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LAZEREW/slot_10_leaveFastArea.txt @@ -0,0 +1,10 @@ +function lazerew_leaveFastArea() /* entry=83 class_id=0x019C slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A1E_slot_24(0x1000, arg_06); + class_0A0C_slot_33(0x0205, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LAZEREW/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/LAZEREW/slot_20_slot_20.txt new file mode 100644 index 0000000..115b7e9 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LAZEREW/slot_20_slot_20.txt @@ -0,0 +1,52 @@ +function lazerew_slot_20() /* entry=83 class_id=0x019C slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + item, /* [BP-04h] type=0x24 */ + x, /* [BP-06h] type=0x69 */ + y; /* [BP-08h] type=0x69 */ + + entry: + set_info(0x0205, *(arg_06)); + if (Item.getStatus(arg_06) & 0x1000) goto block_010F; + + block_0109: + goto block_0322; + + block_010F: + class_0A1E_slot_23(0x1000, arg_06); + fram = Item.getFrame(arg_06); + + block_012C: + suspend; + if (fram != 1) goto block_01A0; + + block_0141: + goto block_02F0; + + block_01A0: + if (fram != 2) goto block_0207; + + block_01A8: + goto block_02F0; + + block_0207: + if (fram != 3) goto block_0294; + + block_020F: + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + goto block_02F0; + + block_0294: + + block_02F0: + spawn class_0A0C_slot_32(pid, ((5 - Intrinsic0029()) * 20), 0x00000000); + suspend; + goto block_012C; + + block_0322: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LAZERNS/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/LAZERNS/slot_0A_equip.txt new file mode 100644 index 0000000..1da2c9e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LAZERNS/slot_0A_equip.txt @@ -0,0 +1,33 @@ +function lazerns_equip() /* entry=82 class_id=0x019B slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) < 4) goto block_046A; + + block_03C6: + if (arg_0A != 1) goto block_03E5; + + block_03D4: + spawn class_019B_slot_20(arg_06); + goto block_046A; + + block_03E5: + if (arg_0A > 1) goto block_044A; + + block_03F3: + spawn class_019B_slot_20(arg_06); + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + class_0A1E_slot_24(0x1000, arg_06); + class_0A0C_slot_33(0x0205, *(arg_06)); + goto block_046A; + + block_044A: + class_0A1E_slot_24(0x1000, arg_06); + class_0A0C_slot_33(0x0205, *(arg_06)); + + block_046A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LAZERNS/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/LAZERNS/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..fadaabf --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LAZERNS/slot_10_leaveFastArea.txt @@ -0,0 +1,10 @@ +function lazerns_leaveFastArea() /* entry=82 class_id=0x019B slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A1E_slot_24(0x1000, arg_06); + class_0A0C_slot_33(0x0205, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LAZERNS/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/LAZERNS/slot_20_slot_20.txt new file mode 100644 index 0000000..35e9349 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LAZERNS/slot_20_slot_20.txt @@ -0,0 +1,52 @@ +function lazerns_slot_20() /* entry=82 class_id=0x019B slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + item, /* [BP-04h] type=0x24 */ + x, /* [BP-06h] type=0x69 */ + y; /* [BP-08h] type=0x69 */ + + entry: + set_info(0x0205, *(arg_06)); + if (Item.getStatus(arg_06) & 0x1000) goto block_010F; + + block_0109: + goto block_031F; + + block_010F: + class_0A1E_slot_23(0x1000, arg_06); + fram = Item.getFrame(arg_06); + + block_012C: + suspend; + if (fram != 1) goto block_01A0; + + block_0141: + goto block_02ED; + + block_01A0: + if (fram != 2) goto block_0207; + + block_01A8: + goto block_02ED; + + block_0207: + if (fram != 3) goto block_0294; + + block_020F: + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + goto block_02ED; + + block_0294: + + block_02ED: + spawn class_0A0C_slot_32(pid, ((5 - Intrinsic0029()) * 20), 0x00000000); + suspend; + goto block_012C; + + block_031F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LIFT/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/LIFT/slot_01_use.txt new file mode 100644 index 0000000..b59328c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LIFT/slot_01_use.txt @@ -0,0 +1,26 @@ +function lift_use() /* entry=52 class_id=0x0133 slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Intrinsic007E(arg_06) != 10) goto block_0591; + + block_0545: + spawn class_0133_slot_20(pid, arg_06); + suspend; + /* global_address global_id=0x3C */ + suspend; + goto block_05C2; + + block_0591: + if (Intrinsic007E(arg_06) != 20) goto block_05C2; + + block_05A0: + spawn class_0133_slot_20(pid, arg_06); + suspend; + goto block_05C2; + + block_05C2: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LIFT/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/LIFT/slot_06_gotHit.txt new file mode 100644 index 0000000..da00bd3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LIFT/slot_06_gotHit.txt @@ -0,0 +1,19 @@ +function lift_gotHit() /* entry=52 class_id=0x0133 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + class_0A0C_slot_2C(vel, ref); + if (retval) { + if (ref == 1) { + } + return; + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LIFT/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/LIFT/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..4dca367 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LIFT/slot_0F_enterFastArea.txt @@ -0,0 +1,34 @@ +function lift_enterFastArea() /* entry=52 class_id=0x0133 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Intrinsic007E(arg_06) != 2) goto block_0192; + + block_0100: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + spawn class_0133_slot_20(arg_06); + suspend; + goto block_0233; + + block_0192: + if (Intrinsic007E(arg_06) != 20) goto block_0233; + + block_01A1: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + spawn class_0133_slot_20(arg_06); + suspend; + goto block_0233; + + block_0233: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LIFT/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/LIFT/slot_20_slot_20.txt new file mode 100644 index 0000000..bcfce22 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LIFT/slot_20_slot_20.txt @@ -0,0 +1,81 @@ +function lift_slot_20() /* entry=52 class_id=0x0133 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter, /* [BP-02h] type=0x69 */ + total, /* [BP-04h] type=0x69 */ + alt, /* [BP-06h] type=0x69 */ + wp, /* [BP-0Bh] type=0x24 */ + cargo, /* [BP-0Dh] type=0x24 */ + cargoType; /* [BP-0Fh] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + alt = 1; + + block_05F2: + if (alt <= 47) goto block_077A; + + block_05FA: + wp = Intrinsic0013(arg_06); + local_09 = Item.legal_create(arg_06); + local_07 = (Item.getZ(arg_06) - 2); + total = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xF3 string_bytes=0x1 loop_type=0x6 */ + + block_063E: + if condition goto block_067B; + + block_0641: + cargoType = Intrinsic0016(cargo); + if (cargo != *(arg_06)) goto block_0677; + + block_0662: + total = (1 + total); + + block_0677: + /* loopnext */ + goto block_063E; + + block_067B: + if Item.pop(0, 1, wp, arg_06) goto block_070D; + + block_0692: + counter = 1; + + block_0699: + if (counter <= total) goto block_06E4; + + block_06A4: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_0699; + + block_06E4: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_076D; + + block_070D: + counter = 1; + + block_071F: + if (counter <= total) goto block_0767; + + block_072A: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_071F; + + block_0767: + goto block_077A; + + block_076D: + alt = (1 + alt); + goto block_05F2; + + block_077A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LIFTPIT/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/LIFTPIT/slot_06_gotHit.txt new file mode 100644 index 0000000..340e9de --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LIFTPIT/slot_06_gotHit.txt @@ -0,0 +1,20 @@ +function liftpit_gotHit() /* entry=155 class_id=0x02DE slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + n; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((ref < 0x00FF) && (ref != Item.pop())) goto block_010A; + + block_0103: + n = ref; + + block_010A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LITEWALL/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/LITEWALL/slot_20_slot_20.txt new file mode 100644 index 0000000..ced2002 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LITEWALL/slot_20_slot_20.txt @@ -0,0 +1,75 @@ +function litewall_slot_20() /* entry=386 class_id=0x0A10 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + r, /* [BP+0Ah] type=0x69 */ + wall, /* [BP-02h] type=0x24 */ + tempType, /* [BP-04h] type=0x69 */ + realType, /* [BP-06h] type=0x69 */ + counter; /* [BP-08h] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + set_info(1, r); + wall = r; + counter = 0; + if (Intrinsic0016(wall) != 0x045E) goto block_012F; + + block_011C: + realType = 0x045E; + tempType = 0x0462; + goto block_0198; + + block_012F: + if (Intrinsic0016(wall) != 0x045F) goto block_0152; + + block_013F: + realType = 0x045F; + tempType = 0x0463; + goto block_0198; + + block_0152: + if (Intrinsic0016(wall) != 0x0460) goto block_0175; + + block_0162: + realType = 0x0460; + tempType = 0x0464; + goto block_0198; + + block_0175: + if (Intrinsic0016(wall) != 0x0461) goto block_0198; + + block_0185: + realType = 0x0461; + tempType = 0x0465; + goto block_0198; + + block_0198: + + block_01A5: + if (counter < 4) goto block_01F3; + + block_01B3: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + counter = (1 + counter); + goto block_01A5; + + block_01F3: + spawn class_0A0C_slot_32(pid, 3, 0x00000000); + suspend; + + block_0219: + if counter goto block_0261; + + block_0221: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + counter = (counter - 1); + goto block_0219; + + block_0261: + /* pop_global global_id=0x5 size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LITEWALL/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/LITEWALL/slot_21_slot_21.txt new file mode 100644 index 0000000..fb014dc --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LITEWALL/slot_21_slot_21.txt @@ -0,0 +1,82 @@ +function litewall_slot_21() /* entry=386 class_id=0x0A10 slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + r, /* [BP+0Ah] type=0x69 */ + stepper, /* [BP-02h] type=0x24 */ + item, /* [BP-04h] type=0x24 */ + wall, /* [BP-06h] type=0x24 */ + wallList, /* [BP-08h] type=0x6C */ + x, /* [BP-0Ah] type=0x69 */ + y, /* [BP-0Ch] type=0x69 */ + z, /* [BP-0Dh] type=0x62 */ + dist, /* [BP-0Fh] type=0x69 */ + aSet, /* [BP-11h] type=0x69 */ + aSet1, /* [BP-13h] type=0x69 */ + aSet2, /* [BP-15h] type=0x69 */ + aSet3; /* [BP-17h] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + if global[0x0005] goto block_02ED; + + block_02EA: + goto block_044D; + + block_02ED: + stepper = r; + wall = 0; + dist = 21; + aSet = Item.isOn(stepper); + aSet1 = 3; + aSet2 = 48; + aSet3 = 49; + if (((Item.isOn(stepper) != 3) || (Item.isOn(stepper) != 48)) || (Item.isOn(stepper) != 49)) goto block_044D; + + block_035A: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFC string_bytes=0xA loop_type=0x2 */ + + block_0383: + if condition goto block_03CD; + + block_0386: + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xF8 target=[BP-08h] */ + wallList = item; + class_0A0C_slot_29(wallList, stepper, item); + if (retval < dist) goto block_03C9; + + block_03B1: + class_0A0C_slot_29(stepper, item); + dist = retval; + wall = item; + + block_03C9: + /* loopnext */ + goto block_0383; + + block_03CD: + if ((wall != 0) && (dist <= 2)) goto block_044D; + + block_03E3: + /* pop_global global_id=0x5 size=0x1 */ + + block_03F5: + foreach_list item -> block_0412; + + block_03FA: + spawn class_0A10_slot_20(item, arg_06); + goto block_03F5; + + block_0412: + spawn class_0A11_slot_2D(pid, Intrinsic00C7(wall, stepper), wall, stepper); + suspend; + + block_044D: + /* free_local_list bp_offset=0xF8 target=[BP-08h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LUGGAGE/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/LUGGAGE/slot_06_gotHit.txt new file mode 100644 index 0000000..9004976 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LUGGAGE/slot_06_gotHit.txt @@ -0,0 +1,60 @@ +function luggage_gotHit() /* entry=22 class_id=0x008F slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_0258; + + block_00FD: + spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_015D; + + block_012D: + class_0A0C_slot_20(1); + if retval goto block_014D; + + block_013D: + goto block_015A; + + block_014D: + + block_015A: + goto block_0258; + + block_015D: + spawn class_0A1E_slot_28(pid, 0, 0, arg_06); + suspend; + if (Item.getFrame(arg_06) != 1) goto block_01AD; + + block_0191: + goto block_021C; + + block_01AD: + if (Item.getFrame(arg_06) != 2) goto block_01D8; + + block_01BC: + goto block_021C; + + block_01D8: + if (Item.getFrame(arg_06) != 3) goto block_0203; + + block_01E7: + goto block_021C; + + block_0203: + + block_021C: + + block_0258: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LWPLATE4/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/LWPLATE4/slot_06_gotHit.txt new file mode 100644 index 0000000..08151a7 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LWPLATE4/slot_06_gotHit.txt @@ -0,0 +1,29 @@ +function lwplate4_gotHit() /* entry=254 class_id=0x0466 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + r, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, r); + if retval goto block_0103; + + block_00FD: + goto block_013B; + + block_0103: + item = r; + if (r != 1) goto block_013B; + + block_0118: + spawn class_0A10_slot_21(pid, r, arg_06); + suspend; + + block_013B: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/LWPLATE8/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/LWPLATE8/slot_06_gotHit.txt new file mode 100644 index 0000000..72970c1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/LWPLATE8/slot_06_gotHit.txt @@ -0,0 +1,29 @@ +function lwplate8_gotHit() /* entry=255 class_id=0x0467 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + r, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, r); + if retval goto block_0103; + + block_00FD: + goto block_013B; + + block_0103: + item = r; + if (r != 1) goto block_013B; + + block_0118: + spawn class_0A10_slot_21(pid, r, arg_06); + suspend; + + block_013B: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-16/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-16/slot_06_gotHit.txt new file mode 100644 index 0000000..6505eed --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-16/slot_06_gotHit.txt @@ -0,0 +1,23 @@ +function l_ew_16_gotHit() /* entry=106 class_id=0x01D3 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (ref != Item.pop()) goto block_0154; + + block_00F9: + spawn class_0A0F_slot_20(arg_06); + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + + block_0154: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-16/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-16/slot_0B_unequip.txt new file mode 100644 index 0000000..3f039bf --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-16/slot_0B_unequip.txt @@ -0,0 +1,13 @@ +function l_ew_16_unequip() /* entry=106 class_id=0x01D3 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01FA; + + block_01EC: + + block_01FA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-16/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-16/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..ecc4b06 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-16/slot_0F_enterFastArea.txt @@ -0,0 +1,13 @@ +function l_ew_16_enterFastArea() /* entry=106 class_id=0x01D3 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01AF; + + block_01A1: + + block_01AF: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-16/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-16/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..dc98508 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-16/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function l_ew_16_avatarStoleSomething() /* entry=106 class_id=0x01D3 slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-2/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-2/slot_06_gotHit.txt new file mode 100644 index 0000000..a6de796 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-2/slot_06_gotHit.txt @@ -0,0 +1,23 @@ +function l_ew_2_gotHit() /* entry=103 class_id=0x01D0 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (ref != Item.pop()) goto block_0154; + + block_00F9: + spawn class_0A0F_slot_20(arg_06); + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + + block_0154: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-2/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-2/slot_0B_unequip.txt new file mode 100644 index 0000000..b5d75fe --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-2/slot_0B_unequip.txt @@ -0,0 +1,13 @@ +function l_ew_2_unequip() /* entry=103 class_id=0x01D0 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01FA; + + block_01EC: + + block_01FA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-2/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-2/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..ccc2909 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-2/slot_0F_enterFastArea.txt @@ -0,0 +1,13 @@ +function l_ew_2_enterFastArea() /* entry=103 class_id=0x01D0 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01AF; + + block_01A1: + + block_01AF: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-2/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-2/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..32cd864 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-2/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function l_ew_2_avatarStoleSomething() /* entry=103 class_id=0x01D0 slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-4/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-4/slot_06_gotHit.txt new file mode 100644 index 0000000..32a3826 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-4/slot_06_gotHit.txt @@ -0,0 +1,23 @@ +function l_ew_4_gotHit() /* entry=104 class_id=0x01D1 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (ref != Item.pop()) goto block_0154; + + block_00F9: + spawn class_0A0F_slot_20(arg_06); + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + + block_0154: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-4/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-4/slot_0B_unequip.txt new file mode 100644 index 0000000..4541dae --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-4/slot_0B_unequip.txt @@ -0,0 +1,13 @@ +function l_ew_4_unequip() /* entry=104 class_id=0x01D1 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01FA; + + block_01EC: + + block_01FA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-4/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-4/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..b5d32dd --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-4/slot_0F_enterFastArea.txt @@ -0,0 +1,13 @@ +function l_ew_4_enterFastArea() /* entry=104 class_id=0x01D1 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01AF; + + block_01A1: + + block_01AF: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-4/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-4/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..8fa350a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-4/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function l_ew_4_avatarStoleSomething() /* entry=104 class_id=0x01D1 slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-8/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-8/slot_06_gotHit.txt new file mode 100644 index 0000000..6d5ef4e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-8/slot_06_gotHit.txt @@ -0,0 +1,23 @@ +function l_ew_8_gotHit() /* entry=105 class_id=0x01D2 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (ref != Item.pop()) goto block_0154; + + block_00F9: + spawn class_0A0F_slot_20(arg_06); + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + + block_0154: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-8/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-8/slot_0B_unequip.txt new file mode 100644 index 0000000..ca018c4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-8/slot_0B_unequip.txt @@ -0,0 +1,13 @@ +function l_ew_8_unequip() /* entry=105 class_id=0x01D2 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01FA; + + block_01EC: + + block_01FA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-8/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-8/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..a3652c8 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-8/slot_0F_enterFastArea.txt @@ -0,0 +1,13 @@ +function l_ew_8_enterFastArea() /* entry=105 class_id=0x01D2 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01AF; + + block_01A1: + + block_01AF: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_EW-8/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/L_EW-8/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..4e14975 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_EW-8/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function l_ew_8_avatarStoleSomething() /* entry=105 class_id=0x01D2 slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-16/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-16/slot_06_gotHit.txt new file mode 100644 index 0000000..744d3b3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-16/slot_06_gotHit.txt @@ -0,0 +1,23 @@ +function l_ns_16_gotHit() /* entry=102 class_id=0x01CF slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (ref != Item.pop()) goto block_0154; + + block_00F9: + spawn class_0A0F_slot_20(arg_06); + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + + block_0154: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-16/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-16/slot_0B_unequip.txt new file mode 100644 index 0000000..ab7ec07 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-16/slot_0B_unequip.txt @@ -0,0 +1,13 @@ +function l_ns_16_unequip() /* entry=102 class_id=0x01CF slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01FA; + + block_01EC: + + block_01FA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-16/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-16/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..101081e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-16/slot_0F_enterFastArea.txt @@ -0,0 +1,13 @@ +function l_ns_16_enterFastArea() /* entry=102 class_id=0x01CF slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01AF; + + block_01A1: + + block_01AF: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-16/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-16/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..6bef6df --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-16/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function l_ns_16_avatarStoleSomething() /* entry=102 class_id=0x01CF slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-2/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-2/slot_06_gotHit.txt new file mode 100644 index 0000000..a2aeea3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-2/slot_06_gotHit.txt @@ -0,0 +1,23 @@ +function l_ns_2_gotHit() /* entry=98 class_id=0x01CB slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (ref != Item.pop()) goto block_0154; + + block_00F9: + spawn class_0A0F_slot_20(arg_06); + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + + block_0154: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-2/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-2/slot_0B_unequip.txt new file mode 100644 index 0000000..1ddaeaa --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-2/slot_0B_unequip.txt @@ -0,0 +1,13 @@ +function l_ns_2_unequip() /* entry=98 class_id=0x01CB slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01FA; + + block_01EC: + + block_01FA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-2/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-2/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..ab93842 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-2/slot_0F_enterFastArea.txt @@ -0,0 +1,13 @@ +function l_ns_2_enterFastArea() /* entry=98 class_id=0x01CB slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01AF; + + block_01A1: + + block_01AF: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-2/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-2/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..ab1a214 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-2/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function l_ns_2_avatarStoleSomething() /* entry=98 class_id=0x01CB slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-4/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-4/slot_06_gotHit.txt new file mode 100644 index 0000000..8c3346b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-4/slot_06_gotHit.txt @@ -0,0 +1,23 @@ +function l_ns_4_gotHit() /* entry=99 class_id=0x01CC slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (ref != Item.pop()) goto block_0154; + + block_00F9: + spawn class_0A0F_slot_20(arg_06); + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + + block_0154: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-4/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-4/slot_0B_unequip.txt new file mode 100644 index 0000000..c95371a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-4/slot_0B_unequip.txt @@ -0,0 +1,13 @@ +function l_ns_4_unequip() /* entry=99 class_id=0x01CC slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01FA; + + block_01EC: + + block_01FA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-4/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-4/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..4c99851 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-4/slot_0F_enterFastArea.txt @@ -0,0 +1,13 @@ +function l_ns_4_enterFastArea() /* entry=99 class_id=0x01CC slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01AF; + + block_01A1: + + block_01AF: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-4/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-4/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..b30f062 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-4/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function l_ns_4_avatarStoleSomething() /* entry=99 class_id=0x01CC slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-8/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-8/slot_06_gotHit.txt new file mode 100644 index 0000000..cf47377 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-8/slot_06_gotHit.txt @@ -0,0 +1,23 @@ +function l_ns_8_gotHit() /* entry=101 class_id=0x01CE slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (ref != Item.pop()) goto block_0154; + + block_00F9: + spawn class_0A0F_slot_20(arg_06); + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + + block_0154: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-8/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-8/slot_0B_unequip.txt new file mode 100644 index 0000000..8c8cb04 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-8/slot_0B_unequip.txt @@ -0,0 +1,13 @@ +function l_ns_8_unequip() /* entry=101 class_id=0x01CE slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01FA; + + block_01EC: + + block_01FA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-8/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-8/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..f0dca73 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-8/slot_0F_enterFastArea.txt @@ -0,0 +1,13 @@ +function l_ns_8_enterFastArea() /* entry=101 class_id=0x01CE slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_01AF; + + block_01A1: + + block_01AF: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/L_NS-8/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/L_NS-8/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..8d465c2 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/L_NS-8/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function l_ns_8_avatarStoleSomething() /* entry=101 class_id=0x01CE slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MAINTMAN/slot_0E_calledFromAnim.txt b/USECODE/EUSECODE_extracted/pseudocode/MAINTMAN/slot_0E_calledFromAnim.txt new file mode 100644 index 0000000..85cc5e6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MAINTMAN/slot_0E_calledFromAnim.txt @@ -0,0 +1,9 @@ +function maintman_calledFromAnim() /* entry=164 class_id=0x02F5 slot=0x0E */ +{ + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn class_0A1C_slot_20(Item.getQLo(arg_06), *(arg_06), arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MALRM_EW/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/MALRM_EW/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..10ca732 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MALRM_EW/slot_0F_enterFastArea.txt @@ -0,0 +1,16 @@ +function malrm_ew_enterFastArea() /* entry=136 class_id=0x0271 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if Intrinsic0000() goto block_0106; + + block_00F6: + goto block_0113; + + block_0106: + + block_0113: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MALRM_NS/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/MALRM_NS/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..115b9c4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MALRM_NS/slot_0F_enterFastArea.txt @@ -0,0 +1,16 @@ +function malrm_ns_enterFastArea() /* entry=70 class_id=0x0174 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if Intrinsic0000() goto block_0106; + + block_00F6: + goto block_0113; + + block_0106: + + block_0113: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MBARREL/slot_05_hit.txt b/USECODE/EUSECODE_extracted/pseudocode/MBARREL/slot_05_hit.txt new file mode 100644 index 0000000..14936e3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MBARREL/slot_05_hit.txt @@ -0,0 +1,30 @@ +function mbarrel_hit() /* entry=113 class_id=0x01DD slot=0x05 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + v, /* [BP-02h] type=0x69 */ + item, /* [BP-04h] type=0x24 */ + item2, /* [BP-06h] type=0x24 */ + r1, /* [BP-08h] type=0x69 */ + r2; /* [BP-0Ah] type=0x69 */ + + entry: + set_info(0x020B, *(arg_06)); + process_exclude(); + v = vel; + if (vel >= 10) goto block_032F; + + block_0280: + class_0A0C_slot_20(3); + r1 = retval; + class_0A0C_slot_20(3); + r2 = retval; + spawn class_0A1E_slot_2A(pid, arg_06); + suspend; + + block_032F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MBARREL/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MBARREL/slot_06_gotHit.txt new file mode 100644 index 0000000..7163cc4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MBARREL/slot_06_gotHit.txt @@ -0,0 +1,49 @@ +function mbarrel_gotHit() /* entry=113 class_id=0x01DD slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + item2, /* [BP-04h] type=0x24 */ + x, /* [BP-06h] type=0x69 */ + y, /* [BP-08h] type=0x69 */ + z, /* [BP-09h] type=0x62 */ + qLo; /* [BP-0Bh] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_014E; + + block_011B: + class_0A0C_slot_20(1); + if retval goto block_013B; + + block_012B: + goto block_0148; + + block_013B: + + block_0148: + goto block_0207; + + block_014E: + if (Item.getFrame(arg_06) != 0) goto block_0207; + + block_0160: + z = Item.getZ(arg_06); + x = Intrinsic0013(arg_06); + y = Item.legal_create(arg_06); + qLo = Item.getQHi(arg_06); + spawn class_0A1E_slot_2A(pid, arg_06); + suspend; + class_0A0C_slot_20(3); + + block_0207: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MCRATE/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MCRATE/slot_06_gotHit.txt new file mode 100644 index 0000000..f548bc6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MCRATE/slot_06_gotHit.txt @@ -0,0 +1,59 @@ +function mcrate_gotHit() /* entry=231 class_id=0x0432 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + x, /* [BP-02h] type=0x69 */ + y, /* [BP-04h] type=0x69 */ + z, /* [BP-05h] type=0x62 */ + item; /* [BP-07h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_0251; + + block_00FD: + spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_015D; + + block_012D: + class_0A0C_slot_20(1); + if retval goto block_014D; + + block_013D: + goto block_015A; + + block_014D: + + block_015A: + goto block_0251; + + block_015D: + x = Intrinsic0013(arg_06); + y = Item.legal_create(arg_06); + z = Item.getZ(arg_06); + set_info(1, 0); + if (Item.getFrame(arg_06) != 0) goto block_01F0; + + block_019E: + spawn class_0A1E_slot_28(pid, 1, 0, arg_06); + suspend; + goto block_0251; + + block_01F0: + if (Item.getFrame(arg_06) != 1) goto block_0251; + + block_01FF: + spawn class_0A1E_slot_28(pid, 1, 1, arg_06); + suspend; + goto block_0251; + + block_0251: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MDESKEW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MDESKEW/slot_06_gotHit.txt new file mode 100644 index 0000000..b233264 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MDESKEW/slot_06_gotHit.txt @@ -0,0 +1,44 @@ +function mdeskew_gotHit() /* entry=107 class_id=0x01D4 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + item; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + fram = Item.getFrame(arg_06); + if (fram > 1) goto block_010D; + + block_0107: + goto block_01A6; + + block_010D: + class_0A0C_slot_2C(vel, ref); + if (retval != 4) goto block_01A6; + + block_0128: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + + block_0138: + if condition goto block_016F; + + block_013B: + class_0A0C_slot_20(1, 10); + class_0A0C_slot_20((retval + 10), 10); + class_0A0C_slot_20(retval, 10); + /* loopnext */ + goto block_0138; + + block_016F: + spawn class_0A1E_slot_28(pid, 0, 1, arg_06); + suspend; + + block_01A6: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MDESKNS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MDESKNS/slot_06_gotHit.txt new file mode 100644 index 0000000..ca31d15 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MDESKNS/slot_06_gotHit.txt @@ -0,0 +1,44 @@ +function mdeskns_gotHit() /* entry=112 class_id=0x01DC slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + item; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + fram = Item.getFrame(arg_06); + if (fram > 1) goto block_010D; + + block_0107: + goto block_01A6; + + block_010D: + class_0A0C_slot_2C(vel, ref); + if (retval != 4) goto block_01A6; + + block_0128: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + + block_0138: + if condition goto block_016F; + + block_013B: + class_0A0C_slot_20(1, 10); + class_0A0C_slot_20((retval + 10), 10); + class_0A0C_slot_20(retval, 10); + /* loopnext */ + goto block_0138; + + block_016F: + spawn class_0A1E_slot_28(pid, 0, 1, arg_06); + suspend; + + block_01A6: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MDOOR_E/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MDOOR_E/slot_06_gotHit.txt new file mode 100644 index 0000000..0dcd063 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MDOOR_E/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function mdoor_e_gotHit() /* entry=7 class_id=0x0046 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A06_slot_23(pid, vel, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MDOOR_E/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/MDOOR_E/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..aea11a7 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MDOOR_E/slot_0F_enterFastArea.txt @@ -0,0 +1,17 @@ +function mdoor_e_enterFastArea() /* entry=7 class_id=0x0046 slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.callEvent0A(arg_06) != 0x00FF) goto block_0145; + + block_0101: + + block_0145: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MDOOR_E/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/MDOOR_E/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..dc6f28e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MDOOR_E/slot_13_avatarStoleSomething.txt @@ -0,0 +1,18 @@ +function mdoor_e_avatarStoleSomething() /* entry=7 class_id=0x0046 slot=0x13 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + num, /* [BP+0Ah] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + item2, /* [BP-04h] type=0x24 */ + door; /* [BP-06h] type=0x24 */ + + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + door = *(arg_06); + spawn class_0A06_slot_22(pid, door); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MDOOR_N/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MDOOR_N/slot_06_gotHit.txt new file mode 100644 index 0000000..980e495 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MDOOR_N/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function mdoor_n_gotHit() /* entry=33 class_id=0x00A9 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A06_slot_23(pid, vel, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MDOOR_N/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/MDOOR_N/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..a632672 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MDOOR_N/slot_0F_enterFastArea.txt @@ -0,0 +1,17 @@ +function mdoor_n_enterFastArea() /* entry=33 class_id=0x00A9 slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.callEvent0A(arg_06) != 0x00FF) goto block_0145; + + block_0101: + + block_0145: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MDOOR_N/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/MDOOR_N/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..8f44ded --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MDOOR_N/slot_13_avatarStoleSomething.txt @@ -0,0 +1,18 @@ +function mdoor_n_avatarStoleSomething() /* entry=33 class_id=0x00A9 slot=0x13 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + num, /* [BP+0Ah] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + item2, /* [BP-04h] type=0x24 */ + door; /* [BP-06h] type=0x24 */ + + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + door = *(arg_06); + spawn class_0A06_slot_22(pid, door); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MEDIKIT/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/MEDIKIT/slot_01_use.txt new file mode 100644 index 0000000..329672f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MEDIKIT/slot_01_use.txt @@ -0,0 +1,36 @@ +function medikit_use() /* entry=188 class_id=0x0351 slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + set_info(0x00F0, 0); + /* global_address global_id=0x3C */ + if (Intrinsic007C() >= 0x0096) goto block_0132; + + block_010B: + spawn class_0A0C_slot_21(pid, 0x00B0, 0x00000000); + suspend; + + block_0132: + /* global_address global_id=0x3C */ + if Intrinsic00CA(80) goto block_016E; + + block_0144: + spawn class_0A0C_slot_21(pid, 0x00DB, 0x00000000); + suspend; + goto block_01C3; + + block_016E: + spawn class_0A0C_slot_21(pid, 0x00B0, 0x00000000); + suspend; + + block_01C3: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MELF/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/MELF/slot_01_use.txt new file mode 100644 index 0000000..5d16578 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MELF/slot_01_use.txt @@ -0,0 +1,49 @@ +function melf_use() /* entry=219 class_id=0x03BB slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if Item.callEvent0A(arg_06) goto block_0100; + + block_00FA: + goto block_0229; + + block_0100: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + /* pop_global global_id=0x24 size=0x1 */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x41 */ + /* loop current_var=0xFE string_bytes=0x4 loop_type=0x2 */ + + block_01E6: + if condition goto block_0227; + + block_01E9: + if (Item.getQHi(item) != 34) goto block_0223; + + block_01FE: + + block_0223: + /* loopnext */ + goto block_01E6; + + block_0227: + + block_0229: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MFAN_EW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MFAN_EW/slot_06_gotHit.txt new file mode 100644 index 0000000..200a966 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MFAN_EW/slot_06_gotHit.txt @@ -0,0 +1,22 @@ +function mfan_ew_gotHit() /* entry=120 class_id=0x0200 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_0145; + + block_00FD: + class_0A0C_slot_20(1); + spawn class_0A1E_slot_28(pid, 0, 1, arg_06); + suspend; + + block_0145: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MFAN_NS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MFAN_NS/slot_06_gotHit.txt new file mode 100644 index 0000000..9a8cf71 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MFAN_NS/slot_06_gotHit.txt @@ -0,0 +1,22 @@ +function mfan_ns_gotHit() /* entry=119 class_id=0x01FF slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_0145; + + block_00FD: + class_0A0C_slot_20(1); + spawn class_0A1E_slot_28(pid, 0, 1, arg_06); + suspend; + + block_0145: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MGR_EW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MGR_EW/slot_06_gotHit.txt new file mode 100644 index 0000000..c55dc62 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MGR_EW/slot_06_gotHit.txt @@ -0,0 +1,29 @@ +function mgr_ew_gotHit() /* entry=147 class_id=0x02AE slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 0x1000) goto block_0104; + + block_00FE: + goto block_0181; + + block_0104: + class_0A0C_slot_2C(vel, ref); + if retval goto block_0181; + + block_0116: + class_0A1E_slot_23(0x1000, arg_06); + spawn class_0A0C_slot_32(pid, 20, 0x00000000); + suspend; + class_0A1E_slot_24(0x1000, arg_06); + + block_0181: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MGR_NS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MGR_NS/slot_06_gotHit.txt new file mode 100644 index 0000000..8e27156 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MGR_NS/slot_06_gotHit.txt @@ -0,0 +1,29 @@ +function mgr_ns_gotHit() /* entry=141 class_id=0x0294 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 0x1000) goto block_0104; + + block_00FE: + goto block_0181; + + block_0104: + class_0A0C_slot_2C(vel, ref); + if retval goto block_0181; + + block_0116: + class_0A1E_slot_23(0x1000, arg_06); + spawn class_0A0C_slot_32(pid, 20, 0x00000000); + suspend; + class_0A1E_slot_24(0x1000, arg_06); + + block_0181: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MINELET/slot_05_hit.txt b/USECODE/EUSECODE_extracted/pseudocode/MINELET/slot_05_hit.txt new file mode 100644 index 0000000..5dd5b47 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MINELET/slot_05_hit.txt @@ -0,0 +1,13 @@ +function minelet_hit() /* entry=142 class_id=0x029E slot=0x05 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MINELET/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/MINELET/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..834248a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MINELET/slot_10_leaveFastArea.txt @@ -0,0 +1,8 @@ +function minelet_leaveFastArea() /* entry=142 class_id=0x029E slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS10/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS10/slot_04_cachein.txt new file mode 100644 index 0000000..4d606c1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS10/slot_04_cachein.txt @@ -0,0 +1,9 @@ +function miss10_cachein() /* entry=362 class_id=0x0916 slot=0x04 */ +{ + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS10/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS10/slot_07_hatch.txt new file mode 100644 index 0000000..142b244 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS10/slot_07_hatch.txt @@ -0,0 +1,29 @@ +function miss10_hatch() /* entry=362 class_id=0x0916 slot=0x07 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_0178; + + block_0133: + if (global[0x0029] != 1) goto block_0178; + + block_0140: + spawn class_0A0C_slot_26(pid, "10g", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_0178: + if (Intrinsic003F(arg_06) != 2) goto block_0196; + + block_018D: + /* pop_global global_id=0x37 size=0x1 */ + + block_0196: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS11/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS11/slot_04_cachein.txt new file mode 100644 index 0000000..3d844ae --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS11/slot_04_cachein.txt @@ -0,0 +1,9 @@ +function miss11_cachein() /* entry=363 class_id=0x0917 slot=0x04 */ +{ + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS11/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS11/slot_07_hatch.txt new file mode 100644 index 0000000..bd95758 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS11/slot_07_hatch.txt @@ -0,0 +1,32 @@ +function miss11_hatch() /* entry=363 class_id=0x0917 slot=0x07 */ +{ + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_0171; + + block_012D: + spawn class_0A0C_slot_26(pid, "11f", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + /* pop_global global_id=0x35 size=0x1 */ + goto block_01C5; + + block_0171: + if (Intrinsic003F(arg_06) != 2) goto block_01C5; + + block_0180: + if global[0x002A] goto block_01C2; + + block_018A: + spawn class_0A0C_slot_26(pid, "11g", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_01C2: + goto block_01C5; + + block_01C5: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS12/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS12/slot_04_cachein.txt new file mode 100644 index 0000000..aa69f3d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS12/slot_04_cachein.txt @@ -0,0 +1,9 @@ +function miss12_cachein() /* entry=364 class_id=0x0918 slot=0x04 */ +{ + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS12/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS12/slot_07_hatch.txt new file mode 100644 index 0000000..d945b34 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS12/slot_07_hatch.txt @@ -0,0 +1,30 @@ +function miss12_hatch() /* entry=364 class_id=0x0918 slot=0x07 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + id, /* [BP-04h] type=0x69 */ + qlo; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + id = Intrinsic003F(arg_06); + if id goto block_01D0; + + block_0134: + if global[0x002B] goto block_01D0; + + block_013E: + spawn class_0A0C_slot_26(pid, "12e", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + item = *(arg_06); + qlo = Item.getQHi(item); + spawn class_0A18_slot_20(pid, (0 + 0x0080), item, arg_06); + suspend; + + block_01D0: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS13/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS13/slot_04_cachein.txt new file mode 100644 index 0000000..597c03f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS13/slot_04_cachein.txt @@ -0,0 +1,9 @@ +function miss13_cachein() /* entry=365 class_id=0x0919 slot=0x04 */ +{ + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS13/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS13/slot_07_hatch.txt new file mode 100644 index 0000000..020331c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS13/slot_07_hatch.txt @@ -0,0 +1,23 @@ +function miss13_hatch() /* entry=365 class_id=0x0919 slot=0x07 */ +{ + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_0136; + + block_0133: + goto block_016F; + + block_0136: + if (Intrinsic003F(arg_06) != 2) goto block_016F; + + block_0145: + class_0A0C_slot_41(); + spawn class_0919_slot_20(pid, arg_06); + suspend; + goto block_016F; + + block_016F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS13/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS13/slot_20_slot_20.txt new file mode 100644 index 0000000..bd917a4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS13/slot_20_slot_20.txt @@ -0,0 +1,153 @@ +function miss13_slot_20() /* entry=365 class_id=0x0919 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter, /* [BP-02h] type=0x69 */ + item, /* [BP-04h] type=0x24 */ + egg, /* [BP-06h] type=0x24 */ + wench, /* [BP-08h] type=0x24 */ + npcWench, /* [BP-0Ah] type=0x24 */ + door; /* [BP-0Ch] type=0x24 */ + + entry: + set_info(0x0001, *(arg_06)); + counter = 0; + egg = *(arg_06); + set_info(1, 0); + + block_01BB: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_01F1; + + block_01CB: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_01BB; + + block_01F1: + wench = 0; + door = 0; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF6 string_bytes=0x6 loop_type=0x2 */ + + block_021D: + if condition goto block_022B; + + block_0220: + wench = npcWench; + /* loopnext */ + goto block_021D; + + block_022B: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_024B: + if condition goto block_0278; + + block_024E: + if (Item.getQHi(item) != 4) goto block_0274; + + block_0263: + goto block_0640; + + block_0274: + /* loopnext */ + goto block_024B; + + block_0278: + if wench goto block_0635; + + block_0282: + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_02DD: + if condition goto block_038B; + + block_02E0: + class_0A0C_slot_29(item, global[0x003C]); + if ((retval > 3) && (counter != 20)) goto block_0361; + + block_0303: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(Item.getDirToItem(Intrinsic0013(pid, 1, Item.legal_create(Item.legal_create(wench), Intrinsic0013(wench))))); + suspend; + counter = (1 + counter); + goto block_02E0; + + block_0361: + door = item; + spawn class_0A06_slot_20(pid, door); + suspend; + /* loopnext */ + goto block_02DD; + + block_038B: + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 3, 0); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 2, 14); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 4, 12); + suspend; + suspend; + /* str_to_ptr */ + /* global_address global_id=0x3C */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A11_slot_22(pid, 6, 4, wench); + suspend; + spawn class_0A11_slot_22(pid, 3, 4, wench); + suspend; + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 2, 4); + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0567: + if condition goto block_0579; + + block_056A: + /* loopnext */ + goto block_0567; + + block_0579: + spawn class_0A11_slot_22(pid, 3, 0, wench); + suspend; + /* global_address global_id=0x3C */ + suspend; + suspend; + spawn class_0A11_slot_24(pid, wench); + suspend; + spawn class_0A0C_slot_32(pid, 15, 0x00000000); + suspend; + + block_0635: + + block_0640: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS14/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS14/slot_04_cachein.txt new file mode 100644 index 0000000..6af3a56 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS14/slot_04_cachein.txt @@ -0,0 +1,18 @@ +function miss14_cachein() /* entry=366 class_id=0x091A slot=0x04 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_038F; + + block_0358: + /* pop_global global_id=0x1F size=0x1 */ + + block_038F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS14/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS14/slot_07_hatch.txt new file mode 100644 index 0000000..03ef63a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS14/slot_07_hatch.txt @@ -0,0 +1,81 @@ +function miss14_hatch() /* entry=366 class_id=0x091A slot=0x07 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_0270; + + block_00FA: + + block_0105: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_013B; + + block_0115: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0105; + + block_013B: + spawn class_0A0C_slot_3C(pid, 0x00000000); + suspend; + class_0A0C_slot_41(); + counter = 1; + + block_016C: + if (counter <= 8) goto block_01A9; + + block_0174: + /* global_address global_id=0x3C */ + suspend; + counter = (1 + counter); + goto block_016C; + + block_01A9: + counter = 1; + + block_01B0: + if (counter <= 3) goto block_01ED; + + block_01B8: + /* global_address global_id=0x3C */ + suspend; + counter = (1 + counter); + goto block_01B0; + + block_01ED: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_030D; + + block_0270: + if (Intrinsic003F(arg_06) != 2) goto block_02C3; + + block_027F: + /* pop_global global_id=0x2D size=0x1 */ + spawn class_0A0C_slot_26(1, pid, "14d", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + goto block_030D; + + block_02C3: + if (Intrinsic003F(arg_06) != 3) goto block_030D; + + block_02D2: + spawn class_0A0C_slot_26(pid, "14e", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + goto block_030D; + + block_030D: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS15/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS15/slot_04_cachein.txt new file mode 100644 index 0000000..f75d554 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS15/slot_04_cachein.txt @@ -0,0 +1,18 @@ +function miss15_cachein() /* entry=367 class_id=0x091B slot=0x04 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_0137; + + block_0100: + /* pop_global global_id=0x1F size=0x1 */ + + block_0137: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS15/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS15/slot_07_hatch.txt new file mode 100644 index 0000000..c4a2b18 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS15/slot_07_hatch.txt @@ -0,0 +1,105 @@ +function miss15_hatch() /* entry=367 class_id=0x091B slot=0x07 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + counter, /* [BP-04h] type=0x69 */ + door, /* [BP-06h] type=0x24 */ + n; /* [BP-08h] type=0x24 */ + + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_0386; + + block_0179: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + /* global_address global_id=0x3C */ + suspend; + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_024C: + if condition goto block_0276; + + block_024F: + spawn class_0A06_slot_21(pid, 1, door); + suspend; + /* loopnext */ + goto block_024C; + + block_0276: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + goto block_04F1; + + block_0386: + if (Intrinsic003F(arg_06) != 2) goto block_03D0; + + block_0395: + spawn class_0A0C_slot_26(pid, "15c", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + goto block_04F1; + + block_03D0: + if (Intrinsic003F(arg_06) != 3) goto block_04F1; + + block_03DF: + + block_03EA: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_0420; + + block_03FA: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_03EA; + + block_0420: + class_0A0C_slot_41(); + /* global_address global_id=0x3C */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF8 string_bytes=0x6 loop_type=0x2 */ + + block_04CD: + if condition goto block_04E1; + + block_04D0: + /* loopnext */ + goto block_04CD; + + block_04E1: + goto block_04F1; + + block_04F1: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_04_cachein.txt new file mode 100644 index 0000000..b5a63a1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_04_cachein.txt @@ -0,0 +1,42 @@ +function miss1egg_cachein() /* entry=353 class_id=0x090D slot=0x04 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + pad2, /* [BP-04h] type=0x24 */ + counter, /* [BP-06h] type=0x69 */ + slot; /* [BP-08h] type=0x69 */ + + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 30) goto block_1449; + + block_1081: + if (!Item.getQHi()) goto block_121B; + + block_1090: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + /* pop_global global_id=0x1F size=0x1 */ + /* global_address global_id=0x3C */ + suspend; + goto block_1449; + + block_121B: + /* pop_global global_id=0x1F size=0x1 */ + /* global_address global_id=0x3C */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + suspend; + + block_1449: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_07_hatch.txt new file mode 100644 index 0000000..face036 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_07_hatch.txt @@ -0,0 +1,71 @@ +function miss1egg_hatch() /* entry=353 class_id=0x090D slot=0x07 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + pad2, /* [BP-04h] type=0x24 */ + buster, /* [BP-06h] type=0x24 */ + slot; /* [BP-08h] type=0x69 */ + + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_0165; + + block_011E: + spawn class_090D_slot_21(arg_06); + /* global_address global_id=0x3C */ + spawn class_0A11_slot_23(pid); + suspend; + goto block_0265; + + block_0165: + if (Intrinsic003F(arg_06) != 2) goto block_01DD; + + block_0174: + if (!global[0x003B]) goto block_01CF; + + block_017F: + /* pop_global global_id=0x3B size=0x1 */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_01A6: + if condition goto block_01CD; + + block_01A9: + class_0A1E_slot_23(4, buster); + spawn class_090D_slot_22(buster, arg_06); + /* loopnext */ + goto block_01A6; + + block_01CD: + + block_01CF: + goto block_0265; + + block_01DD: + if (Intrinsic003F(arg_06) != 3) goto block_0221; + + block_01EC: + class_0A0C_slot_41(); + spawn class_090D_slot_23(pid, arg_06); + suspend; + goto block_0265; + + block_0221: + if (Intrinsic003F(arg_06) != 7) goto block_0265; + + block_0230: + class_0A0C_slot_41(); + spawn class_090D_slot_20(pid, arg_06); + suspend; + goto block_0265; + + block_0265: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_20_slot_20.txt new file mode 100644 index 0000000..66fd023 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_20_slot_20.txt @@ -0,0 +1,182 @@ +function miss1egg_slot_20() /* entry=353 class_id=0x090D slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + pac, /* [BP-02h] type=0x24 */ + eTrigger, /* [BP-04h] type=0x24 */ + item, /* [BP-06h] type=0x24 */ + counter; /* [BP-08h] type=0x69 */ + + entry: + set_info(0x00F0, *(arg_06)); + + block_02BF: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_02F8; + + block_02CF: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_02BF; + + block_02F8: + /* global_address global_id=0x3C */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_033E: + if condition goto block_0377; + + block_0341: + /* global_address global_id=0x3C */ + /* loopnext */ + goto block_033E; + + block_0377: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_0399: + if condition goto block_03AB; + + block_039C: + /* loopnext */ + goto block_0399; + + block_03AB: + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 5, 8); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 8, 6); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 2, 8); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 2, 12); + suspend; + /* global_address global_id=0x3C */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x4 */ + + block_04A9: + if condition goto block_04BB; + + block_04AC: + /* loopnext */ + goto block_04A9; + + block_04BB: + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + counter = 1; + + block_0564: + if (counter <= 5) goto block_05AC; + + block_056C: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0564; + + block_05AC: + spawn class_0A1E_slot_28(pid, 1, 1, pac); + suspend; + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_0615: + if condition goto block_065C; + + block_0618: + spawn class_0A1E_slot_28(pid, 0, 2, item); + suspend; + /* loopnext */ + goto block_0615; + + block_065C: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_067C: + if condition goto block_06CE; + + block_067F: + spawn class_0A1E_slot_28(pid, 1, 0, item); + suspend; + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + /* loopnext */ + goto block_067C; + + block_06CE: + spawn class_0A0C_slot_3B(0x00000000); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_06FF: + if condition goto block_0744; + + block_0702: + spawn class_0A0C_slot_32(Intrinsic00DA(pid, 20, 10), 0x00000000); + suspend; + /* loopnext */ + goto block_06FF; + + block_0744: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_078A: + if condition goto block_07F2; + + block_078D: + spawn class_0A1E_slot_28(pid, 0, 0, item); + suspend; + spawn class_0A0C_slot_32(Intrinsic00DA(pid, 10, 5), 0x00000000); + suspend; + /* loopnext */ + goto block_078A; + + block_07F2: + spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000); + suspend; + spawn class_0A0C_slot_26(pid, "1c", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_21_slot_21.txt new file mode 100644 index 0000000..54403d1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_21_slot_21.txt @@ -0,0 +1,34 @@ +function miss1egg_slot_21() /* entry=353 class_id=0x090D slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + buster; /* [BP-02h] type=0x24 */ + + entry: + set_info(1, 0); + spawn class_0A0C_slot_32(pid, ((5 - Intrinsic0029()) * 100), 0x00000000); + suspend; + if (!global[0x003B]) goto block_0921; + + block_08DF: + /* pop_global global_id=0x3B size=0x1 */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0906: + if condition goto block_091F; + + block_0909: + spawn class_090D_slot_22(buster, arg_06); + /* loopnext */ + goto block_0906; + + block_091F: + + block_0921: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_22_slot_22.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_22_slot_22.txt new file mode 100644 index 0000000..e941445 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_22_slot_22.txt @@ -0,0 +1,67 @@ +function miss1egg_slot_22() /* entry=353 class_id=0x090D slot=0x22 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + buster, /* [BP+0Ah] type=0x69 */ + rubberSuit, /* [BP-02h] type=0x24 */ + counter; /* [BP-04h] type=0x69 */ + + entry: + set_info(1, buster); + class_0A0C_slot_33(buster, 0x0205); + rubberSuit = buster; + if Kernel.resetRef(rubberSuit) goto block_0980; + + block_097A: + goto block_0B61; + + block_0980: + suspend; + spawn class_0A11_slot_2A(pid, 0x00B4, rubberSuit); + suspend; + if Kernel.resetRef(rubberSuit) goto block_09DB; + + block_09D5: + goto block_0B61; + + block_09DB: + suspend; + + block_09FD: + if (((Intrinsic00CC(rubberSuit) != 0) && (Kernel.resetRef(rubberSuit) != 0)) && (counter < 4)) goto block_0A59; + + block_0A25: + suspend; + counter = (1 + counter); + goto block_09FD; + + block_0A59: + if Kernel.resetRef(rubberSuit) goto block_0A6E; + + block_0A68: + goto block_0B61; + + block_0A6E: + suspend; + if ((Intrinsic00CC(rubberSuit) != 0) && (Kernel.resetRef(rubberSuit) != 0)) goto block_0AD9; + + block_0AB2: + suspend; + + block_0AD9: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + if ((Intrinsic00CC(rubberSuit) != 0) || (Kernel.resetRef(rubberSuit) != 0)) goto block_0B32; + + block_0B21: + spawn class_0A0C_slot_3B(0x00000000); + + block_0B32: + if ((Intrinsic00CC(rubberSuit) != 0) || (Kernel.resetRef(rubberSuit) != 0)) goto block_0B61; + + block_0B54: + + block_0B61: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_23_slot_23.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_23_slot_23.txt new file mode 100644 index 0000000..bc0cedd --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_23_slot_23.txt @@ -0,0 +1,86 @@ +function miss1egg_slot_23() /* entry=353 class_id=0x090D slot=0x23 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + pathegg, /* [BP-04h] type=0x24 */ + n, /* [BP-06h] type=0x24 */ + guardBoy, /* [BP-08h] type=0x24 */ + door; /* [BP-0Ah] type=0x24 */ + + entry: + set_info(0x0001, *(arg_06)); + spawn class_090D_slot_25(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0BE7: + if condition goto block_0BF5; + + block_0BEA: + n = item; + /* loopnext */ + goto block_0BE7; + + block_0BF5: + if (!n) goto block_0C11; + + block_0C00: + goto block_0DFB; + + block_0C11: + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0C55: + if condition goto block_0C97; + + block_0C58: + if (Item.getQHi(item) != 23) goto block_0C93; + + block_0C6D: + door = item; + spawn class_0A06_slot_20(pid, door); + suspend; + + block_0C93: + /* loopnext */ + goto block_0C55; + + block_0C97: + spawn class_0A11_slot_22(pid, 5, 4, n); + suspend; + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A0C_slot_3B(0x00000000); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF8 string_bytes=0x6 loop_type=0x2 */ + + block_0D87: + if condition goto block_0DC2; + + block_0D8A: + /* loopnext */ + goto block_0D87; + + block_0DC2: + /* pop_global global_id=0x2F size=0x1 */ + spawn class_090D_slot_24(1, pid, n, arg_06); + suspend; + + block_0DFB: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_24_slot_24.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_24_slot_24.txt new file mode 100644 index 0000000..2bf6284 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_24_slot_24.txt @@ -0,0 +1,40 @@ +function miss1egg_slot_24() /* entry=353 class_id=0x090D slot=0x24 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + n, /* [BP+0Ah] type=0x24 */ + door; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0001, *(arg_06)); + set_info(1, 0); + spawn class_0A11_slot_22(pid, 5, 0, n); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0E9E: + if condition goto block_0ED9; + + block_0EA1: + if (Item.getQHi(door) != 21) goto block_0ED5; + + block_0EB6: + spawn class_0A06_slot_20(pid, door); + suspend; + + block_0ED5: + /* loopnext */ + goto block_0E9E; + + block_0ED9: + spawn class_0A11_slot_21(pid, 3, n); + suspend; + spawn class_0A11_slot_21(pid, 2, n); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_25_slot_25.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_25_slot_25.txt new file mode 100644 index 0000000..8d833e5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS1EGG/slot_25_slot_25.txt @@ -0,0 +1,17 @@ +function miss1egg_slot_25() /* entry=353 class_id=0x090D slot=0x25 */ +{ + entry: + set_info(0x0001, *(arg_06)); + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_04_cachein.txt new file mode 100644 index 0000000..e8c2768 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_04_cachein.txt @@ -0,0 +1,9 @@ +function miss2_cachein() /* entry=354 class_id=0x090E slot=0x04 */ +{ + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_07_hatch.txt new file mode 100644 index 0000000..8e47002 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_07_hatch.txt @@ -0,0 +1,43 @@ +function miss2_hatch() /* entry=354 class_id=0x090E slot=0x07 */ +{ + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_01B3; + + block_0175: + class_0A0C_slot_41(); + spawn class_090E_slot_28(pid, arg_06); + suspend; + /* pop_global global_id=0x21 size=0x1 */ + goto block_026F; + + block_01B3: + if (Intrinsic003F(arg_06) != 2) goto block_01F7; + + block_01C2: + class_0A0C_slot_41(); + spawn class_090E_slot_29(pid, arg_06); + suspend; + goto block_026F; + + block_01F7: + if (Intrinsic003F(arg_06) != 3) goto block_0233; + + block_0206: + spawn class_090E_slot_2A(pid, arg_06); + suspend; + goto block_026F; + + block_0233: + if (Intrinsic003F(arg_06) != 4) goto block_026F; + + block_0242: + spawn class_090E_slot_2B(pid, arg_06); + suspend; + goto block_026F; + + block_026F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_20_slot_20.txt new file mode 100644 index 0000000..e7d59a4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_20_slot_20.txt @@ -0,0 +1,47 @@ +function miss2_slot_20() /* entry=354 class_id=0x090E slot=0x20 */ +{ + var + up, /* [BP+06h] type=0x62 */ + counter, /* [BP-02h] type=0x69 */ + inc, /* [BP-04h] type=0x69 */ + item; /* [BP-06h] type=0x24 */ + + entry: + set_info(1, 0); + counter = 0; + if up goto block_02AE; + + block_02A7: + inc = 1; + goto block_02B5; + + block_02AE: + inc = -1; + + block_02B5: + if (counter != 2) goto block_0334; + + block_02C3: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_02E1: + if condition goto block_02FF; + + block_02E4: + /* loopnext */ + goto block_02E1; + + block_02FF: + spawn class_0A0C_slot_32(pid, 3, 0x00000000); + suspend; + counter = (1 + counter); + goto block_02B5; + + block_0334: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_21_slot_21.txt new file mode 100644 index 0000000..854b520 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_21_slot_21.txt @@ -0,0 +1,10 @@ +function miss2_slot_21() /* entry=354 class_id=0x090E slot=0x21 */ +{ + entry: + set_info(1, 0); + spawn class_0A11_slot_22(pid, 11, 0, arg_06); + suspend; + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_22_slot_22.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_22_slot_22.txt new file mode 100644 index 0000000..d624fa1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_22_slot_22.txt @@ -0,0 +1,37 @@ +function miss2_slot_22() /* entry=354 class_id=0x090E slot=0x22 */ +{ + entry: + set_info(1, 0); + if (Item.getFrame(arg_06) != 9) goto block_0457; + + block_03FF: + if (Item.getFrame(arg_06) != 9) goto block_0454; + + block_0414: + spawn class_0A0C_slot_32(pid, 8, 0x00000000); + suspend; + goto block_03FF; + + block_0454: + goto block_04AC; + + block_0457: + if (Item.getFrame(arg_06) != 2) goto block_04AC; + + block_046C: + spawn class_0A0C_slot_32(pid, 8, 0x00000000); + suspend; + goto block_0457; + + block_04AC: + if Item.touch(81, arg_06) goto block_04E3; + + block_04BD: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_04AC; + + block_04E3: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_23_slot_23.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_23_slot_23.txt new file mode 100644 index 0000000..a689c90 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_23_slot_23.txt @@ -0,0 +1,95 @@ +function miss2_slot_23() /* entry=354 class_id=0x090E slot=0x23 */ +{ + var + done0, /* [BP-01h] type=0x62 */ + done1, /* [BP-02h] type=0x62 */ + done2, /* [BP-03h] type=0x62 */ + activate, /* [BP-04h] type=0x62 */ + item; /* [BP-06h] type=0x24 */ + + entry: + set_info(1, 0); + done0 = 0; + done1 = 0; + done2 = 0; + + block_051D: + if (((done0 != 0) || (done1 != 0)) || (done2 != 0)) goto block_066A; + + block_0537: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_0555: + if condition goto block_0665; + + block_0558: + activate = 0; + if (!done0) goto block_058E; + + block_0568: + if (Item.getQHi(item) != 0) goto block_058B; + + block_057D: + activate = 1; + done0 = 1; + + block_058B: + goto block_05EC; + + block_058E: + if (!done1) goto block_05BD; + + block_0597: + if (Item.getQHi(item) != 1) goto block_05BA; + + block_05AC: + activate = 1; + done1 = 1; + + block_05BA: + goto block_05EC; + + block_05BD: + if (!done2) goto block_05EC; + + block_05C6: + if (Item.getQHi(item) != 2) goto block_05E9; + + block_05DB: + activate = 1; + done2 = 1; + + block_05E9: + goto block_05EC; + + block_05EC: + if activate goto block_0661; + + block_05F4: + if (!done2) goto block_063B; + + block_05FD: + spawn class_090E_slot_22(item, 0x00000000); + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + goto block_0661; + + block_063B: + spawn class_090E_slot_22(pid, item, 0x00000000); + suspend; + + block_0661: + /* loopnext */ + goto block_0555; + + block_0665: + goto block_051D; + + block_066A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_24_slot_24.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_24_slot_24.txt new file mode 100644 index 0000000..9dba748 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_24_slot_24.txt @@ -0,0 +1,19 @@ +function miss2_slot_24() /* entry=354 class_id=0x090E slot=0x24 */ +{ + entry: + set_info(0x0202, 0); + + block_06BB: + if arg_06 goto block_0704; + + block_06C3: + /* global_address global_id=0x3C */ + arg_06 = (arg_06 - 1); + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_06BB; + + block_0704: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_25_slot_25.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_25_slot_25.txt new file mode 100644 index 0000000..4bdffec --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_25_slot_25.txt @@ -0,0 +1,97 @@ +function miss2_slot_25() /* entry=354 class_id=0x090E slot=0x25 */ +{ + var + up, /* [BP+06h] type=0x62 */ + item, /* [BP-02h] type=0x24 */ + x, /* [BP-04h] type=0x69 */ + y, /* [BP-06h] type=0x69 */ + z, /* [BP-07h] type=0x62 */ + counter, /* [BP-09h] type=0x69 */ + inc, /* [BP-0Bh] type=0x69 */ + itemNum; /* [BP-0Dh] type=0x69 */ + + entry: + set_info(1, 0); + counter = 32; + itemNum = 0; + if up goto block_0749; + + block_0742: + inc = 2; + goto block_0750; + + block_0749: + inc = -2; + + block_0750: + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + + block_0792: + if counter goto block_08FF; + + block_079A: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x43 */ + /* loop current_var=0xFE string_bytes=0x8 loop_type=0x2 */ + + block_07BC: + if condition goto block_08FA; + + block_07BF: + x = Intrinsic0013(item); + y = Item.legal_create(item); + z = Item.getZ(item); + itemNum = (1 + itemNum); + if ((counter <= 16) && (Intrinsic0016(item) != 0x04C8)) goto block_08B1; + + block_082E: + if (up != 1) goto block_088B; + + block_083F: + if (Item.getFrame(item) != 12) goto block_0888; + + block_0854: + if (!Item.getFrame(item)) goto block_0871; + + block_0864: + goto block_0888; + + block_0871: + + block_0888: + goto block_08B1; + + block_088B: + if (Item.getFrame(item) != 8) goto block_08B1; + + block_089D: + + block_08B1: + if (itemNum != 5) goto block_08F6; + + block_08BF: + itemNum = 0; + counter = (counter - 2); + spawn class_090E_slot_24(pid, 4, 0x00000000); + suspend; + + block_08F6: + /* loopnext */ + goto block_07BC; + + block_08FA: + goto block_0792; + + block_08FF: + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 15, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_26_slot_26.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_26_slot_26.txt new file mode 100644 index 0000000..ec12502 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_26_slot_26.txt @@ -0,0 +1,82 @@ +function miss2_slot_26() /* entry=354 class_id=0x090E slot=0x26 */ +{ + var + position, /* [BP+06h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + x, /* [BP-04h] type=0x69 */ + y, /* [BP-06h] type=0x69 */ + z, /* [BP-07h] type=0x62 */ + counter, /* [BP-09h] type=0x69 */ + itemNum, /* [BP-0Bh] type=0x69 */ + turn; /* [BP-0Dh] type=0x69 */ + + entry: + set_info(1, 0); + if (!position) goto block_09D5; + + block_09CE: + counter = 96; + goto block_09DD; + + block_09D5: + counter = 0x0140; + + block_09DD: + itemNum = 0; + turn = 1; + /* global_address global_id=0x3C */ + + block_09F9: + if counter goto block_0B29; + + block_0A01: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0A21: + if condition goto block_0B24; + + block_0A24: + x = Intrinsic0013(item); + y = Item.legal_create(item); + z = Item.getZ(item); + itemNum = (1 + itemNum); + if ((Intrinsic0016(item) != 0x04C8) && (position != 1)) goto block_0ADB; + + block_0A93: + if (turn != 5) goto block_0AD1; + + block_0AA1: + if (Item.getFrame(item) != 12) goto block_0AC7; + + block_0AB3: + + block_0AC7: + turn = 0; + goto block_0ADB; + + block_0AD1: + turn = (1 + turn); + + block_0ADB: + if (itemNum != 2) goto block_0B20; + + block_0AE9: + itemNum = 0; + counter = (counter - 4); + spawn class_090E_slot_24(pid, 1, 0x00000000); + suspend; + + block_0B20: + /* loopnext */ + goto block_0A21; + + block_0B24: + goto block_09F9; + + block_0B29: + /* global_address global_id=0x3C */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_27_slot_27.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_27_slot_27.txt new file mode 100644 index 0000000..cd0bdfa --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_27_slot_27.txt @@ -0,0 +1,21 @@ +function miss2_slot_27() /* entry=354 class_id=0x090E slot=0x27 */ +{ + var + gun, /* [BP+06h] type=0x24 */ + old, /* [BP-02h] type=0x69 */ + new; /* [BP-04h] type=0x69 */ + + entry: + set_info(1, 0); + old = Item.getFrame(gun); + new = ((Item.getFrame(gun) * 2) + 20); + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + spawn class_0A1A_slot_4B(old, gun); + spawn class_0A0C_slot_32(pid, 3, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 3, 0x00000000); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_28_slot_28.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_28_slot_28.txt new file mode 100644 index 0000000..6c07e8c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_28_slot_28.txt @@ -0,0 +1,459 @@ +function miss2_slot_28() /* entry=354 class_id=0x090E slot=0x28 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter, /* [BP-02h] type=0x69 */ + item, /* [BP-04h] type=0x24 */ + body, /* [BP-06h] type=0x24 */ + gun, /* [BP-08h] type=0x24 */ + door, /* [BP-0Ah] type=0x24 */ + door1, /* [BP-0Ch] type=0x24 */ + door2, /* [BP-0Eh] type=0x24 */ + door3, /* [BP-10h] type=0x24 */ + egg, /* [BP-12h] type=0x24 */ + hoffman, /* [BP-14h] type=0x24 */ + x, /* [BP-16h] type=0x69 */ + y, /* [BP-18h] type=0x69 */ + pathEgg; /* [BP-1Ah] type=0x24 */ + + entry: + set_info(0x0001, *(arg_06)); + counter = 0; + egg = *(arg_06); + set_info(1, 0); + + block_0CD5: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_0D0B; + + block_0CE5: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0CD5; + + block_0D0B: + /* global_address global_id=0x3C */ + if Intrinsic0035() goto block_0D4B; + + block_0D1B: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + + block_0D4B: + hoffman = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x2 */ + + block_0D68: + if condition goto block_0E2A; + + block_0D6B: + if ((Item.getZ(item) > 96) && (Item.getZ(item) < 0x0096)) goto block_0E26; + + block_0D8E: + x = Intrinsic0013(item); + y = Item.legal_create(item); + if ((((x > 0x522F) && (x < 0x53BF)) && (y < 0x448E)) && (y > 0x407F)) goto block_0E26; + + block_0DCE: + if (((Intrinsic0016(item) != 17) && (Intrinsic0016(item) != 0x04FE)) && (Intrinsic0016(item) != 0x0135)) goto block_0E26; + + block_0E08: + + block_0E26: + /* loopnext */ + goto block_0D68; + + block_0E2A: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0E4A: + if condition goto block_0E98; + + block_0E4D: + goto block_0E98; + + block_0E94: + /* loopnext */ + goto block_0E4A; + + block_0E98: + if hoffman goto block_1CED; + + block_0EA2: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0EBF: + if condition goto block_0F73; + + block_0EC2: + class_0A0C_slot_29(item, global[0x003C]); + if ((retval > 3) && (counter != 10)) goto block_0F49; + + block_0EE5: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(Item.getDirToItem(Intrinsic0013(pid, 1, Item.legal_create((Item.legal_create(item) - 32), (Intrinsic0013(item) - 16))))); + suspend; + counter = (1 + counter); + goto block_0EC2; + + block_0F49: + door = item; + spawn class_0A06_slot_20(pid, door); + suspend; + /* loopnext */ + goto block_0EBF; + + block_0F73: + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 3, 4); + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(Item.getDirToItem(Intrinsic0013(pid, 3, Item.legal_create(Item.legal_create(hoffman), Intrinsic0013(hoffman))))); + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_103A: + if condition goto block_104E; + + block_103D: + pathEgg = item; + goto block_104E; + + block_104A: + /* loopnext */ + goto block_103A; + + block_104E: + + block_1050: + class_0A0C_slot_29(pathEgg, global[0x003C]); + if ((retval > 2) && (counter != 20)) goto block_10D1; + + block_1073: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(Item.getDirToItem(Intrinsic0013(pid, 1, Item.legal_create(Item.legal_create(pathEgg), Intrinsic0013(pathEgg))))); + suspend; + counter = (1 + counter); + goto block_1050; + + block_10D1: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + suspend; + suspend; + suspend; + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_123C: + if condition goto block_12A1; + + block_123F: + if (Item.getQHi(item) != 13) goto block_129D; + + block_1254: + suspend; + suspend; + + block_129D: + /* loopnext */ + goto block_123C; + + block_12A1: + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_1314: + if condition goto block_1362; + + block_1317: + if (Intrinsic007E(item) != 1) goto block_135E; + + block_132C: + /* global_address global_id=0x3C */ + + block_135E: + /* loopnext */ + goto block_1314; + + block_1362: + spawn class_0A0C_slot_32(pid, 45, 0x00000000); + suspend; + spawn class_090E_slot_20(pid, 1, 0x00000000); + suspend; + spawn class_090E_slot_23(pid, 0x00000000); + suspend; + gun = 0; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_13F7: + if condition goto block_1405; + + block_13FA: + gun = item; + /* loopnext */ + goto block_13F7; + + block_1405: + if gun goto block_1432; + + block_140F: + spawn class_090E_slot_25(pid, 1, 0x00000000); + suspend; + + block_1432: + spawn class_0A0C_slot_32(pid, 15, 0x00000000); + suspend; + door = 0; + door1 = 0; + door2 = 0; + door3 = 0; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_1490: + if condition goto block_14F9; + + block_1493: + if (!Item.getQHi(item)) goto block_14AA; + + block_14A3: + door = item; + goto block_14F5; + + block_14AA: + if (Item.getQHi(item) != 1) goto block_14C3; + + block_14BC: + door1 = item; + goto block_14F5; + + block_14C3: + if (Item.getQHi(item) != 2) goto block_14DC; + + block_14D5: + door2 = item; + goto block_14F5; + + block_14DC: + if (Item.getQHi(item) != 3) goto block_14F5; + + block_14EE: + door3 = item; + goto block_14F5; + + block_14F5: + /* loopnext */ + goto block_1490; + + block_14F9: + if (((door && door1) && door2) && door3) goto block_1A3E; + + block_1515: + spawn class_090E_slot_26(pid, 0, 0x00000000); + suspend; + spawn class_0A06_slot_20(pid, door); + suspend; + spawn class_090E_slot_27(pid, gun, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 3, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_15C2: + if condition goto block_1645; + + block_15C5: + spawn class_0A0C_slot_32(pid, 15, 0x00000000); + suspend; + /* loopnext */ + goto block_15C2; + + block_1645: + + block_1647: + if (Item.getFrame(gun) != 4) goto block_169C; + + block_165C: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_1647; + + block_169C: + spawn class_0A06_slot_20(pid, door1); + suspend; + spawn class_090E_slot_27(pid, gun, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 3, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_1723: + if condition goto block_17A9; + + block_1726: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + /* loopnext */ + goto block_1723; + + block_17A9: + spawn class_090E_slot_26(pid, 1, 0x00000000); + suspend; + spawn class_0A06_slot_20(pid, door2); + suspend; + spawn class_090E_slot_27(pid, gun, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 6, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_1858: + if condition goto block_18DB; + + block_185B: + spawn class_0A0C_slot_32(pid, 15, 0x00000000); + suspend; + /* loopnext */ + goto block_1858; + + block_18DB: + + block_18DD: + if (Item.getFrame(gun) != 4) goto block_1932; + + block_18F2: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_18DD; + + block_1932: + spawn class_0A06_slot_20(pid, door3); + suspend; + spawn class_090E_slot_27(pid, gun, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 6, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_19B9: + if condition goto block_1A3C; + + block_19BC: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + /* loopnext */ + goto block_19B9; + + block_1A3C: + + block_1A3E: + spawn class_090E_slot_25(pid, 0, 0x00000000); + suspend; + spawn class_090E_slot_23(pid, 0x00000000); + suspend; + spawn class_090E_slot_20(pid, 0, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + suspend; + suspend; + suspend; + suspend; + suspend; + suspend; + suspend; + suspend; + suspend; + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_1C99: + if condition goto block_1CD3; + + block_1C9C: + if (Item.getQHi(item) != 13) goto block_1CCF; + + block_1CB1: + suspend; + + block_1CCF: + /* loopnext */ + goto block_1C99; + + block_1CD3: + + block_1CED: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_29_slot_29.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_29_slot_29.txt new file mode 100644 index 0000000..9329a95 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_29_slot_29.txt @@ -0,0 +1,111 @@ +function miss2_slot_29() /* entry=354 class_id=0x090E slot=0x29 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter, /* [BP-02h] type=0x69 */ + item, /* [BP-04h] type=0x24 */ + egg, /* [BP-06h] type=0x24 */ + vargas; /* [BP-08h] type=0x24 */ + + entry: + set_info(0x0001, *(arg_06)); + counter = 0; + egg = *(arg_06); + set_info(1, 0); + + block_1DBD: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_1DF3; + + block_1DCD: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_1DBD; + + block_1DF3: + /* global_address global_id=0x3C */ + if Intrinsic0035() goto block_1E33; + + block_1E03: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + + block_1E33: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_1E51: + if condition goto block_1E9F; + + block_1E54: + goto block_1E9F; + + block_1E9B: + /* loopnext */ + goto block_1E51; + + block_1E9F: + if vargas goto block_217F; + + block_1EA9: + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 3, 0); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 3, 14); + suspend; + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_1FC8: + if condition goto block_1FDA; + + block_1FCB: + /* loopnext */ + goto block_1FC8; + + block_1FDA: + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_090E_slot_21(vargas, 0x00000000); + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 2, 2); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 5, 0); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 1, 14); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 7, 12); + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + spawn class_0A11_slot_24(pid, vargas); + suspend; + /* global_address global_id=0x3C */ + + block_217F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_2A_slot_2A.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_2A_slot_2A.txt new file mode 100644 index 0000000..a37776d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_2A_slot_2A.txt @@ -0,0 +1,29 @@ +function miss2_slot_2A() /* entry=354 class_id=0x090E slot=0x2A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0001, *(arg_06)); + /* pop_global global_id=0x30 size=0x1 */ + spawn class_0A0C_slot_26(1, pid, "2g", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_2256: + if condition goto block_2268; + + block_2259: + /* loopnext */ + goto block_2256; + + block_2268: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_2B_slot_2B.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_2B_slot_2B.txt new file mode 100644 index 0000000..37ad342 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS2/slot_2B_slot_2B.txt @@ -0,0 +1,10 @@ +function miss2_slot_2B() /* entry=354 class_id=0x090E slot=0x2B */ +{ + entry: + set_info(0x0001, *(arg_06)); + spawn class_0A0C_slot_26(pid, "02i", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS3/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS3/slot_04_cachein.txt new file mode 100644 index 0000000..a07e70f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS3/slot_04_cachein.txt @@ -0,0 +1,9 @@ +function miss3_cachein() /* entry=355 class_id=0x090F slot=0x04 */ +{ + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS3/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS3/slot_07_hatch.txt new file mode 100644 index 0000000..f388a95 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS3/slot_07_hatch.txt @@ -0,0 +1,46 @@ +function miss3_hatch() /* entry=355 class_id=0x090F slot=0x07 */ +{ + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_0170; + + block_012D: + /* pop_global global_id=0x31 size=0x1 */ + spawn class_0A0C_slot_26(1, pid, "3g", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + goto block_020C; + + block_0170: + if (Intrinsic003F(arg_06) != 2) goto block_01B9; + + block_017F: + if (!global[0x0022]) goto block_01B6; + + block_018A: + spawn class_0A0C_slot_26(pid, "3i", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_01B6: + goto block_020C; + + block_01B9: + if (Intrinsic003F(arg_06) != 3) goto block_020C; + + block_01C8: + if global[0x0022] goto block_0209; + + block_01D2: + spawn class_0A0C_slot_26(pid, "3h", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_0209: + goto block_020C; + + block_020C: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS4/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS4/slot_04_cachein.txt new file mode 100644 index 0000000..2b933f8 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS4/slot_04_cachein.txt @@ -0,0 +1,15 @@ +function miss4_cachein() /* entry=356 class_id=0x0910 slot=0x04 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS4/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS4/slot_07_hatch.txt new file mode 100644 index 0000000..954a5f4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS4/slot_07_hatch.txt @@ -0,0 +1,16 @@ +function miss4_hatch() /* entry=356 class_id=0x0910 slot=0x07 */ +{ + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_012D; + + block_0100: + spawn class_0910_slot_20(pid, arg_06); + suspend; + goto block_012D; + + block_012D: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS4/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS4/slot_20_slot_20.txt new file mode 100644 index 0000000..2e8f92e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS4/slot_20_slot_20.txt @@ -0,0 +1,30 @@ +function miss4_slot_20() /* entry=356 class_id=0x0910 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0001, *(arg_06)); + spawn class_0A0C_slot_26(pid, "4f", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + spawn class_0A0C_slot_3B(0x00000000); + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* pop_global global_id=0x32 size=0x1 */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_01E2: + if condition goto block_01F4; + + block_01E5: + /* loopnext */ + goto block_01E2; + + block_01F4: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS5/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS5/slot_04_cachein.txt new file mode 100644 index 0000000..a17df78 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS5/slot_04_cachein.txt @@ -0,0 +1,9 @@ +function miss5_cachein() /* entry=357 class_id=0x0911 slot=0x04 */ +{ + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS5/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS5/slot_07_hatch.txt new file mode 100644 index 0000000..5d74a7a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS5/slot_07_hatch.txt @@ -0,0 +1,18 @@ +function miss5_hatch() /* entry=357 class_id=0x0911 slot=0x07 */ +{ + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_0166; + + block_0133: + /* pop_global global_id=0x33 size=0x1 */ + class_0A0C_slot_41(1); + spawn class_0911_slot_20(pid, arg_06); + suspend; + goto block_0166; + + block_0166: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS5/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS5/slot_20_slot_20.txt new file mode 100644 index 0000000..dafd28f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS5/slot_20_slot_20.txt @@ -0,0 +1,258 @@ +function miss5_slot_20() /* entry=357 class_id=0x0911 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter, /* [BP-02h] type=0x69 */ + item, /* [BP-04h] type=0x24 */ + door, /* [BP-06h] type=0x24 */ + egg, /* [BP-08h] type=0x24 */ + willmar, /* [BP-0Ah] type=0x24 */ + post1, /* [BP-0Ch] type=0x24 */ + post2, /* [BP-0Eh] type=0x24 */ + floor, /* [BP-10h] type=0x24 */ + dir; /* [BP-12h] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + egg = *(arg_06); + set_info(1, 0); + + block_01AB: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_01E1; + + block_01BB: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_01AB; + + block_01E1: + /* global_address global_id=0x3C */ + suspend; + door = 0; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_022E: + if condition goto block_024E; + + block_0231: + if (Item.getQHi(item) != 1) goto block_024A; + + block_0243: + door = item; + + block_024A: + /* loopnext */ + goto block_022E; + + block_024E: + if door goto block_09EE; + + block_0258: + /* global_address global_id=0x3C */ + if (Intrinsic00D7() != 3) goto block_027D; + + block_0276: + counter = 2; + goto block_0284; + + block_027D: + counter = 3; + + block_0284: + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(counter, 0); + /* global_address global_id=0x3C */ + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0332: + if condition goto block_0340; + + block_0335: + willmar = item; + /* loopnext */ + goto block_0332; + + block_0340: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0360: + if condition goto block_037C; + + block_0363: + dir = Item.callEvent0A(item); + floor = item; + /* loopnext */ + goto block_0360; + + block_037C: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_039C: + if condition goto block_03AA; + + block_039F: + post1 = item; + /* loopnext */ + goto block_039C; + + block_03AA: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_03CA: + if condition goto block_03D8; + + block_03CD: + post2 = item; + /* loopnext */ + goto block_03CA; + + block_03D8: + if (post1 && post2) goto block_057B; + + block_03EB: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + if dir goto block_04BD; + + block_0436: + counter = 1; + + block_0457: + if (counter <= 4) goto block_04BA; + + block_045F: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0457; + + block_04BA: + goto block_052D; + + block_04BD: + counter = 0; + + block_04C4: + if (counter <= 3) goto block_052D; + + block_04CC: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + counter = (1 + counter); + goto block_04C4; + + block_052D: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + + block_057B: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_05BF: + if condition goto block_05F0; + + block_05C2: + door = item; + spawn class_0A06_slot_21(pid, 1, door); + suspend; + /* loopnext */ + goto block_05BF; + + block_05F0: + spawn class_0A11_slot_21(pid, 4, willmar); + suspend; + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + suspend; + spawn class_0A11_slot_21(pid, 2, willmar); + suspend; + suspend; + spawn class_0A06_slot_21(pid, 1, door); + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + spawn class_0A11_slot_21(pid, 2, willmar); + suspend; + suspend; + spawn class_0A06_slot_21(pid, 2, door); + suspend; + if (post1 && post2) goto block_09D8; + + block_0848: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + if (!dir) goto block_091A; + + block_0893: + counter = 1; + + block_08B4: + if (counter <= 4) goto block_0917; + + block_08BC: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + counter = (1 + counter); + goto block_08B4; + + block_0917: + goto block_098A; + + block_091A: + counter = 0; + + block_0921: + if (counter <= 3) goto block_098A; + + block_0929: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0921; + + block_098A: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + + block_09D8: + + block_09EE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS6/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS6/slot_04_cachein.txt new file mode 100644 index 0000000..628f3b4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS6/slot_04_cachein.txt @@ -0,0 +1,9 @@ +function miss6_cachein() /* entry=358 class_id=0x0912 slot=0x04 */ +{ + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS6/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS6/slot_07_hatch.txt new file mode 100644 index 0000000..afde41a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS6/slot_07_hatch.txt @@ -0,0 +1,26 @@ +function miss6_hatch() /* entry=358 class_id=0x0912 slot=0x07 */ +{ + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_0163; + + block_0139: + class_0A0C_slot_41(); + spawn class_0912_slot_20(pid, arg_06); + suspend; + goto block_019D; + + block_0163: + if (Intrinsic003F(arg_06) != 2) goto block_019D; + + block_0172: + /* pop_global global_id=0x34 size=0x1 */ + spawn class_0912_slot_21(1, pid, arg_06); + suspend; + goto block_019D; + + block_019D: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS6/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS6/slot_20_slot_20.txt new file mode 100644 index 0000000..582351a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS6/slot_20_slot_20.txt @@ -0,0 +1,156 @@ +function miss6_slot_20() /* entry=358 class_id=0x0912 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + snell, /* [BP-02h] type=0x24 */ + n, /* [BP-04h] type=0x24 */ + item, /* [BP-06h] type=0x24 */ + door, /* [BP-08h] type=0x24 */ + doorX; /* [BP-0Ah] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + + block_01D1: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_0207; + + block_01E1: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_01D1; + + block_0207: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0225: + if condition goto block_026D; + + block_0228: + /* loopnext */ + goto block_0225; + + block_026D: + if snell goto block_0720; + + block_0277: + suspend; + door = 0; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_02C3: + if condition goto block_0310; + + block_02C6: + if (Intrinsic00D9(item) != 19) goto block_030C; + + block_02D8: + door = item; + spawn class_0A06_slot_20(pid, door); + suspend; + doorX = Intrinsic0013(door); + + block_030C: + /* loopnext */ + goto block_02C3; + + block_0310: + if (!door) goto block_0376; + + block_031B: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_0339: + if condition goto block_0374; + + block_033C: + door = item; + spawn class_0A06_slot_20(pid, door); + suspend; + doorX = Intrinsic0013(door); + /* loopnext */ + goto block_0339; + + block_0374: + + block_0376: + /* global_address global_id=0x3C */ + if (Intrinsic0013() > doorX) goto block_03B8; + + block_038F: + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 1, 12); + suspend; + goto block_03FA; + + block_03B8: + /* global_address global_id=0x3C */ + if (Intrinsic0013() < (doorX - 64)) goto block_03FA; + + block_03D1: + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 1, 4); + suspend; + goto block_03FA; + + block_03FA: + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 4, 0); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 2, 14); + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(pid, 2, 4, snell); + suspend; + spawn class_0A11_slot_22(pid, 1, 6, snell); + suspend; + suspend; + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + spawn class_0A11_slot_22(pid, 1, 4, snell); + suspend; + spawn class_0A11_slot_22(pid, 1, 2, snell); + suspend; + spawn class_0A11_slot_22(pid, 1, 4, snell); + suspend; + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + spawn class_0A11_slot_24(pid, snell); + suspend; + /* global_address global_id=0x3C */ + suspend; + /* pop_global global_id=0x25 size=0x1 */ + + block_0720: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS6/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS6/slot_21_slot_21.txt new file mode 100644 index 0000000..788fb21 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS6/slot_21_slot_21.txt @@ -0,0 +1,10 @@ +function miss6_slot_21() /* entry=358 class_id=0x0912 slot=0x21 */ +{ + entry: + set_info(0x0001, *(arg_06)); + spawn class_0A0C_slot_26(pid, "6f", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS7/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS7/slot_04_cachein.txt new file mode 100644 index 0000000..2cae0b8 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS7/slot_04_cachein.txt @@ -0,0 +1,13 @@ +function miss7_cachein() /* entry=359 class_id=0x0913 slot=0x04 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS8/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS8/slot_04_cachein.txt new file mode 100644 index 0000000..49e6f39 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS8/slot_04_cachein.txt @@ -0,0 +1,9 @@ +function miss8_cachein() /* entry=360 class_id=0x0914 slot=0x04 */ +{ + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS8/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS8/slot_07_hatch.txt new file mode 100644 index 0000000..7aba293 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS8/slot_07_hatch.txt @@ -0,0 +1,17 @@ +function miss8_hatch() /* entry=360 class_id=0x0914 slot=0x07 */ +{ + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_015D; + + block_0133: + class_0A0C_slot_41(); + spawn class_0914_slot_20(pid, arg_06); + suspend; + goto block_015D; + + block_015D: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS8/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS8/slot_20_slot_20.txt new file mode 100644 index 0000000..79bff3d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS8/slot_20_slot_20.txt @@ -0,0 +1,176 @@ +function miss8_slot_20() /* entry=360 class_id=0x0914 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + willmar, /* [BP-02h] type=0x24 */ + counter, /* [BP-04h] type=0x69 */ + item, /* [BP-06h] type=0x24 */ + cardReader, /* [BP-08h] type=0x24 */ + telebeam, /* [BP-0Ah] type=0x24 */ + telepad, /* [BP-0Ch] type=0x24 */ + egg, /* [BP-0Eh] type=0x24 */ + y; /* [BP-10h] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + /* global_address global_id=0x3C */ + y = Item.legal_create(); + + block_01A0: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_01D6; + + block_01B0: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_01A0; + + block_01D6: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_01F4: + if condition goto block_023C; + + block_01F7: + /* loopnext */ + goto block_01F4; + + block_023C: + if willmar goto block_07DD; + + block_0246: + counter = 0; + /* pop_global global_id=0x27 size=0x1 */ + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(1, 2, 0); + spawn class_0A11_slot_22(pid, 2, 12, willmar); + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A11_slot_22(pid, 4, 12, willmar); + suspend; + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + suspend; + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + spawn class_0A11_slot_22(pid, 3, 12, willmar); + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + spawn class_0A11_slot_22(pid, 2, 0, willmar); + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + counter = 0; + + block_05FD: + if (counter <= 37) goto block_0645; + + block_0605: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_05FD; + + block_0645: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = 0; + + block_06A8: + if (counter <= 37) goto block_06F3; + + block_06B0: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_06A8; + + block_06F3: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = 0; + + block_0795: + if (counter <= 40) goto block_07DD; + + block_079D: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0795; + + block_07DD: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_07FC: + if condition goto block_0830; + + block_07FF: + if (Intrinsic00D9(item) != 0x00FF) goto block_082C; + + block_0812: + + block_082C: + /* loopnext */ + goto block_07FC; + + block_0830: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_0889: + if condition goto block_08D2; + + block_088C: + if ((Item.getFrame(item) != 0) && (Intrinsic00D9(item) != 20)) goto block_08CE; + + block_08AE: + suspend; + + block_08CE: + /* loopnext */ + goto block_0889; + + block_08D2: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS9/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS9/slot_04_cachein.txt new file mode 100644 index 0000000..1be0f28 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS9/slot_04_cachein.txt @@ -0,0 +1,9 @@ +function miss9_cachein() /* entry=361 class_id=0x0915 slot=0x04 */ +{ + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS9/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS9/slot_07_hatch.txt new file mode 100644 index 0000000..bff8733 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS9/slot_07_hatch.txt @@ -0,0 +1,17 @@ +function miss9_hatch() /* entry=361 class_id=0x0915 slot=0x07 */ +{ + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_015D; + + block_0133: + class_0A0C_slot_41(); + spawn class_0915_slot_20(pid, arg_06); + suspend; + goto block_015D; + + block_015D: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MISS9/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/MISS9/slot_20_slot_20.txt new file mode 100644 index 0000000..ede3de8 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MISS9/slot_20_slot_20.txt @@ -0,0 +1,161 @@ +function miss9_slot_20() /* entry=361 class_id=0x0915 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP-02h] type=0x24 */ + station, /* [BP-04h] type=0x24 */ + screen, /* [BP-06h] type=0x24 */ + item, /* [BP-08h] type=0x24 */ + counter; /* [BP-0Ah] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + /* pop_global global_id=0x28 size=0x1 */ + + block_019A: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_01D0; + + block_01AA: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_019A; + + block_01D0: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF8 string_bytes=0x6 loop_type=0x2 */ + + block_021E: + if condition goto block_022C; + + block_0221: + station = item; + /* loopnext */ + goto block_021E; + + block_022C: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF8 string_bytes=0x6 loop_type=0x2 */ + + block_024C: + if condition goto block_026F; + + block_024F: + if (Intrinsic00D9(item) != 99) goto block_026B; + + block_0264: + screen = item; + + block_026B: + /* loopnext */ + goto block_024C; + + block_026F: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF8 string_bytes=0x6 loop_type=0x2 */ + + block_028F: + if condition goto block_029D; + + block_0292: + target = item; + /* loopnext */ + goto block_028F; + + block_029D: + if target goto block_05B3; + + block_02A7: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF8 string_bytes=0x6 loop_type=0x2 */ + + block_02C4: + if condition goto block_02E5; + + block_02C7: + if Intrinsic00D9(item) goto block_02E1; + + block_02D6: + + block_02E1: + /* loopnext */ + goto block_02C4; + + block_02E5: + + block_02E7: + class_0A0C_slot_29(*(arg_06), global[0x003C]); + if ((retval > 2) && (counter != 6)) goto block_036A; + + block_030C: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + spawn class_0A11_slot_22(Item.getDirToItem(Intrinsic0013(pid, 1, Item.legal_create(Item.legal_create(arg_06), Intrinsic0013(arg_06))))); + suspend; + counter = (1 + counter); + goto block_02E7; + + block_036A: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + spawn class_0A0C_slot_32(pid, 120, 0x00000000); + suspend; + spawn class_0A0C_slot_3D(pid, Item.legal_create(target), Intrinsic0013(target), 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + spawn class_0A0C_slot_3E(pid, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 120, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF8 string_bytes=0x6 loop_type=0x2 */ + + block_0550: + if condition goto block_057A; + + block_0553: + if (Intrinsic00D9(item) != 0x00FF) goto block_0576; + + block_0569: + + block_0576: + /* loopnext */ + goto block_0550; + + block_057A: + spawn class_0A0C_slot_26(pid, "9f", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_05B3: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MONITEW/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/MONITEW/slot_01_use.txt new file mode 100644 index 0000000..6de83df --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MONITEW/slot_01_use.txt @@ -0,0 +1,96 @@ +function monitew_use() /* entry=68 class_id=0x0165 slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + textFile, /* [BP-02h] type=0x73 */ + valueBox, /* [BP-04h] type=0x24 */ + passcode, /* [BP-06h] type=0x69 */ + link, /* [BP-08h] type=0x69 */ + boxCounter; /* [BP-0Ah] type=0x69 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) > 1) goto block_0106; + + block_0100: + goto block_02E2; + + block_0106: + link = Intrinsic00D9(arg_06); + if (Item.getMapNum(arg_06) != 0) goto block_01EB; + + block_0126: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0144: + if condition goto block_01BF; + + block_0147: + if ((Intrinsic00D9(valueBox) != link) || (link != 0)) goto block_01BB; + + block_0162: + class_0A19_slot_20(valueBox); + passcode = retval; + class_0A17_slot_23(passcode, Item.callEvent0A(valueBox), Intrinsic00D9(valueBox), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = retval; + spawn class_0A17_slot_20(pid, textFile, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_01BB: + /* loopnext */ + goto block_0144; + + block_01BF: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_02E2; + + block_01EB: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0209: + if condition goto block_0241; + + block_020C: + if (Intrinsic00D9(valueBox) != link) goto block_023D; + + block_0224: + class_0A19_slot_20(valueBox); + passcode = retval; + boxCounter = (1 + boxCounter); + + block_023D: + /* loopnext */ + goto block_0209; + + block_0241: + class_0A17_slot_23(passcode, Item.callEvent0A(arg_06), Intrinsic00D9(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = retval; + if (boxCounter > 1) goto block_02BD; + + block_0276: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "There is more than one Value box in range with the same link"; + + block_02BD: + spawn class_0A17_slot_20(pid, textFile, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_02E2: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MONITEW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MONITEW/slot_06_gotHit.txt new file mode 100644 index 0000000..7e629e9 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MONITEW/slot_06_gotHit.txt @@ -0,0 +1,13 @@ +function monitew_gotHit() /* entry=68 class_id=0x0165 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MONITNS/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/MONITNS/slot_01_use.txt new file mode 100644 index 0000000..c4c843d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MONITNS/slot_01_use.txt @@ -0,0 +1,96 @@ +function monitns_use() /* entry=45 class_id=0x0102 slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + textFile, /* [BP-02h] type=0x73 */ + valueBox, /* [BP-04h] type=0x24 */ + passcode, /* [BP-06h] type=0x69 */ + link, /* [BP-08h] type=0x69 */ + boxCounter; /* [BP-0Ah] type=0x69 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) > 1) goto block_0106; + + block_0100: + goto block_02E2; + + block_0106: + link = Intrinsic00D9(arg_06); + if (Item.getMapNum(arg_06) != 0) goto block_01EB; + + block_0126: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0144: + if condition goto block_01BF; + + block_0147: + if ((Intrinsic00D9(valueBox) != link) || (link != 0)) goto block_01BB; + + block_0162: + class_0A19_slot_20(valueBox); + passcode = retval; + class_0A17_slot_23(passcode, Item.callEvent0A(valueBox), Intrinsic00D9(valueBox), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = retval; + spawn class_0A17_slot_20(pid, textFile, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_01BB: + /* loopnext */ + goto block_0144; + + block_01BF: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_02E2; + + block_01EB: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0209: + if condition goto block_0241; + + block_020C: + if (Intrinsic00D9(valueBox) != link) goto block_023D; + + block_0224: + class_0A19_slot_20(valueBox); + passcode = retval; + boxCounter = (1 + boxCounter); + + block_023D: + /* loopnext */ + goto block_0209; + + block_0241: + class_0A17_slot_23(passcode, Item.callEvent0A(arg_06), Intrinsic00D9(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = retval; + if (boxCounter > 1) goto block_02BD; + + block_0276: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "There is more than one Value box in range with the same link"; + + block_02BD: + spawn class_0A17_slot_20(pid, textFile, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_02E2: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MONITNS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MONITNS/slot_06_gotHit.txt new file mode 100644 index 0000000..b606374 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MONITNS/slot_06_gotHit.txt @@ -0,0 +1,13 @@ +function monitns_gotHit() /* entry=45 class_id=0x0102 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MONSTER/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/MONSTER/slot_0A_equip.txt new file mode 100644 index 0000000..221acdf --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MONSTER/slot_0A_equip.txt @@ -0,0 +1,24 @@ +function monster_equip() /* entry=274 class_id=0x04D0 slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + monster1, /* [BP-02h] type=0x24 */ + a, /* [BP-04h] type=0x69 */ + npc, /* [BP-06h] type=0x24 */ + door, /* [BP-08h] type=0x24 */ + newNpc; /* [BP-0Ah] type=0x24 */ + + set_info(0x0211, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) != 0)) { + monster1 = *(arg_06); + set_info(0x021B, 0); + if ((((var != 0) || (var != 1)) || (var != 2)) || (var == 3)) { + spawn class_0A1E_slot_2D(pid, var, monster1, arg_06); + suspend; + } + return; + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MONSTER/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/MONSTER/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..b5a222b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MONSTER/slot_0F_enterFastArea.txt @@ -0,0 +1,23 @@ +function monster_enterFastArea() /* entry=274 class_id=0x04D0 slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + a; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) != 0) goto block_014A; + + block_00FD: + a = Item.getMapNum(arg_06); + if (a & 8) goto block_014A; + + block_0116: + spawn class_04D0_equip(pid, 0, arg_06); + suspend; + + block_014A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MOTION/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MOTION/slot_06_gotHit.txt new file mode 100644 index 0000000..35b203d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MOTION/slot_06_gotHit.txt @@ -0,0 +1,26 @@ +function motion_gotHit() /* entry=89 class_id=0x01B7 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + num; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2B(vel, ref); + num = retval; + if (((num != 3) || (num != 6)) && (Item.getFrame(arg_06) != 5)) goto block_0409; + + block_0394: + class_0A0C_slot_33(0x021B, *(arg_06)); + spawn class_0A1E_slot_28(pid, 0, 0, arg_06); + suspend; + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + + block_0409: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MOTION/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/MOTION/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..1459607 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MOTION/slot_0F_enterFastArea.txt @@ -0,0 +1,82 @@ +function motion_enterFastArea() /* entry=89 class_id=0x01B7 slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + trackedEnough, /* [BP-02h] type=0x69 */ + fram, /* [BP-04h] type=0x69 */ + movement, /* [BP-06h] type=0x69 */ + foundTarget, /* [BP-07h] type=0x62 */ + delay, /* [BP-09h] type=0x69 */ + iSeeYou, /* [BP-0Bh] type=0x69 */ + dir; /* [BP-0Dh] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + movement = 1; + delay = ((5 - Intrinsic0029()) * 2); + iSeeYou = ((5 - Intrinsic0029()) * 5); + + block_0112: + suspend; + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + dir = Intrinsic0027(Intrinsic0013(Item.legal_create(16, 0, 16)), Item.legal_create(arg_06), Intrinsic0013(arg_06)); + fram = Item.getFrame(arg_06); + if (dir != fram) goto block_01DA; + + block_019C: + trackedEnough = (1 + trackedEnough); + if ((trackedEnough > iSeeYou) && (foundTarget != 0)) goto block_01D7; + + block_01BA: + foundTarget = 1; + spawn class_0A18_slot_20(0, *(arg_06), arg_06); + + block_01D7: + goto block_02A1; + + block_01DA: + if trackedEnough goto block_0207; + + block_01E2: + if ((12 - dir) > fram) goto block_0200; + + block_01F6: + movement = 1; + goto block_0207; + + block_0200: + movement = -1; + + block_0207: + trackedEnough = 0; + foundTarget = 0; + if ((fram + movement) < 0) goto block_0253; + + block_0223: + movement = 1; + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + goto block_0291; + + block_0253: + if ((fram + movement) > 15) goto block_0291; + + block_0261: + movement = -1; + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + goto block_0291; + + block_0291: + + block_02A1: + goto block_0112; + + block_02A4: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MOTION/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/MOTION/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..866c1b5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MOTION/slot_10_leaveFastArea.txt @@ -0,0 +1,9 @@ +function motion_leaveFastArea() /* entry=89 class_id=0x01B7 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MTAREGG/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MTAREGG/slot_07_hatch.txt new file mode 100644 index 0000000..88be39e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MTAREGG/slot_07_hatch.txt @@ -0,0 +1,64 @@ +function mtaregg_hatch() /* entry=343 class_id=0x0903 slot=0x07 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + id, /* [BP-04h] type=0x69 */ + hiValue, /* [BP-06h] type=0x69 */ + loValue; /* [BP-08h] type=0x69 */ + + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + id = 0; + hiValue = 0; + loValue = 0; + id = Intrinsic003F(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0131: + if condition goto block_01E9; + + block_0134: + loValue = Intrinsic00D9(item); + if (id != loValue) goto block_01E5; + + block_0153: + hiValue = Item.callEvent0A(item); + if (hiValue != 1) goto block_0182; + + block_0169: + spawn class_0903_slot_20(74, 0, item, arg_06); + goto block_01E5; + + block_0182: + if (hiValue != 2) goto block_01A3; + + block_018A: + spawn class_0903_slot_20(74, 4, item, arg_06); + goto block_01E5; + + block_01A3: + if (hiValue != 3) goto block_01C4; + + block_01AB: + spawn class_0903_slot_20(74, 8, item, arg_06); + goto block_01E5; + + block_01C4: + if (hiValue != 4) goto block_01E5; + + block_01CC: + spawn class_0903_slot_20(74, 12, item, arg_06); + goto block_01E5; + + block_01E5: + /* loopnext */ + goto block_0131; + + block_01E9: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MTAREGG/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/MTAREGG/slot_20_slot_20.txt new file mode 100644 index 0000000..9b87d09 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MTAREGG/slot_20_slot_20.txt @@ -0,0 +1,73 @@ +function mtaregg_slot_20() /* entry=343 class_id=0x0903 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + dir, /* [BP+0Ch] type=0x62 */ + num, /* [BP+0Eh] type=0x69 */ + me, /* [BP-02h] type=0x24 */ + num, /* [BP-04h] type=0x69 */ + dp, /* [BP-09h] type=0x24 */ + wp; /* [BP-0Eh] type=0x24 */ + + entry: + set_info(0x00F0, ref); + me = ref; + num = num; + if (dir != 0) goto block_0264; + + block_0253: + local_07 = -2; + dp = 0; + goto block_02AF; + + block_0264: + if (dir != 8) goto block_027D; + + block_026C: + local_07 = 2; + dp = 0; + goto block_02AF; + + block_027D: + if (dir != 4) goto block_0296; + + block_0285: + local_07 = 0; + dp = 2; + goto block_02AF; + + block_0296: + if (dir != 12) goto block_02AF; + + block_029E: + local_07 = 0; + dp = -2; + goto block_02AF; + + block_02AF: + suspend; + if (num != 0) goto block_02D0; + + block_02CA: + goto block_033C; + + block_02D0: + num = (num - 1); + wp = Intrinsic0013(me); + local_0C = Item.legal_create(me); + local_0A = Item.getZ(me); + wp = (wp + dp); + local_0C = (local_0C + local_07); + if (Item.pop(0, 1, wp, me) != 0) goto block_0339; + + block_0333: + goto block_033C; + + block_0339: + goto block_02AF; + + block_033C: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MTELEPAD/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/MTELEPAD/slot_06_gotHit.txt new file mode 100644 index 0000000..dd58892 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MTELEPAD/slot_06_gotHit.txt @@ -0,0 +1,56 @@ +function mtelepad_gotHit() /* entry=75 class_id=0x018E slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + ke, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + npc; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + class_0A0C_slot_2C(ke, ref); + if retval goto block_010A; + + block_0104: + goto block_0199; + + block_010A: + if (Item.isNpc(item) != 0) goto block_0127; + + block_011C: + + block_0127: + if (Intrinsic0070() != 1) goto block_0199; + + block_0135: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + + block_0150: + if condition goto block_0191; + + block_0153: + if (npc < 0x0100) goto block_018D; + + block_015F: + if (npc != 1) goto block_018D; + + block_016A: + + block_018D: + /* loopnext */ + goto block_0150; + + block_0191: + goto block_0199; + + block_0199: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MTELEPAD/slot_09_release.txt b/USECODE/EUSECODE_extracted/pseudocode/MTELEPAD/slot_09_release.txt new file mode 100644 index 0000000..7f168f6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MTELEPAD/slot_09_release.txt @@ -0,0 +1,65 @@ +function mtelepad_release() /* entry=75 class_id=0x018E slot=0x09 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + tele, /* [BP-02h] type=0x24 */ + npc; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020D, *(arg_06)); + process_exclude(); + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + + block_0225: + if condition goto block_0232; + + block_0228: + goto block_02B0; + + block_022E: + /* loopnext */ + goto block_0225; + + block_0232: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + + block_024F: + if condition goto block_02AE; + + block_0252: + if (npc != 1) goto block_02A4; + + block_0260: + /* global_address global_id=0x3C */ + if Item.getQLo(*(arg_06)) goto block_029D; + + block_0274: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0260; + + block_029D: + + block_02A4: + goto block_02B0; + + block_02AA: + /* loopnext */ + goto block_024F; + + block_02AE: + + block_02B0: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/MUSIC/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/MUSIC/slot_07_hatch.txt new file mode 100644 index 0000000..683ad42 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/MUSIC/slot_07_hatch.txt @@ -0,0 +1,8 @@ +function music_hatch() /* entry=368 class_id=0x091C slot=0x07 */ +{ + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NOSTRIL/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/NOSTRIL/slot_0A_equip.txt new file mode 100644 index 0000000..4f3774f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NOSTRIL/slot_0A_equip.txt @@ -0,0 +1,48 @@ +function nostril_equip() /* entry=237 class_id=0x043E slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + event, /* [BP+0Ah] type=0x69 */ + fire; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (event != 0) goto block_0139; + + block_00FF: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + + block_011B: + if condition goto block_0134; + + block_011E: + spawn class_043E_slot_20(fire, arg_06); + /* loopnext */ + goto block_011B; + + block_0134: + goto block_017A; + + block_0139: + if (event != 1) goto block_017A; + + block_0141: + if (Item.getStatus(arg_06) & 0x1000) goto block_015A; + + block_0154: + goto block_017A; + + block_015A: + class_0A1E_slot_23(0x1000, arg_06); + spawn class_043E_slot_21(arg_06); + goto block_017A; + + block_017A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NOSTRIL/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/NOSTRIL/slot_20_slot_20.txt new file mode 100644 index 0000000..73b87c5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NOSTRIL/slot_20_slot_20.txt @@ -0,0 +1,32 @@ +function nostril_slot_20() /* entry=237 class_id=0x043E slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + fire, /* [BP+0Ah] type=0x24 */ + count, /* [BP-02h] type=0x69 */ + fire2; /* [BP-04h] type=0x24 */ + + entry: + set_info(1, *(arg_06)); + if Item.getQHi() goto block_0259; + + block_0218: + if (Item.getFrame(fire2) != 21) goto block_0256; + + block_022D: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0218; + + block_0256: + goto block_027F; + + block_0259: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + + block_027F: + class_0A1E_slot_24(0x1000, arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NOSTRIL/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/NOSTRIL/slot_21_slot_21.txt new file mode 100644 index 0000000..33abcb4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NOSTRIL/slot_21_slot_21.txt @@ -0,0 +1,41 @@ +function nostril_slot_21() /* entry=237 class_id=0x043E slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + fire, /* [BP-02h] type=0x24 */ + fire2, /* [BP-04h] type=0x24 */ + count; /* [BP-06h] type=0x69 */ + + entry: + set_info(1, *(arg_06)); + spawn class_0A0C_slot_32(Intrinsic00DA(pid, 15, 0), 0x00000000); + suspend; + if Item.getQHi() goto block_03A2; + + block_0364: + if (Item.getFrame(fire) != 10) goto block_039F; + + block_0376: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0364; + + block_039F: + goto block_03C8; + + block_03A2: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + + block_03C8: + if Item.getQHi() goto block_0441; + + block_0428: + goto block_0457; + + block_0441: + + block_0457: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_0A_equip.txt new file mode 100644 index 0000000..a64a528 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_0A_equip.txt @@ -0,0 +1,35 @@ +function npc_equip() /* entry=387 class_id=0x0A11 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Kernel.resetRef(arg_06)) { + if (arg_0A == 1) { + } + else if (arg_0A == 2) { + } + else if (arg_0A == 3) { + } + else if (arg_0A == 10) { + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + local_02 = teleportToEgg(); + local_04 = Intrinsic0087(); + local_06 = Intrinsic0013(arg_06); + local_08 = Item.legal_create(arg_06); + spawn class_0A11_slot_29(pid, local_08, local_06, local_04, local_02, arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + } + else if (arg_0A == 30) { + local_0A = Intrinsic00DF(1, arg_06); + local_0C = Intrinsic00DF(2, arg_06); + local_0E = Intrinsic00DF(0, arg_06); + } + else if (arg_0A == 31) { + suspend; + } + return; + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_20_slot_20.txt new file mode 100644 index 0000000..8c50155 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_20_slot_20.txt @@ -0,0 +1,28 @@ +function npc_slot_20() /* entry=387 class_id=0x0A11 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x4E */ + /* loop current_var=0xFE string_bytes=0x1E loop_type=0x2 */ + + block_0191: + if condition goto block_01A1; + + block_0194: + goto block_01AC; + + block_019D: + /* loopnext */ + goto block_0191; + + block_01A1: + goto block_01AC; + + block_01AC: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_21_slot_21.txt new file mode 100644 index 0000000..319729e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_21_slot_21.txt @@ -0,0 +1,34 @@ +function npc_slot_21() /* entry=387 class_id=0x0A11 slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + x, /* [BP+0Ah] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x020A, *(arg_06)); + if (!x) goto block_01EB; + + block_01E7: + x = 1; + + block_01EB: + counter = 1; + + block_01F2: + if (counter <= x) goto block_025A; + + block_01FD: + if ((Kernel.resetRef(arg_06) != 0) && (Intrinsic00CC(arg_06) != 0)) goto block_024D; + + block_021F: + suspend; + + block_024D: + counter = (1 + counter); + goto block_01F2; + + block_025A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_22_slot_22.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_22_slot_22.txt new file mode 100644 index 0000000..530af5c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_22_slot_22.txt @@ -0,0 +1,15 @@ +function npc_slot_22() /* entry=387 class_id=0x0A11 slot=0x22 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + dir, /* [BP+0Ah] type=0x62 */ + x; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020A, *(arg_06)); + suspend; + spawn class_0A11_slot_21(pid, x, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_23_slot_23.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_23_slot_23.txt new file mode 100644 index 0000000..da39b39 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_23_slot_23.txt @@ -0,0 +1,93 @@ +function npc_slot_23() /* entry=387 class_id=0x0A11 slot=0x23 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + pad, /* [BP-04h] type=0x24 */ + padDir; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x020A, *(arg_06)); + /* global_address global_id=0x3C */ + if (Item.getType((*(arg_06) != 1)) != 40) goto block_0346; + + block_032F: + /* global_address global_id=0x3C */ + + block_0346: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0366: + if condition goto block_0374; + + block_0369: + pad = item; + /* loopnext */ + goto block_0366; + + block_0374: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + + block_039F: + if condition goto block_03F2; + + block_03A2: + if (Intrinsic0016(item) != 0x018E) goto block_03D8; + + block_03BB: + if (!Item.getFrame(item)) goto block_03D5; + + block_03CE: + padDir = 1; + + block_03D5: + goto block_03EE; + + block_03D8: + if Item.getFrame(item) goto block_03EE; + + block_03E7: + padDir = 1; + + block_03EE: + /* loopnext */ + goto block_039F; + + block_03F2: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + if (!padDir) goto block_0495; + + block_046B: + suspend; + goto block_04BC; + + block_0495: + suspend; + + block_04BC: + /* global_address global_id=0x3C */ + if Item.touch(48) goto block_04F4; + + block_04CE: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + + block_04F4: + if (*(arg_06) != 1) goto block_0529; + + block_0504: + /* global_address global_id=0x3C */ + + block_0529: + goto block_052F; + + block_052F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_24_slot_24.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_24_slot_24.txt new file mode 100644 index 0000000..8cf9e57 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_24_slot_24.txt @@ -0,0 +1,90 @@ +function npc_slot_24() /* entry=387 class_id=0x0A11 slot=0x24 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + pad, /* [BP-04h] type=0x24 */ + padDir; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x020A, *(arg_06)); + if (global[0x003C] != *(arg_06)) goto block_0627; + + block_0589: + /* global_address global_id=0x3C */ + + block_05AE: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_05E7; + + block_05BE: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_05AE; + + block_05E7: + /* global_address global_id=0x3C */ + if Intrinsic0035() goto block_0627; + + block_05F7: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + + block_0627: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0647: + if condition goto block_0655; + + block_064A: + pad = item; + /* loopnext */ + goto block_0647; + + block_0655: + if pad goto block_08C9; + + block_065F: + if (Item.getFrame(pad) != 1) goto block_0785; + + block_06A9: + /* global_address global_id=0x3C */ + suspend; + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + suspend; + goto block_085E; + + block_0785: + /* global_address global_id=0x3C */ + suspend; + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + suspend; + + block_085E: + /* global_address global_id=0x3C */ + if Item.touch(52) goto block_08A3; + + block_087D: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + + block_08A3: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + + block_08C9: + goto block_08CF; + + block_08CF: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_25_slot_25.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_25_slot_25.txt new file mode 100644 index 0000000..482e247 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_25_slot_25.txt @@ -0,0 +1,22 @@ +function npc_slot_25() /* entry=387 class_id=0x0A11 slot=0x25 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + toDir, /* [BP+0Ch] type=0x69 */ + e; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x020A, *(arg_06)); + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + e = Item.getQHi(arg_06); + if (!Kernel.resetRef(arg_06)) goto block_099E; + + block_098A: + + block_099E: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_26_slot_26.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_26_slot_26.txt new file mode 100644 index 0000000..e7d774a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_26_slot_26.txt @@ -0,0 +1,64 @@ +function npc_slot_26() /* entry=387 class_id=0x0A11 slot=0x26 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + toDir, /* [BP+0Ch] type=0x69 */ + stepNum, /* [BP+0Eh] type=0x69 */ + a, /* [BP-02h] type=0x69 */ + b, /* [BP-04h] type=0x69 */ + c, /* [BP-06h] type=0x69 */ + d, /* [BP-08h] type=0x69 */ + e, /* [BP-0Ah] type=0x69 */ + f, /* [BP-0Ch] type=0x69 */ + counter, /* [BP-0Eh] type=0x69 */ + g, /* [BP-10h] type=0x69 */ + h; /* [BP-12h] type=0x69 */ + + entry: + set_info(0x020A, *(arg_06)); + a = Item.getQHi(arg_06); + b = Intrinsic0050(arg_06); + if (!Kernel.resetRef(arg_06)) goto block_0A1B; + + block_0A0E: + + block_0A1B: + c = Item.getQHi(arg_06); + d = Intrinsic0050(arg_06); + if (!Kernel.resetRef(arg_06)) goto block_0A92; + + block_0A4A: + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + + block_0A92: + e = Item.getQHi(arg_06); + f = Intrinsic0050(arg_06); + counter = 1; + + block_0AB5: + if (counter <= stepNum) goto block_0B07; + + block_0AC0: + if (!Kernel.resetRef(arg_06)) goto block_0AFA; + + block_0AD3: + suspend; + + block_0AFA: + counter = (1 + counter); + goto block_0AB5; + + block_0B07: + g = Item.getQHi(arg_06); + h = Intrinsic0050(arg_06); + if (!Kernel.resetRef(arg_06)) goto block_0B4A; + + block_0B36: + + block_0B4A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_27_slot_27.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_27_slot_27.txt new file mode 100644 index 0000000..d438584 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_27_slot_27.txt @@ -0,0 +1,53 @@ +function npc_slot_27() /* entry=387 class_id=0x0A11 slot=0x27 */ +{ + entry: + set_info(0x020A, *(arg_06)); + + block_0E29: + if Intrinsic0033(arg_06) goto block_0E61; + + block_0E38: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0E29; + + block_0E61: + if Kernel.resetRef(arg_06) goto block_0E76; + + block_0E70: + goto block_0F29; + + block_0E76: + if (arg_0A != 0) goto block_0F1C; + + block_0E7E: + local_02 = Intrinsic0050(arg_06); + local_04 = Intrinsic00FA(arg_06); + local_06 = Item.getQLo(arg_06); + local_08 = Item.getCY(arg_06); + if (local_02 != 112) goto block_0ED7; + + block_0EC7: + goto block_0F19; + + block_0ED7: + if (local_02 != 113) goto block_0EF8; + + block_0EE8: + goto block_0F19; + + block_0EF8: + if (local_02 != 114) goto block_0F19; + + block_0F09: + goto block_0F19; + + block_0F19: + goto block_0F29; + + block_0F1C: + + block_0F29: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_28_slot_28.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_28_slot_28.txt new file mode 100644 index 0000000..9c696ca --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_28_slot_28.txt @@ -0,0 +1,7 @@ +function npc_slot_28() /* entry=387 class_id=0x0A11 slot=0x28 */ +{ + entry: + set_info(0x021B, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_29_slot_29.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_29_slot_29.txt new file mode 100644 index 0000000..1738d41 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_29_slot_29.txt @@ -0,0 +1,9 @@ +function npc_slot_29() /* entry=387 class_id=0x0A11 slot=0x29 */ +{ + entry: + set_info(0x021B, *(arg_06)); + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2A_slot_2A.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2A_slot_2A.txt new file mode 100644 index 0000000..e1195b3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2A_slot_2A.txt @@ -0,0 +1,42 @@ +function npc_slot_2A() /* entry=387 class_id=0x0A11 slot=0x2A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + phrase, /* [BP+0Ah] type=0x69 */ + n; /* [BP-02h] type=0x24 */ + + entry: + n = *(arg_06); + set_info(0x0205, 0); + if ((global[0x0008] != 1) || (Intrinsic002C(n) != 0)) goto block_1051; + + block_104B: + goto block_10F6; + + block_1051: + /* pop_global global_id=0x8 size=0x1 */ + if (Item.getStatus(n) & 4) goto block_1072; + + block_106C: + goto block_10F6; + + block_1072: + class_0A1E_slot_23(4, n); + + block_108D: + if Item.touch(phrase, n) goto block_10C7; + + block_109E: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_108D; + + block_10C7: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + /* pop_global global_id=0x8 size=0x1 */ + + block_10F6: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2B_slot_2B.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2B_slot_2B.txt new file mode 100644 index 0000000..613574d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2B_slot_2B.txt @@ -0,0 +1,15 @@ +function npc_slot_2B() /* entry=387 class_id=0x0A11 slot=0x2B */ +{ + entry: + if (((((((Intrinsic0016(arg_06) != 0x02CB) || (Intrinsic0016(arg_06) != 0x033C)) || (Intrinsic0016(arg_06) != 0x045D)) || (Intrinsic0016(arg_06) != 0x0338)) || (Intrinsic0016(arg_06) != 0x0385)) || (Intrinsic0016(arg_06) != 0x04E6)) || (Intrinsic0016(arg_06) != 0x0383)) goto block_11BC; + + block_11B3: + goto block_11C5; + + block_11BC: + goto block_11C5; + + block_11C5: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2C_slot_2C.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2C_slot_2C.txt new file mode 100644 index 0000000..36848aa --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2C_slot_2C.txt @@ -0,0 +1,13 @@ +function npc_slot_2C() /* entry=387 class_id=0x0A11 slot=0x2C */ +{ + var + referent, /* [BP+00h] type=0x69 */ + damageSource; /* [BP+0Ah] type=0x69 */ + + entry: + set_info(0x020A, *(arg_06)); + spawn class_0A11_slot_2D(pid, 8, damageSource, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2D_slot_2D.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2D_slot_2D.txt new file mode 100644 index 0000000..e353a78 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2D_slot_2D.txt @@ -0,0 +1,47 @@ +function npc_slot_2D() /* entry=387 class_id=0x0A11 slot=0x2D */ +{ + var + referent, /* [BP+00h] type=0x69 */ + damageSource, /* [BP+0Ah] type=0x69 */ + dir, /* [BP+0Ch] type=0x69 */ + aSet; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x020A, *(arg_06)); + if (*(arg_06) > 0x0100) goto block_126A; + + block_1264: + goto block_1346; + + block_126A: + if (*(arg_06) != 1) goto block_12C5; + + block_1277: + if (global[0x0009] != 1) goto block_128A; + + block_1284: + goto block_1346; + + block_128A: + aSet = Item.getNpcNum(arg_06); + spawn class_0A11_slot_2E(arg_06); + goto block_1346; + + block_12C5: + if (*(arg_06) != Item.pop()) goto block_1346; + + block_12D5: + class_0A11_slot_2B(arg_06); + if ((retval != 0) && (Intrinsic0007(arg_06) != 1)) goto block_131D; + + block_12F8: + + block_131D: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_1346; + + block_1346: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2E_slot_2E.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2E_slot_2E.txt new file mode 100644 index 0000000..3ba2d6c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC/slot_2E_slot_2E.txt @@ -0,0 +1,11 @@ +function npc_slot_2E() /* entry=387 class_id=0x0A11 slot=0x2E */ +{ + entry: + set_info(1, 0); + /* pop_global global_id=0x9 size=0x1 */ + spawn class_0A0C_slot_32(1, pid, (90 - (Intrinsic0029() * 8)), 0x00000000); + suspend; + /* pop_global global_id=0x9 size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPCDEATH/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/NPCDEATH/slot_20_slot_20.txt new file mode 100644 index 0000000..4b6ca5a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPCDEATH/slot_20_slot_20.txt @@ -0,0 +1,912 @@ +function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + link, /* [BP+0Ch] type=0x69 */ + n, /* [BP-02h] type=0x24 */ + NpcContents, /* [BP-03h] type=0x62 */ + deathBox, /* [BP-05h] type=0x24 */ + param, /* [BP-07h] type=0x69 */ + hits, /* [BP-09h] type=0x69 */ + keyCard, /* [BP-0Bh] type=0x24 */ + t, /* [BP-0Dh] type=0x69 */ + item, /* [BP-0Fh] type=0x24 */ + deadGuy, /* [BP-11h] type=0x24 */ + goods, /* [BP-13h] type=0x24 */ + counter, /* [BP-15h] type=0x69 */ + spillBlood, /* [BP-16h] type=0x62 */ + spillOil, /* [BP-17h] type=0x62 */ + spillCoolant, /* [BP-18h] type=0x62 */ + nx, /* [BP-1Ah] type=0x69 */ + ny, /* [BP-1Ch] type=0x69 */ + nz, /* [BP-1Dh] type=0x62 */ + dir, /* [BP-1Fh] type=0x69 */ + newDir, /* [BP-21h] type=0x69 */ + flipIt, /* [BP-22h] type=0x62 */ + newType; /* [BP-24h] type=0x69 */ + + entry: + set_info(0x0205, 0); + if (!Item.getQ(arg_06)) goto block_0116; + + block_0110: + goto block_132F; + + block_0116: + if Npc.isDead(arg_06) goto block_014E; + + block_0125: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0116; + + block_014E: + n = ref; + NpcContents = 0; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFB string_bytes=0x6 loop_type=0x2 */ + + block_0178: + if condition goto block_034F; + + block_017B: + if (link != Item.getNpcNum(deathBox)) goto block_034B; + + block_0190: + if (Item.getMapNum(deathBox) != 0) goto block_01D0; + + block_01A2: + spawn class_0A18_slot_20(pid, 0, deathBox, deathBox); + suspend; + goto block_034F; + + block_01CD: + goto block_034B; + + block_01D0: + param = Intrinsic00FB(deathBox); + hits = Item.setQ(deathBox); + if (param != 0) goto block_01F7; + + block_01F4: + goto block_031C; + + block_01F7: + if ((((param != 1) || (param != 2)) || (param != 3)) || (param != 4)) goto block_031C; + + block_0211: + if hits goto block_023C; + + block_022C: + goto block_0249; + + block_023C: + + block_0249: + t = Intrinsic0016(arg_06); + if ((((((t != 0x0576) || (t != 0x0596)) || (t != 0x058F)) || (t != 0x04D9)) || (t != 0x03AC)) || (t != 0x059C)) goto block_0303; + + block_02B1: + if (t != 0x04D9) goto block_02DA; + + block_02C3: + goto block_0300; + + block_02DA: + + block_0300: + goto block_0312; + + block_0303: + + block_0312: + NpcContents = 1; + goto block_031C; + + block_031C: + spawn class_0A18_slot_20(pid, (0x0080 + 0), deathBox, deathBox); + suspend; + goto block_034F; + + block_034B: + /* loopnext */ + goto block_0178; + + block_034F: + nx = Intrinsic0013(n); + ny = Item.legal_create(n); + nz = Item.getZ(n); + dir = (Item.getNpcNum(n) / 2); + if ((Intrinsic0016(n) != 0x058F) || (Intrinsic0016(n) != 0x059C)) goto block_03BE; + + block_03AA: + goto block_132F; + + block_03BB: + goto block_0F51; + + block_03BE: + if (Intrinsic0016(n) != 0x02FD) goto block_0474; + + block_03CE: + newType = 0x0339; + if (dir != 4) goto block_03EF; + + block_03DE: + newDir = 2; + flipIt = 1; + goto block_043A; + + block_03EF: + if (dir != 5) goto block_0408; + + block_03F7: + newDir = 1; + flipIt = 1; + goto block_043A; + + block_0408: + if (dir != 6) goto block_0421; + + block_0410: + newDir = 0; + flipIt = 1; + goto block_043A; + + block_0421: + if (dir != 7) goto block_0433; + + block_0429: + newDir = 4; + goto block_043A; + + block_0433: + newDir = dir; + + block_043A: + if (Item.andStatus(n) != 20) goto block_045C; + + block_0452: + newDir = (newDir + 10); + + block_045C: + spillBlood = 1; + /* pop_global global_id=0xB size=0x2 */ + goto block_0F51; + + block_0474: + if (Intrinsic0016(n) != 0x0384) goto block_052A; + + block_0484: + newType = 0x04BF; + if (dir != 4) goto block_04A5; + + block_0494: + newDir = 2; + flipIt = 1; + goto block_04F0; + + block_04A5: + if (dir != 5) goto block_04BE; + + block_04AD: + newDir = 1; + flipIt = 1; + goto block_04F0; + + block_04BE: + if (dir != 6) goto block_04D7; + + block_04C6: + newDir = 0; + flipIt = 1; + goto block_04F0; + + block_04D7: + if (dir != 7) goto block_04E9; + + block_04DF: + newDir = 4; + goto block_04F0; + + block_04E9: + newDir = dir; + + block_04F0: + if (Item.andStatus(n) != 18) goto block_0512; + + block_0508: + newDir = (newDir + 10); + + block_0512: + spillBlood = 1; + /* pop_global global_id=0xD size=0x2 */ + goto block_0F51; + + block_052A: + if (Intrinsic0016(n) != 0x0371) goto block_05E0; + + block_053A: + newType = 0x04BE; + if (dir != 4) goto block_055B; + + block_054A: + newDir = 2; + flipIt = 1; + goto block_05A6; + + block_055B: + if (dir != 5) goto block_0574; + + block_0563: + newDir = 1; + flipIt = 1; + goto block_05A6; + + block_0574: + if (dir != 6) goto block_058D; + + block_057C: + newDir = 0; + flipIt = 1; + goto block_05A6; + + block_058D: + if (dir != 7) goto block_059F; + + block_0595: + newDir = 4; + goto block_05A6; + + block_059F: + newDir = dir; + + block_05A6: + if (Item.andStatus(n) != 18) goto block_05C8; + + block_05BE: + newDir = (newDir + 10); + + block_05C8: + spillBlood = 1; + /* pop_global global_id=0xB size=0x2 */ + goto block_0F51; + + block_05E0: + if (Intrinsic0016(n) != 0x04D1) goto block_0617; + + block_05F0: + newType = 0x04D2; + newDir = dir; + spillBlood = 1; + /* pop_global global_id=0x11 size=0x2 */ + goto block_0F51; + + block_0617: + if (Intrinsic0016(n) != 0x0528) goto block_064E; + + block_0627: + newType = 0x054D; + newDir = dir; + spillBlood = 1; + /* pop_global global_id=0x11 size=0x2 */ + goto block_0F51; + + block_064E: + if (Intrinsic0016(n) != 0x0338) goto block_06A7; + + block_065E: + newType = 0x04C5; + newDir = dir; + if (Item.andStatus(n) != 18) goto block_068F; + + block_0685: + newDir = (dir + 10); + + block_068F: + spillOil = 1; + /* pop_global global_id=0x17 size=0x2 */ + goto block_0F51; + + block_06A7: + if (Intrinsic0016(n) != 0x01B4) goto block_075D; + + block_06B7: + newType = 0x055D; + if (dir != 4) goto block_06D8; + + block_06C7: + newDir = 2; + flipIt = 1; + goto block_0723; + + block_06D8: + if (dir != 5) goto block_06F1; + + block_06E0: + newDir = 1; + flipIt = 1; + goto block_0723; + + block_06F1: + if (dir != 6) goto block_070A; + + block_06F9: + newDir = 0; + flipIt = 1; + goto block_0723; + + block_070A: + if (dir != 7) goto block_071C; + + block_0712: + newDir = 4; + goto block_0723; + + block_071C: + newDir = dir; + + block_0723: + if (Item.andStatus(n) != 18) goto block_0745; + + block_073B: + newDir = (newDir + 10); + + block_0745: + spillBlood = 1; + /* pop_global global_id=0x13 size=0x2 */ + goto block_0F51; + + block_075D: + if (Intrinsic0016(n) != 0x02DF) goto block_07A8; + + block_076D: + newType = 0x04BA; + newDir = dir; + if (Item.andStatus(n) != 20) goto block_079E; + + block_0794: + newDir = (dir + 10); + + block_079E: + spillBlood = 1; + goto block_0F51; + + block_07A8: + if (Intrinsic0016(n) != 0x0383) goto block_0857; + + block_07B8: + newType = 0x04C1; + if (dir != 4) goto block_07D9; + + block_07C8: + newDir = 2; + flipIt = 1; + goto block_0824; + + block_07D9: + if (dir != 5) goto block_07F2; + + block_07E1: + newDir = 1; + flipIt = 1; + goto block_0824; + + block_07F2: + if (dir != 6) goto block_080B; + + block_07FA: + newDir = 0; + flipIt = 1; + goto block_0824; + + block_080B: + if (dir != 7) goto block_081D; + + block_0813: + newDir = 4; + goto block_0824; + + block_081D: + newDir = dir; + + block_0824: + if (Item.andStatus(n) != 20) goto block_0846; + + block_083C: + newDir = (newDir + 10); + + block_0846: + /* pop_global global_id=0x15 size=0x2 */ + goto block_0F51; + + block_0857: + if (Intrinsic0016(n) != 0x0385) goto block_08B7; + + block_0867: + /* pop_global global_id=0x1B size=0x2 */ + spawn class_0A1E_slot_2A((1 + global[0x001B]), pid, n); + suspend; + goto block_132F; + + block_08B4: + goto block_0F51; + + block_08B7: + if (Intrinsic0016(n) != 0x02CB) goto block_0960; + + block_08C7: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xED string_bytes=0x1 loop_type=0x4 */ + + block_08D5: + if condition goto block_0901; + + block_08D8: + spawn class_0A1E_slot_28(pid, 1, 0, goods); + suspend; + /* loopnext */ + goto block_08D5; + + block_0901: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + spawn class_0A1E_slot_2A(pid, n); + suspend; + goto block_132F; + + block_095D: + goto block_0F51; + + block_0960: + if (Intrinsic0016(n) != 0x04E6) goto block_0A89; + + block_0970: + if (dir != 4) goto block_0989; + + block_0978: + newDir = 2; + flipIt = 1; + goto block_09D4; + + block_0989: + if (dir != 5) goto block_09A2; + + block_0991: + newDir = 1; + flipIt = 1; + goto block_09D4; + + block_09A2: + if (dir != 6) goto block_09BB; + + block_09AA: + newDir = 0; + flipIt = 1; + goto block_09D4; + + block_09BB: + if (dir != 7) goto block_09CD; + + block_09C3: + newDir = 4; + goto block_09D4; + + block_09CD: + newDir = dir; + + block_09D4: + /* pop_global global_id=0x19 size=0x2 */ + spawn class_0A1E_slot_2A(pid, n); + suspend; + if flipIt goto block_0A4F; + + block_0A41: + class_0A1E_slot_23(32, deadGuy); + + block_0A4F: + goto block_132F; + + block_0A86: + goto block_0F51; + + block_0A89: + if (Intrinsic0016(n) != 0x0576) goto block_0B05; + + block_0A99: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xED string_bytes=0x1 loop_type=0x4 */ + + block_0AA7: + if condition goto block_0AB9; + + block_0AAA: + /* loopnext */ + goto block_0AA7; + + block_0AB9: + goto block_132F; + + block_0B02: + goto block_0F51; + + block_0B05: + if (Intrinsic0016(n) != 0x0596) goto block_0C1D; + + block_0B15: + if (dir != 4) goto block_0B2E; + + block_0B1D: + newDir = 2; + flipIt = 1; + goto block_0B79; + + block_0B2E: + if (dir != 5) goto block_0B47; + + block_0B36: + newDir = 1; + flipIt = 1; + goto block_0B79; + + block_0B47: + if (dir != 6) goto block_0B60; + + block_0B4F: + newDir = 0; + flipIt = 1; + goto block_0B79; + + block_0B60: + if (dir != 7) goto block_0B72; + + block_0B68: + newDir = 4; + goto block_0B79; + + block_0B72: + newDir = dir; + + block_0B79: + if (Item.andStatus(n) != 20) goto block_0B9B; + + block_0B91: + newDir = (newDir + 10); + + block_0B9B: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xED string_bytes=0x1 loop_type=0x4 */ + + block_0BA9: + if condition goto block_0BBB; + + block_0BAC: + /* loopnext */ + goto block_0BA9; + + block_0BBB: + if flipIt goto block_0BE3; + + block_0BD5: + class_0A1E_slot_23(32, deadGuy); + + block_0BE3: + goto block_132F; + + block_0C1A: + goto block_0F51; + + block_0C1D: + if (Intrinsic0016(n) != 0x0319) goto block_0CB1; + + block_0C2D: + newType = 0x04E4; + if (dir != 4) goto block_0C4E; + + block_0C3D: + newDir = 2; + flipIt = 1; + goto block_0C99; + + block_0C4E: + if (dir != 5) goto block_0C67; + + block_0C56: + newDir = 1; + flipIt = 1; + goto block_0C99; + + block_0C67: + if (dir != 6) goto block_0C80; + + block_0C6F: + newDir = 0; + flipIt = 1; + goto block_0C99; + + block_0C80: + if (dir != 7) goto block_0C92; + + block_0C88: + newDir = 4; + goto block_0C99; + + block_0C92: + newDir = dir; + + block_0C99: + spillBlood = 1; + /* pop_global global_id=0xB size=0x2 */ + goto block_0F51; + + block_0CB1: + if (Intrinsic0016(n) != 0x02F6) goto block_0D37; + + block_0CC1: + newType = 0x04B9; + if (dir != 4) goto block_0CE2; + + block_0CD1: + newDir = 2; + flipIt = 1; + goto block_0D2D; + + block_0CE2: + if (dir != 5) goto block_0CFB; + + block_0CEA: + newDir = 1; + flipIt = 1; + goto block_0D2D; + + block_0CFB: + if (dir != 6) goto block_0D14; + + block_0D03: + newDir = 0; + flipIt = 1; + goto block_0D2D; + + block_0D14: + if (dir != 7) goto block_0D26; + + block_0D1C: + newDir = 4; + goto block_0D2D; + + block_0D26: + newDir = dir; + + block_0D2D: + spillBlood = 1; + goto block_0F51; + + block_0D37: + if (Intrinsic0016(n) != 0x02F5) goto block_0DBD; + + block_0D47: + newType = 0x04BB; + if (dir != 4) goto block_0D68; + + block_0D57: + newDir = 2; + flipIt = 1; + goto block_0DB3; + + block_0D68: + if (dir != 5) goto block_0D81; + + block_0D70: + newDir = 1; + flipIt = 1; + goto block_0DB3; + + block_0D81: + if (dir != 6) goto block_0D9A; + + block_0D89: + newDir = 0; + flipIt = 1; + goto block_0DB3; + + block_0D9A: + if (dir != 7) goto block_0DAC; + + block_0DA2: + newDir = 4; + goto block_0DB3; + + block_0DAC: + newDir = dir; + + block_0DB3: + spillBlood = 1; + goto block_0F51; + + block_0DBD: + if (Intrinsic0016(n) != 0x0344) goto block_0DE6; + + block_0DCD: + newType = 0x04BD; + newDir = dir; + spillBlood = 1; + goto block_0F51; + + block_0DE6: + if (Intrinsic0016(n) != 0x02F7) goto block_0E0F; + + block_0DF6: + newType = 0x04BC; + newDir = dir; + spillBlood = 1; + goto block_0F51; + + block_0E0F: + if (Intrinsic0016(n) != 0x045D) goto block_0E42; + + block_0E1F: + goto block_132F; + + block_0E3F: + goto block_0F51; + + block_0E42: + if (Intrinsic0016(n) != 0x03AC) goto block_0E64; + + block_0E52: + newType = 0x04C0; + newDir = dir; + goto block_0F51; + + block_0E64: + if (Intrinsic0016(n) != 0x04D9) goto block_0F51; + + block_0E74: + /* global_address global_id=0x3C */ + if Item.getQ() goto block_0E8A; + + block_0E84: + goto block_132F; + + block_0E8A: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 0x012C, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + goto block_0F51; + + block_0F51: + class_0A1C_slot_21(deadGuy, n); + if Npc.isDead(nz, ny, nx, newType) goto block_0FA2; + + block_0F8E: + goto block_112B; + + block_0FA2: + if Npc.isDead(nz, ny, (nx - 16), newType) goto block_0FD1; + + block_0FBA: + goto block_112B; + + block_0FD1: + if Npc.isDead(nz, (ny - 16), nx, newType) goto block_1000; + + block_0FE9: + goto block_112B; + + block_1000: + if Npc.isDead(nz, (ny + 16), nx, newType) goto block_102F; + + block_1018: + goto block_112B; + + block_102F: + if Npc.isDead(nz, ny, (nx + 16), newType) goto block_105E; + + block_1047: + goto block_112B; + + block_105E: + if Npc.isDead(nz, ny, (nx - 32), newType) goto block_108D; + + block_1076: + goto block_112B; + + block_108D: + if Npc.isDead(nz, (ny - 32), nx, newType) goto block_10BC; + + block_10A5: + goto block_112B; + + block_10BC: + if Npc.isDead(nz, (ny + 32), nx, newType) goto block_10EB; + + block_10D4: + goto block_112B; + + block_10EB: + if Npc.isDead(nz, ny, (nx + 32), newType) goto block_111A; + + block_1103: + goto block_112B; + + block_111A: + + block_112B: + if flipIt goto block_1141; + + block_1133: + class_0A1E_slot_23(32, deadGuy); + + block_1141: + class_0A1C_slot_22(deadGuy, arg_06); + if Intrinsic006B() goto block_1299; + + block_116C: + if spillBlood goto block_1299; + + block_1174: + class_0A11_slot_20(arg_06); + if retval goto block_1299; + + block_1184: + class_0A0C_slot_20(100); + if (retval > 50) goto block_121B; + + block_119A: + counter = 0; + + block_11D0: + if (counter <= 9) goto block_1218; + + block_11D8: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_11D0; + + block_1218: + goto block_1299; + + block_121B: + counter = 10; + + block_1251: + if (counter <= 19) goto block_1299; + + block_1259: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_1251; + + block_1299: + if spillOil goto block_132F; + + block_12A1: + class_0A11_slot_20(arg_06); + if retval goto block_132F; + + block_12B1: + counter = 20; + + block_12E7: + if (counter <= 29) goto block_132F; + + block_12EF: + spawn class_0A0C_slot_32(pid, 15, 0x00000000); + suspend; + counter = (1 + counter); + goto block_12E7; + + block_132F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPCDEATH/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/NPCDEATH/slot_21_slot_21.txt new file mode 100644 index 0000000..9d34ee1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPCDEATH/slot_21_slot_21.txt @@ -0,0 +1,30 @@ +function npcdeath_slot_21() /* entry=398 class_id=0x0A1C slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP+0Ah] type=0x24 */ + goods; /* [BP-02h] type=0x24 */ + + entry: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + + block_1450: + if condition goto block_1495; + + block_1453: + if (Intrinsic003C(goods) != 10) goto block_1479; + + block_146B: + goto block_1491; + + block_1479: + + block_1491: + /* loopnext */ + goto block_1450; + + block_1495: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPCDEATH/slot_22_slot_22.txt b/USECODE/EUSECODE_extracted/pseudocode/NPCDEATH/slot_22_slot_22.txt new file mode 100644 index 0000000..aeb020a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPCDEATH/slot_22_slot_22.txt @@ -0,0 +1,331 @@ +function npcdeath_slot_22() /* entry=398 class_id=0x0A1C slot=0x22 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + counter, /* [BP-04h] type=0x69 */ + skill, /* [BP-06h] type=0x69 */ + sLevel, /* [BP-08h] type=0x69 */ + wimp, /* [BP-09h] type=0x62 */ + fullOfShit; /* [BP-0Ah] type=0x62 */ + + entry: + sLevel = Intrinsic0029(); + if (sLevel != 1) goto block_14F2; + + block_14E8: + skill = 50; + goto block_151D; + + block_14F2: + if (sLevel != 2) goto block_1504; + + block_14FA: + skill = 40; + goto block_151D; + + block_1504: + if (sLevel != 3) goto block_1516; + + block_150C: + skill = 20; + goto block_151D; + + block_1516: + skill = 40; + + block_151D: + if (((Intrinsic0016(arg_06) != 0x02FD) || (Intrinsic0016(arg_06) != 0x0319)) || (Intrinsic0016(arg_06) != 0x0384)) goto block_16A3; + + block_1549: + if (Intrinsic00DA(100, 0) > 98) goto block_157D; + + block_1560: + + block_157D: + if (Intrinsic00DA(100, 0) > 98) goto block_15B1; + + block_1594: + + block_15B1: + if (Intrinsic00DA(100, 0) > (80 - skill)) goto block_15EB; + + block_15CB: + goto block_162D; + + block_15EB: + if ((Intrinsic00DA(100, 0) > (80 - skill)) && (global[0x001F] > 1)) goto block_162D; + + block_160D: + goto block_162D; + + block_162D: + if (sLevel < 3) goto block_166F; + + block_163B: + if (Intrinsic00DA(100, 0) > 80) goto block_166C; + + block_164F: + + block_166C: + goto block_16A0; + + block_166F: + if (Intrinsic00DA(100, 0) > 98) goto block_16A0; + + block_1683: + + block_16A0: + goto block_1D76; + + block_16A3: + if (Intrinsic0016(arg_06) != 0x0384) goto block_17AD; + + block_16B3: + if ((Intrinsic00DA(100, 1) > (90 - skill)) && (global[0x001F] > 2)) goto block_16F5; + + block_16D5: + goto block_1737; + + block_16F5: + if ((Intrinsic00DA(100, 1) > (80 - skill)) && (global[0x001F] > 2)) goto block_1737; + + block_1717: + goto block_1737; + + block_1737: + if (sLevel < 3) goto block_1779; + + block_1745: + if (Intrinsic00DA(100, 0) > 90) goto block_1776; + + block_1759: + + block_1776: + goto block_17AA; + + block_1779: + if (Intrinsic00DA(100, 0) > 98) goto block_17AA; + + block_178D: + + block_17AA: + goto block_1D76; + + block_17AD: + if ((Intrinsic0016(arg_06) != 0x0371) || (Intrinsic0016(arg_06) != 0x04D1)) goto block_1957; + + block_17CB: + if (Intrinsic00DA(100, 0) > 98) goto block_17FF; + + block_17E2: + + block_17FF: + if (Intrinsic00DA(100, 0) > 98) goto block_1833; + + block_1816: + + block_1833: + if (Intrinsic00DA(100, 1) > (70 - skill)) goto block_186D; + + block_184D: + goto block_18A7; + + block_186D: + if (Intrinsic00DA(100, 1) > (70 - skill)) goto block_18A7; + + block_1887: + goto block_18A7; + + block_18A7: + if (Intrinsic00DA(100, 1) > (90 - skill)) goto block_18DE; + + block_18C1: + + block_18DE: + if (sLevel < 3) goto block_1920; + + block_18EC: + if (Intrinsic00DA(100, 0) > 80) goto block_191D; + + block_1900: + + block_191D: + goto block_1954; + + block_1920: + if (Intrinsic00DA(100, 0) > 98) goto block_1954; + + block_1934: + goto block_1954; + + block_1954: + goto block_1D76; + + block_1957: + if (Intrinsic0016(arg_06) != 0x04D1) goto block_19A1; + + block_1967: + if (Intrinsic00DA(100, 0) < (70 - skill)) goto block_199E; + + block_1981: + + block_199E: + goto block_1D76; + + block_19A1: + if (Intrinsic0016(arg_06) != 0x0528) goto block_1A3C; + + block_19B1: + if (Intrinsic00DA(100, 0) > 75) goto block_19E5; + + block_19C8: + + block_19E5: + if (Intrinsic00DA(100, 0) > 50) goto block_1A1C; + + block_19FC: + goto block_1A39; + + block_1A1C: + + block_1A39: + goto block_1D76; + + block_1A3C: + if (Intrinsic0016(arg_06) != 0x01B4) goto block_1C31; + + block_1A4C: + if (Intrinsic00DA(100, 0) > 98) goto block_1A80; + + block_1A63: + + block_1A80: + if (Intrinsic00DA(100, 0) > 98) goto block_1AB4; + + block_1A97: + + block_1AB4: + if (Intrinsic00DA(100, 1) > 90) goto block_1AE5; + + block_1AC8: + + block_1AE5: + if (Intrinsic00DA(100, 1) > 95) goto block_1B19; + + block_1AF9: + goto block_1B50; + + block_1B19: + if (Intrinsic00DA(100, 1) > (85 - skill)) goto block_1B50; + + block_1B30: + goto block_1B50; + + block_1B50: + if (Intrinsic00DA(100, 1) > 95) goto block_1B84; + + block_1B64: + goto block_1BBB; + + block_1B84: + if (Intrinsic00DA(100, 1) > (80 - skill)) goto block_1BBB; + + block_1B9B: + goto block_1BBB; + + block_1BBB: + if (sLevel < 3) goto block_1BFD; + + block_1BC9: + if (Intrinsic00DA(100, 0) > 80) goto block_1BFA; + + block_1BDD: + + block_1BFA: + goto block_1C2E; + + block_1BFD: + if (Intrinsic00DA(100, 0) > 98) goto block_1C2E; + + block_1C11: + + block_1C2E: + goto block_1D76; + + block_1C31: + if (Intrinsic0016(arg_06) != 0x02DF) goto block_1CAE; + + block_1C41: + if (Intrinsic00DA(100, 0) > 66) goto block_1CA5; + + block_1C88: + + block_1CA5: + goto block_1E80; + + block_1CAB: + goto block_1D76; + + block_1CAE: + if (((((((Intrinsic0016(arg_06) != 0x045D) || (Intrinsic0016(arg_06) != 0x0338)) || (Intrinsic0016(arg_06) != 0x02CB)) || (Intrinsic0016(arg_06) != 0x04E6)) || (Intrinsic0016(arg_06) != 0x03AC)) || (Intrinsic0016(arg_06) != 0x0385)) || (Intrinsic0016(arg_06) != 0x0383)) goto block_1D2A; + + block_1D12: + class_0A1E_slot_23(0x1000, arg_06); + goto block_1E80; + + block_1D27: + goto block_1D76; + + block_1D2A: + /* global_address global_id=0x3C */ + if (Intrinsic007C((Intrinsic00DA(100, 0) > (60 - skill))) < 50) goto block_1D6F; + + block_1D52: + + block_1D6F: + wimp = 1; + + block_1D76: + class_0A11_slot_2B(arg_06); + if (!retval) goto block_1E48; + + block_1D8A: + if ((Item.hurl() - global[0x001D]) < 0x1194) goto block_1E15; + + block_1DA1: + if wimp goto block_1DDF; + + block_1DA9: + goto block_1E12; + + block_1DDF: + + block_1E12: + goto block_1E48; + + block_1E15: + + block_1E48: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + + block_1E58: + if condition goto block_1E66; + + block_1E5B: + fullOfShit = 1; + /* loopnext */ + goto block_1E58; + + block_1E66: + if (!fullOfShit) goto block_1E80; + + block_1E71: + class_0A1E_slot_23(0x1000, arg_06); + + block_1E80: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPCTRIG/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/NPCTRIG/slot_0A_equip.txt new file mode 100644 index 0000000..9364ff8 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPCTRIG/slot_0A_equip.txt @@ -0,0 +1,37 @@ +function npctrig_equip() /* entry=191 class_id=0x0363 slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + event, /* [BP+0Ah] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + item2, /* [BP-04h] type=0x24 */ + n; /* [BP-06h] type=0x24 */ + + set_info(0x0211, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000)) { + class_0A1E_slot_23(0x1000, arg_06); + if (event == 1) { + spawn class_0363_slot_20(pid, 0x02FD, arg_06); + suspend; + } + else if (event == 2) { + spawn class_0363_slot_20(pid, 0x0384, arg_06); + suspend; + } + else if (event == 3) { + spawn class_0363_slot_20(pid, 0x0371, arg_06); + suspend; + } + else if (event == 4) { + spawn class_0363_slot_20(pid, 0x04D1, arg_06); + suspend; + } + else if (event == 5) { + spawn class_0363_slot_20(pid, 0x01B4, arg_06); + suspend; + } + class_0A1E_slot_24(0x1000, arg_06); + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPCTRIG/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/NPCTRIG/slot_20_slot_20.txt new file mode 100644 index 0000000..fc944e6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPCTRIG/slot_20_slot_20.txt @@ -0,0 +1,42 @@ +function npctrig_slot_20() /* entry=191 class_id=0x0363 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + typeNpc, /* [BP+0Ah] type=0x69 */ + n, /* [BP-02h] type=0x24 */ + item, /* [BP-04h] type=0x24 */ + item2; /* [BP-06h] type=0x24 */ + + entry: + set_info(0x0001, *(arg_06)); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0283: + if condition goto block_0291; + + block_0286: + item2 = item; + /* loopnext */ + goto block_0283; + + block_0291: + if item2 goto block_0370; + + block_029B: + spawn class_0A11_slot_23(pid, n); + suspend; + if (Item.pop() != 0) goto block_0361; + + block_034E: + goto block_0370; + + block_0361: + + block_0370: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/NPC_ONLY/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/NPC_ONLY/slot_06_gotHit.txt new file mode 100644 index 0000000..6459bf4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/NPC_ONLY/slot_06_gotHit.txt @@ -0,0 +1,69 @@ +function npc_only_gotHit() /* entry=194 class_id=0x0366 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + l, /* [BP-04h] type=0x69 */ + link; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((ref > 0x0100) || (ref != Item.pop())) goto block_0109; + + block_0103: + goto block_02B0; + + block_0109: + item = ref; + l = Item.getQLo(item); + link = Intrinsic00D9(arg_06); + if (Item.getQLo(item) != Intrinsic00D9(arg_06)) goto block_02B0; + + block_0148: + if (Item.getMapNum(arg_06) != 0) goto block_02B0; + + block_015A: + if ((Intrinsic0057(arg_06) != 0) || (Item.isInNpc(*(arg_06), item) != 0)) goto block_0186; + + block_0180: + goto block_02B0; + + block_0186: + if (link != 0x00FE) goto block_01A3; + + block_0195: + + block_01A3: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_01FD: + if 1 goto block_02B0; + + block_0205: + if ((Intrinsic0057(arg_06) != 0) && (Item.isNpc(item) != 1)) goto block_024D; + + block_0224: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_02AD; + + block_024D: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_02B0; + + block_02AD: + goto block_01FD; + + block_02B0: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/OBSERVER/slot_0E_calledFromAnim.txt b/USECODE/EUSECODE_extracted/pseudocode/OBSERVER/slot_0E_calledFromAnim.txt new file mode 100644 index 0000000..ab4a0f0 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/OBSERVER/slot_0E_calledFromAnim.txt @@ -0,0 +1,8 @@ +function observer_calledFromAnim() /* entry=183 class_id=0x033C slot=0x0E */ +{ + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/OFFWORK/slot_0E_calledFromAnim.txt b/USECODE/EUSECODE_extracted/pseudocode/OFFWORK/slot_0E_calledFromAnim.txt new file mode 100644 index 0000000..40fe1aa --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/OFFWORK/slot_0E_calledFromAnim.txt @@ -0,0 +1,9 @@ +function offwork_calledFromAnim() /* entry=166 class_id=0x02F7 slot=0x0E */ +{ + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn class_0A1C_slot_20(Item.getQLo(arg_06), *(arg_06), arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ONCEEGG/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/ONCEEGG/slot_07_hatch.txt new file mode 100644 index 0000000..8cbfd85 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ONCEEGG/slot_07_hatch.txt @@ -0,0 +1,19 @@ +function onceegg_hatch() /* entry=341 class_id=0x0901 slot=0x07 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + id, /* [BP-04h] type=0x69 */ + qlo; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + id = Intrinsic003F(arg_06); + item = *(arg_06); + qlo = Intrinsic00D9(item); + spawn class_0A18_slot_20(pid, (0 + 0x0080), item, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ONCEEGG/slot_15_unhatch.txt b/USECODE/EUSECODE_extracted/pseudocode/ONCEEGG/slot_15_unhatch.txt new file mode 100644 index 0000000..d4cc23a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ONCEEGG/slot_15_unhatch.txt @@ -0,0 +1,19 @@ +function onceegg_unhatch() /* entry=341 class_id=0x0901 slot=0x15 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + id, /* [BP-04h] type=0x69 */ + qlo; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x0239, *(arg_06)); + process_exclude(); + id = Intrinsic003F(arg_06); + item = *(arg_06); + qlo = Intrinsic00D9(item); + spawn class_0A18_slot_20(pid, (1 + 0x0080), item, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/OPC/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/OPC/slot_01_use.txt new file mode 100644 index 0000000..2a85315 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/OPC/slot_01_use.txt @@ -0,0 +1,93 @@ +function opc_use() /* entry=220 class_id=0x03BC slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + class_0A1E_slot_23(0x1000, arg_06); + /* global_address global_id=0x3C */ + if (Item.getType() != 21) goto block_02AB; + + block_0110: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + /* pop_global global_id=0x2A size=0x1 */ + spawn class_0A0C_slot_32(1, pid, 20, 0x00000000); + suspend; + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 0x00B4, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + if (!Kernel.resetRef()) goto block_0244; + + block_0217: + spawn class_0A0C_slot_26(pid, "11g", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_0244: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0263: + if condition goto block_02A6; + + block_0266: + if (Intrinsic00D9(item) != 99) goto block_02A2; + + block_027B: + + block_02A2: + /* loopnext */ + goto block_0263; + + block_02A6: + goto block_03DB; + + block_02AB: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + /* pop_global global_id=0x2B size=0x1 */ + spawn class_0A0C_slot_32(1, pid, 20, 0x00000000); + suspend; + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_038B: + if condition goto block_03CE; + + block_038E: + if (Intrinsic00D9(item) != 2) goto block_03CA; + + block_03A3: + + block_03CA: + /* loopnext */ + goto block_038B; + + block_03CE: + + block_03DB: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PANELEW/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/PANELEW/slot_01_use.txt new file mode 100644 index 0000000..6102374 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PANELEW/slot_01_use.txt @@ -0,0 +1,22 @@ +function panelew_use() /* entry=32 class_id=0x00A2 slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if Item.getFrame(arg_06) goto block_0100; + + block_00FA: + goto block_014A; + + block_0100: + if (Item.getMapNum(arg_06) != 0) goto block_014A; + + block_0112: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_014A; + + block_014A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PANELNS/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/PANELNS/slot_01_use.txt new file mode 100644 index 0000000..b64aa16 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PANELNS/slot_01_use.txt @@ -0,0 +1,22 @@ +function panelns_use() /* entry=31 class_id=0x00A1 slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if Item.getFrame(arg_06) goto block_0100; + + block_00FA: + goto block_014A; + + block_0100: + if (Item.getMapNum(arg_06) != 0) goto block_014A; + + block_0112: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_014A; + + block_014A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PEPSIEW/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/PEPSIEW/slot_01_use.txt new file mode 100644 index 0000000..817dad7 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PEPSIEW/slot_01_use.txt @@ -0,0 +1,60 @@ +function pepsiew_use() /* entry=26 class_id=0x0094 slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + x, /* [BP-04h] type=0x69 */ + y, /* [BP-06h] type=0x69 */ + z, /* [BP-08h] type=0x69 */ + wp; /* [BP-0Dh] type=0x24 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + x = 1; + y = 0; + wp = (Intrinsic0013(arg_06) + 32); + local_0B = Item.legal_create(arg_06); + local_09 = (Item.getZ(arg_06) + 32); + if (Intrinsic00DA(100, 0) > 50) goto block_01E4; + + block_0140: + if Item.getSurfaceWeight(wp, 0, 0x0343, item) goto block_01E1; + + block_0156: + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_01A0: + if condition goto block_01DF; + + block_01A3: + if (Item.getStatus(item) & 0x0080) goto block_01DB; + + block_01B6: + spawn class_0A1E_slot_28(pid, 1, 0, item); + suspend; + + block_01DB: + /* loopnext */ + goto block_01A0; + + block_01DF: + + block_01E1: + goto block_0240; + + block_01E4: + if Item.getSurfaceWeight(wp, 1, 0x0579, item) goto block_0240; + + block_01FA: + suspend; + + block_0240: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PEPSIEW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/PEPSIEW/slot_06_gotHit.txt new file mode 100644 index 0000000..a5ddd77 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PEPSIEW/slot_06_gotHit.txt @@ -0,0 +1,21 @@ +function pepsiew_gotHit() /* entry=26 class_id=0x0094 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_02DE; + + block_029E: + spawn class_0A1E_slot_28(pid, 0, 1, arg_06); + suspend; + + block_02DE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PEPSINS/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/PEPSINS/slot_01_use.txt new file mode 100644 index 0000000..2e840b5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PEPSINS/slot_01_use.txt @@ -0,0 +1,60 @@ +function pepsins_use() /* entry=30 class_id=0x009A slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + x, /* [BP-04h] type=0x69 */ + y, /* [BP-06h] type=0x69 */ + z, /* [BP-08h] type=0x69 */ + wp; /* [BP-0Dh] type=0x24 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + x = 0; + y = 1; + wp = Intrinsic0013(arg_06); + local_0B = (Item.legal_create(arg_06) + 32); + local_09 = (Item.getZ(arg_06) + 32); + if (Intrinsic00DA(100, 0) > 50) goto block_01E4; + + block_0140: + if Item.getSurfaceWeight(wp, 0, 0x0343, item) goto block_01E1; + + block_0156: + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_01A0: + if condition goto block_01DF; + + block_01A3: + if (Item.getStatus(item) & 0x0080) goto block_01DB; + + block_01B6: + spawn class_0A1E_slot_28(pid, 1, 0, item); + suspend; + + block_01DB: + /* loopnext */ + goto block_01A0; + + block_01DF: + + block_01E1: + goto block_0240; + + block_01E4: + if Item.getSurfaceWeight(wp, 0, 0x0579, item) goto block_0240; + + block_01FA: + suspend; + + block_0240: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PEPSINS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/PEPSINS/slot_06_gotHit.txt new file mode 100644 index 0000000..4bb9770 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PEPSINS/slot_06_gotHit.txt @@ -0,0 +1,21 @@ +function pepsins_gotHit() /* entry=30 class_id=0x009A slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_02DE; + + block_029E: + spawn class_0A1E_slot_28(pid, 0, 1, arg_06); + suspend; + + block_02DE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PHIR/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/PHIR/slot_01_use.txt new file mode 100644 index 0000000..472cee4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PHIR/slot_01_use.txt @@ -0,0 +1,24 @@ +function phir_use() /* entry=295 class_id=0x04FF slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if Intrinsic00D9(arg_06) goto block_01A0; + + block_00FA: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + if (global[0x001F] != 12) goto block_01A0; + + block_0131: + class_0A1E_slot_23(0x1000, arg_06); + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + spawn class_0A0C_slot_26(pid, "12e", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_01A0: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PIT/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/PIT/slot_06_gotHit.txt new file mode 100644 index 0000000..039c0c5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PIT/slot_06_gotHit.txt @@ -0,0 +1,46 @@ +function pit_gotHit() /* entry=192 class_id=0x0364 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + n; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + class_0A0C_slot_2C(vel, ref); + if retval goto block_010A; + + block_0104: + goto block_01CA; + + block_010A: + if Item.isNpc(item) goto block_01BF; + + block_0119: + n = ref; + if (n != 1) goto block_018B; + + block_012B: + spawn class_0A0C_slot_21(pid, 98, 0x00000000); + suspend; + goto block_01CA; + + block_0188: + goto block_01BC; + + block_018B: + goto block_01CA; + + block_01BC: + goto block_01CA; + + block_01BF: + + block_01CA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PLASMA/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/PLASMA/slot_01_use.txt new file mode 100644 index 0000000..a463102 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PLASMA/slot_01_use.txt @@ -0,0 +1,8 @@ +function plasma_use() /* entry=306 class_id=0x052F slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PODBOY/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/PODBOY/slot_06_gotHit.txt new file mode 100644 index 0000000..afe38de --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PODBOY/slot_06_gotHit.txt @@ -0,0 +1,55 @@ +function podboy_gotHit() /* entry=129 class_id=0x022D slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + counter, /* [BP-04h] type=0x69 */ + item; /* [BP-06h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) != 1) goto block_0222; + + block_0218: + fram = 22; + goto block_025B; + + block_0222: + if (Item.getFrame(arg_06) != 2) goto block_023B; + + block_0231: + fram = 11; + goto block_025B; + + block_023B: + if (Item.getFrame(arg_06) != 3) goto block_0254; + + block_024A: + fram = 0; + goto block_025B; + + block_0254: + fram = 34; + + block_025B: + spawn class_022D_slot_20(*(arg_06), 0x00000000); + spawn class_0A1E_slot_28(pid, 0, 1, arg_06); + suspend; + counter = 0; + + block_02FA: + if (counter <= 10) goto block_0348; + + block_0302: + spawn class_0A0C_slot_32(pid, (15 - counter), 0x00000000); + suspend; + counter = (1 + counter); + goto block_02FA; + + block_0348: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PODBOY/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/PODBOY/slot_20_slot_20.txt new file mode 100644 index 0000000..8b6377d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PODBOY/slot_20_slot_20.txt @@ -0,0 +1,36 @@ +function podboy_slot_20() /* entry=129 class_id=0x022D slot=0x20 */ +{ + var + ref, /* [BP+06h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + spooge, /* [BP-04h] type=0x24 */ + fram, /* [BP-06h] type=0x69 */ + counter; /* [BP-08h] type=0x69 */ + + entry: + set_info(1, 0); + item = ref; + fram = (Intrinsic00DA(3, 0) * 8); + counter = 0; + + block_0150: + if (counter <= 5) goto block_01BB; + + block_0158: + + block_0173: + if Item.touch(0x0094, spooge) goto block_01AE; + + block_0185: + spawn class_0A0C_slot_32(pid, 4, 0x00000000); + suspend; + goto block_0173; + + block_01AE: + counter = (1 + counter); + goto block_0150; + + block_01BB: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PPLATE/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/PPLATE/slot_06_gotHit.txt new file mode 100644 index 0000000..da159ce --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PPLATE/slot_06_gotHit.txt @@ -0,0 +1,59 @@ +function pplate_gotHit() /* entry=79 class_id=0x0198 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_0103; + + block_00FD: + goto block_0238; + + block_0103: + if (Item.getMapNum(arg_06) != 0) goto block_0218; + + block_0115: + item = ref; + if ((Intrinsic0057(arg_06) != 0) || (Item.use(*(arg_06), item) != 0)) goto block_0148; + + block_0142: + goto block_0238; + + block_0148: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_018A: + if 1 goto block_0218; + + block_0192: + if (Intrinsic0057(arg_06) != 0) goto block_01CD; + + block_01A4: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0215; + + block_01CD: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + goto block_0238; + + block_0215: + goto block_018A; + + block_0218: + if (!Item.getFrame(arg_06)) goto block_0238; + + block_022B: + + block_0238: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PPLATE2/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/PPLATE2/slot_06_gotHit.txt new file mode 100644 index 0000000..2817785 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PPLATE2/slot_06_gotHit.txt @@ -0,0 +1,82 @@ +function pplate2_gotHit() /* entry=80 class_id=0x0199 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + f, /* [BP-02h] type=0x69 */ + item; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_0212; + + block_020C: + goto block_03B3; + + block_0212: + f = Item.getFrame(arg_06); + if (f & 1) goto block_0231; + + block_022B: + goto block_03B3; + + block_0231: + item = ref; + if ((Intrinsic0057(arg_06) != 0) || (Item.use(*(arg_06), item) != 0)) goto block_0264; + + block_025E: + goto block_03B3; + + block_0264: + if (Item.getMapNum(arg_06) != 0) goto block_034C; + + block_0286: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_02BB: + if 1 goto block_0349; + + block_02C3: + if (Intrinsic0057(arg_06) != 0) goto block_02FE; + + block_02D5: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0346; + + block_02FE: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + goto block_03B3; + + block_0346: + goto block_02BB; + + block_0349: + goto block_03B3; + + block_034C: + if 1 goto block_03B3; + + block_0354: + if (Intrinsic0057(arg_06) != 0) goto block_038F; + + block_0366: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_03B0; + + block_038F: + goto block_03B3; + + block_03B0: + goto block_034C; + + block_03B3: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PPLATE2/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/PPLATE2/slot_0A_equip.txt new file mode 100644 index 0000000..af77847 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PPLATE2/slot_0A_equip.txt @@ -0,0 +1,30 @@ +function pplate2_equip() /* entry=80 class_id=0x0199 slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + ff; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + ff = Item.getFrame(arg_06); + if (ff & 1) goto block_0164; + + block_0104: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + goto block_01C1; + + block_0164: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_01C1: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PRISBENC/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/PRISBENC/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..ebf85ea --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PRISBENC/slot_0F_enterFastArea.txt @@ -0,0 +1,83 @@ +function prisbenc_enterFastArea() /* entry=159 class_id=0x02E5 slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + + block_0111: + suspend; + class_0A0C_slot_20(pid, 100, 100); + spawn class_0A0C_slot_32(retval, 0x00000000); + suspend; + if (Item.getFrame(arg_06) < 6) goto block_0240; + + block_0164: + counter = Item.getFrame(arg_06); + + block_0172: + if (counter <= 5) goto block_01BA; + + block_017A: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0172; + + block_01BA: + class_0A0C_slot_20(pid, 100, 100); + spawn class_0A0C_slot_32(retval, 0x00000000); + suspend; + counter = 0; + + block_01F2: + if (counter <= 5) goto block_023D; + + block_01FA: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_01F2; + + block_023D: + goto block_0319; + + block_0240: + counter = Item.getFrame(arg_06); + + block_024E: + if (counter <= 12) goto block_0296; + + block_0256: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_024E; + + block_0296: + class_0A0C_slot_20(pid, 100, 100); + spawn class_0A0C_slot_32(retval, 0x00000000); + suspend; + counter = 0; + + block_02CE: + if (counter <= 5) goto block_0319; + + block_02D6: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_02CE; + + block_0319: + goto block_0111; + + block_031C: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PRISBENC/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/PRISBENC/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..2ca90b6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PRISBENC/slot_10_leaveFastArea.txt @@ -0,0 +1,9 @@ +function prisbenc_leaveFastArea() /* entry=159 class_id=0x02E5 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PRISLEAN/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/PRISLEAN/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..8616447 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PRISLEAN/slot_0F_enterFastArea.txt @@ -0,0 +1,83 @@ +function prislean_enterFastArea() /* entry=161 class_id=0x02E8 slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + + block_0111: + suspend; + class_0A0C_slot_20(pid, 100, 100); + spawn class_0A0C_slot_32(retval, 0x00000000); + suspend; + if (Item.getFrame(arg_06) < 6) goto block_0240; + + block_0164: + counter = Item.getFrame(arg_06); + + block_0172: + if (counter <= 5) goto block_01BA; + + block_017A: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0172; + + block_01BA: + class_0A0C_slot_20(pid, 100, 100); + spawn class_0A0C_slot_32(retval, 0x00000000); + suspend; + counter = 0; + + block_01F2: + if (counter <= 5) goto block_023D; + + block_01FA: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_01F2; + + block_023D: + goto block_0319; + + block_0240: + counter = Item.getFrame(arg_06); + + block_024E: + if (counter <= 12) goto block_0296; + + block_0256: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_024E; + + block_0296: + class_0A0C_slot_20(pid, 100, 100); + spawn class_0A0C_slot_32(retval, 0x00000000); + suspend; + counter = 0; + + block_02CE: + if (counter <= 5) goto block_0319; + + block_02D6: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_02CE; + + block_0319: + goto block_0111; + + block_031C: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PRISLEAN/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/PRISLEAN/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..54553c8 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PRISLEAN/slot_10_leaveFastArea.txt @@ -0,0 +1,9 @@ +function prislean_leaveFastArea() /* entry=161 class_id=0x02E8 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PRISSIT/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/PRISSIT/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..138dc96 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PRISSIT/slot_0F_enterFastArea.txt @@ -0,0 +1,83 @@ +function prissit_enterFastArea() /* entry=160 class_id=0x02E7 slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + + block_0111: + suspend; + class_0A0C_slot_20(pid, 100, 100); + spawn class_0A0C_slot_32(retval, 0x00000000); + suspend; + if (Item.getFrame(arg_06) < 6) goto block_0240; + + block_0164: + counter = Item.getFrame(arg_06); + + block_0172: + if (counter <= 5) goto block_01BA; + + block_017A: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0172; + + block_01BA: + class_0A0C_slot_20(pid, 100, 100); + spawn class_0A0C_slot_32(retval, 0x00000000); + suspend; + counter = 0; + + block_01F2: + if (counter <= 5) goto block_023D; + + block_01FA: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_01F2; + + block_023D: + goto block_0319; + + block_0240: + counter = Item.getFrame(arg_06); + + block_024E: + if (counter <= 12) goto block_0296; + + block_0256: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_024E; + + block_0296: + class_0A0C_slot_20(pid, 100, 100); + spawn class_0A0C_slot_32(retval, 0x00000000); + suspend; + counter = 0; + + block_02CE: + if (counter <= 5) goto block_0319; + + block_02D6: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_02CE; + + block_0319: + goto block_0111; + + block_031C: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/PRISSIT/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/PRISSIT/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..733e6de --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/PRISSIT/slot_10_leaveFastArea.txt @@ -0,0 +1,9 @@ +function prissit_leaveFastArea() /* entry=160 class_id=0x02E7 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RADAR/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/RADAR/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..47195be --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RADAR/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function radar_enterFastArea() /* entry=84 class_id=0x01A2 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RDOOR1_E/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RDOOR1_E/slot_06_gotHit.txt new file mode 100644 index 0000000..152d31f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RDOOR1_E/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function rdoor1_e_gotHit() /* entry=38 class_id=0x00C3 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A06_slot_23(pid, vel, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RDOOR1_E/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/RDOOR1_E/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..5ae0b6b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RDOOR1_E/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function rdoor1_e_enterFastArea() /* entry=38 class_id=0x00C3 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RDOOR2_E/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RDOOR2_E/slot_06_gotHit.txt new file mode 100644 index 0000000..5218395 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RDOOR2_E/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function rdoor2_e_gotHit() /* entry=39 class_id=0x00C4 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A06_slot_23(pid, vel, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RDOOR2_E/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/RDOOR2_E/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..127cdda --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RDOOR2_E/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function rdoor2_e_enterFastArea() /* entry=39 class_id=0x00C4 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RDOOR3_E/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RDOOR3_E/slot_06_gotHit.txt new file mode 100644 index 0000000..e367ff3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RDOOR3_E/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function rdoor3_e_gotHit() /* entry=40 class_id=0x00C5 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A06_slot_23(pid, vel, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RDOOR3_E/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/RDOOR3_E/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..9eb5c22 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RDOOR3_E/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function rdoor3_e_enterFastArea() /* entry=40 class_id=0x00C5 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RDOOR4_E/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RDOOR4_E/slot_06_gotHit.txt new file mode 100644 index 0000000..a085910 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RDOOR4_E/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function rdoor4_e_gotHit() /* entry=41 class_id=0x00C6 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A06_slot_23(pid, vel, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RDOOR4_E/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/RDOOR4_E/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..7e44ec4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RDOOR4_E/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function rdoor4_e_enterFastArea() /* entry=41 class_id=0x00C6 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RDOOR5_E/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RDOOR5_E/slot_06_gotHit.txt new file mode 100644 index 0000000..1c17673 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RDOOR5_E/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function rdoor5_e_gotHit() /* entry=42 class_id=0x00C7 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A06_slot_23(pid, vel, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RDOOR5_E/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/RDOOR5_E/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..41a760d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RDOOR5_E/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function rdoor5_e_enterFastArea() /* entry=42 class_id=0x00C7 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RDOOR_E/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RDOOR_E/slot_06_gotHit.txt new file mode 100644 index 0000000..76e4fa5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RDOOR_E/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function rdoor_e_gotHit() /* entry=14 class_id=0x007B slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A06_slot_23(pid, vel, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RDOOR_N/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RDOOR_N/slot_06_gotHit.txt new file mode 100644 index 0000000..3873e3b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RDOOR_N/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function rdoor_n_gotHit() /* entry=2 class_id=0x0005 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A06_slot_23(pid, vel, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/README.md b/USECODE/EUSECODE_extracted/pseudocode/README.md new file mode 100644 index 0000000..8a248db --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/README.md @@ -0,0 +1,10 @@ +# USECODE pseudocode export + +Generated pseudocode files: 977 + +This folder is produced by tools/export_usecode_pseudocode.py using the current +pseudocode renderer in tools/poc_crusader_usecode_parser.py. + +- Each class gets its own subfolder. +- Each non-empty decoded slot body is emitted as one text file. +- index.tsv records the body range, op count, end reason, and file path. diff --git a/USECODE/EUSECODE_extracted/pseudocode/REBEL_TV/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/REBEL_TV/slot_01_use.txt new file mode 100644 index 0000000..d04a2dc --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REBEL_TV/slot_01_use.txt @@ -0,0 +1,71 @@ +function rebel_tv_use() /* entry=226 class_id=0x03ED slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + if (Item.getFrame(arg_06)) { + if (global[0x001F] == 2) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + } + else if (global[0x001F] == 3) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + } + else if (global[0x001F] == 4) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + } + else if (global[0x001F] == 5) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + } + else if (global[0x001F] == 6) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + } + else if (global[0x001F] == 7) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + } + else if (global[0x001F] == 8) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + } + else if (global[0x001F] == 9) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + } + else if (global[0x001F] == 10) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + } + else if (global[0x001F] == 11) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + } + else if (global[0x001F] == 12) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + } + else if (global[0x001F] == 13) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + } + return; + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REBSNOR/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/REBSNOR/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..5f5931a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REBSNOR/slot_0F_enterFastArea.txt @@ -0,0 +1,58 @@ +function rebsnor_enterFastArea() /* entry=310 class_id=0x0544 slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (global[0x001F] > 3) goto block_0222; + + block_00FB: + if (Intrinsic00DA(10, 1) > 5) goto block_0128; + + block_0112: + goto block_0222; + + block_0125: + goto block_0222; + + block_0128: + if 1 goto block_0222; + + block_0130: + counter = 0; + + block_0137: + if (counter <= 5) goto block_017F; + + block_013F: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0137; + + block_017F: + spawn class_0A0C_slot_32(pid, 0x012C, 0x00000000); + suspend; + counter = 0; + + block_01AD: + if (counter <= 5) goto block_01F8; + + block_01B5: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_01AD; + + block_01F8: + spawn class_0A0C_slot_32(pid, 0x00DC, 0x00000000); + suspend; + goto block_0128; + + block_0222: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REBSNOR/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/REBSNOR/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..c8269ad --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REBSNOR/slot_10_leaveFastArea.txt @@ -0,0 +1,9 @@ +function rebsnor_leaveFastArea() /* entry=310 class_id=0x0544 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(*(arg_06), 0x021B); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REBWORK/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/REBWORK/slot_04_cachein.txt new file mode 100644 index 0000000..9e72c5a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REBWORK/slot_04_cachein.txt @@ -0,0 +1,19 @@ +function rebwork_cachein() /* entry=311 class_id=0x0545 slot=0x04 */ +{ + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + if (global[0x001F] > 3) goto block_012F; + + block_00FB: + if (Intrinsic00DA(10, 1) > 5) goto block_0122; + + block_0112: + goto block_012F; + + block_0122: + + block_012F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REB_BOOT/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/REB_BOOT/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..fc2e62b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REB_BOOT/slot_0F_enterFastArea.txt @@ -0,0 +1,46 @@ +function reb_boot_enterFastArea() /* entry=240 class_id=0x0444 slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + + block_00EB: + suspend; + counter = 0; + + block_00FF: + if (counter <= 7) goto block_0147; + + block_0107: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_00FF; + + block_0147: + spawn class_0A0C_slot_32(pid, 120, 0x00000000); + suspend; + counter = 0; + + block_0174: + if (counter <= 7) goto block_01BF; + + block_017C: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0174; + + block_01BF: + spawn class_0A0C_slot_32(pid, 0x0190, 0x00000000); + suspend; + goto block_00EB; + + block_01E9: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REB_COUP/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/REB_COUP/slot_0A_equip.txt new file mode 100644 index 0000000..ab9889a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REB_COUP/slot_0A_equip.txt @@ -0,0 +1,55 @@ +function reb_coup_equip() /* entry=187 class_id=0x034D slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + val, /* [BP+0Ah] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + if val goto block_02D0; + + block_0249: + if (Item.getStatus(arg_06) & 0x1000) goto block_0268; + + block_0262: + goto block_033F; + + block_0268: + class_0A1E_slot_23(0x1000, arg_06); + counter = Item.getFrame(arg_06); + + block_0285: + if (counter <= 9) goto block_02CD; + + block_028D: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0285; + + block_02CD: + goto block_033F; + + block_02D0: + counter = 0; + + block_02D7: + if (counter <= 9) goto block_0322; + + block_02DF: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_02D7; + + block_0322: + class_0A1E_slot_24(0x1000, arg_06); + spawn class_034D_enterFastArea(arg_06); + + block_033F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REB_COUP/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/REB_COUP/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..6520886 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REB_COUP/slot_0F_enterFastArea.txt @@ -0,0 +1,46 @@ +function reb_coup_enterFastArea() /* entry=187 class_id=0x034D slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + + block_00EB: + suspend; + spawn class_0A0C_slot_32(Intrinsic00DA(pid, 60, 30), 0x00000000); + suspend; + counter = 0; + + block_012E: + if (counter <= 4) goto block_0176; + + block_0136: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_012E; + + block_0176: + spawn class_0A0C_slot_32(Intrinsic00DA(pid, 60, 30), 0x00000000); + suspend; + counter = 0; + + block_01AC: + if (counter <= 4) goto block_01F7; + + block_01B4: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_01AC; + + block_01F7: + goto block_00EB; + + block_01FA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REB_EGG/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/REB_EGG/slot_04_cachein.txt new file mode 100644 index 0000000..670eb6a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REB_EGG/slot_04_cachein.txt @@ -0,0 +1,15 @@ +function reb_egg_cachein() /* entry=347 class_id=0x0907 slot=0x04 */ +{ + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + if (!global[0x001F]) goto block_010A; + + block_00FC: + /* pop_global global_id=0x1F size=0x1 */ + + block_010A: + /* pop_global global_id=0x1F size=0x1 */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REB_EGG/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/REB_EGG/slot_07_hatch.txt new file mode 100644 index 0000000..d594ff1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REB_EGG/slot_07_hatch.txt @@ -0,0 +1,409 @@ +function reb_egg_hatch() /* entry=347 class_id=0x0907 slot=0x07 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + pad, /* [BP-04h] type=0x24 */ + n, /* [BP-06h] type=0x24 */ + door, /* [BP-08h] type=0x24 */ + moreVideo; /* [BP-09h] type=0x62 */ + + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic0070() != 0) goto block_01EC; + + block_01E6: + goto block_0F59; + + block_01EC: + if (global[0x001F] != 9) goto block_0271; + + block_020A: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + + block_0271: + if (global[0x001F] < 13) goto block_02BB; + + block_0281: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + + block_02BB: + set_info(1, 0); + if (global[0x001F] != 1) goto block_02DC; + + block_02D3: + /* pop_global global_id=0x1F size=0x1 */ + + block_02DC: + /* global_address global_id=0x3C */ + if (Item.getType() != 41) goto block_02FB; + + block_02F2: + /* pop_global global_id=0x1F size=0x1 */ + + block_02FB: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_031A: + if condition goto block_032C; + + block_031D: + /* loopnext */ + goto block_031A; + + block_032C: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_034D: + if condition goto block_0374; + + block_0350: + if (Intrinsic007E(item) != 1) goto block_0370; + + block_0365: + + block_0370: + /* loopnext */ + goto block_034D; + + block_0374: + if ((global[0x001F] > 3) && (global[0x001F] < 13)) goto block_0451; + + block_038E: + if (Intrinsic00DA(9, 0) > 5) goto block_03F6; + + block_03A5: + suspend; + goto block_044E; + + block_03F6: + + block_044E: + goto block_04A9; + + block_0451: + + block_04A9: + if ((global[0x001F] != 2) || (global[0x001F] != 5)) goto block_0556; + + block_04BB: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_04D9: + if condition goto block_04ED; + + block_04DC: + /* loopnext */ + goto block_04D9; + + block_04ED: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_050D: + if condition goto block_054A; + + block_0510: + /* loopnext */ + goto block_050D; + + block_054A: + moreVideo = 1; + goto block_0770; + + block_0556: + if ((global[0x001F] != 10) || (global[0x001F] != 11)) goto block_0656; + + block_0568: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0586: + if condition goto block_05C6; + + block_0589: + /* loopnext */ + goto block_0586; + + block_05C6: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_05E6: + if condition goto block_064A; + + block_05E9: + suspend; + /* loopnext */ + goto block_05E6; + + block_064A: + moreVideo = 1; + goto block_0770; + + block_0656: + if ((global[0x001F] != 12) || (global[0x001F] != 13)) goto block_06D8; + + block_0668: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0686: + if condition goto block_06D3; + + block_0689: + /* loopnext */ + goto block_0686; + + block_06D3: + goto block_0770; + + block_06D8: + if (global[0x001F] != 14) goto block_0770; + + block_06E2: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0700: + if condition goto block_0764; + + block_0703: + suspend; + /* loopnext */ + goto block_0700; + + block_0764: + moreVideo = 1; + goto block_0770; + + block_0770: + /* global_address global_id=0x3C */ + suspend; + spawn class_0A0C_slot_32(pid, 120, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_23(pid); + suspend; + spawn class_0907_slot_20(pid, arg_06); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x45 */ + /* loop current_var=0xFE string_bytes=0xC loop_type=0x2 */ + + block_082C: + if condition goto block_0840; + + block_082F: + /* loopnext */ + goto block_082C; + + block_0840: + if (!moreVideo) goto block_08B0; + + block_084B: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0888: + if condition goto block_08AB; + + block_088B: + /* loopnext */ + goto block_0888; + + block_08AB: + goto block_0F59; + + block_08B0: + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + if (global[0x001F] != 2) goto block_0A0E; + + block_090A: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + suspend; + /* global_address global_id=0x3C */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_09AA: + if condition goto block_09CB; + + block_09AD: + /* loopnext */ + goto block_09AA; + + block_09CB: + suspend; + goto block_0F59; + + block_0A0E: + if (global[0x001F] != 5) goto block_0B7C; + + block_0A18: + if global[0x0023] goto block_0A52; + + block_0A22: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0A7F; + + block_0A52: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + + block_0A7F: + suspend; + /* global_address global_id=0x3C */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0AF2: + if condition goto block_0B13; + + block_0AF5: + /* loopnext */ + goto block_0AF2; + + block_0B13: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + suspend; + goto block_0F59; + + block_0B7C: + if ((global[0x001F] != 10) || (global[0x001F] != 11)) goto block_0D23; + + block_0B8E: + if (global[0x001F] != 10) goto block_0BCF; + + block_0B9E: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0BFD; + + block_0BCF: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + + block_0BFD: + spawn class_0A0C_slot_32(pid, 120, 0x00000000); + suspend; + suspend; + /* global_address global_id=0x3C */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0C99: + if condition goto block_0CBA; + + block_0C9C: + /* loopnext */ + goto block_0C99; + + block_0CBA: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + suspend; + goto block_0F59; + + block_0D23: + if (global[0x001F] != 14) goto block_0F59; + + block_0D2D: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + suspend; + spawn class_0A11_slot_22(pid, 4, 12, n); + suspend; + suspend; + spawn class_0A11_slot_24(pid, n); + suspend; + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0F21: + if condition goto block_0F42; + + block_0F24: + /* loopnext */ + goto block_0F21; + + block_0F42: + goto block_0F59; + + block_0F59: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REB_EGG/slot_15_unhatch.txt b/USECODE/EUSECODE_extracted/pseudocode/REB_EGG/slot_15_unhatch.txt new file mode 100644 index 0000000..df3508c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REB_EGG/slot_15_unhatch.txt @@ -0,0 +1,35 @@ +function reb_egg_unhatch() /* entry=347 class_id=0x0907 slot=0x15 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0239, *(arg_06)); + process_exclude(); + /* global_address global_id=0x3C */ + if (Item.getType() != 41) goto block_019F; + + block_0158: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0176: + if condition goto block_019D; + + block_0179: + goto block_019F; + + block_0199: + /* loopnext */ + goto block_0176; + + block_019D: + + block_019F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REB_EGG/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/REB_EGG/slot_20_slot_20.txt new file mode 100644 index 0000000..ea8d3a9 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REB_EGG/slot_20_slot_20.txt @@ -0,0 +1,54 @@ +function reb_egg_slot_20() /* entry=347 class_id=0x0907 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + chest, /* [BP-02h] type=0x24 */ + phold, /* [BP-04h] type=0x24 */ + counter, /* [BP-06h] type=0x69 */ + counter2, /* [BP-08h] type=0x69 */ + x, /* [BP-0Ah] type=0x69 */ + y; /* [BP-0Ch] type=0x69 */ + + entry: + set_info(0x021B, 0); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0FCF: + if condition goto block_1068; + + block_0FD2: + x = (Intrinsic0013(chest) + 48); + y = (Item.legal_create(chest) + 48); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x4 */ + + block_1010: + if condition goto block_105C; + + block_1013: + x = (x - 4); + /* bit_not */ + counter = (1 + counter); + /* loopnext */ + goto block_1010; + + block_105C: + goto block_106A; + + block_1064: + /* loopnext */ + goto block_0FCF; + + block_1068: + + block_106A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REB_GAR/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/REB_GAR/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..5ad654c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REB_GAR/slot_0F_enterFastArea.txt @@ -0,0 +1,50 @@ +function reb_gar_enterFastArea() /* entry=290 class_id=0x04EC slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Intrinsic00DA(10, 1) > 5) goto block_0178; + + block_0165: + goto block_02AE; + + block_0178: + suspend; + spawn class_0A0C_slot_32(Intrinsic00DA(pid, 0x00DC, 120), 0x00000000); + suspend; + counter = 1; + + block_01BC: + if (counter <= 7) goto block_020E; + + block_01C4: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_01BC; + + block_020E: + spawn class_0A0C_slot_32(Intrinsic00DA(pid, 0x00DC, 120), 0x00000000); + suspend; + counter = 1; + + block_0245: + if (counter <= 7) goto block_0297; + + block_024D: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0245; + + block_0297: + goto block_0178; + + block_02AE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REB_GAR/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/REB_GAR/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..ef92f92 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REB_GAR/slot_10_leaveFastArea.txt @@ -0,0 +1,9 @@ +function reb_gar_leaveFastArea() /* entry=290 class_id=0x04EC slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(*(arg_06), 0x021B); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REB_PAD/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/REB_PAD/slot_06_gotHit.txt new file mode 100644 index 0000000..09f5c6c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REB_PAD/slot_06_gotHit.txt @@ -0,0 +1,25 @@ +function reb_pad_gotHit() /* entry=236 class_id=0x043D slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + ke, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + pad, /* [BP-04h] type=0x24 */ + pad2; /* [BP-06h] type=0x24 */ + + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + pad = *(arg_06); + set_info(1, 0); + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + class_0A0C_slot_2C(ke, ref); + if (retval) { + if (((Intrinsic0070() != 1) || (!Item.isInNpc(*(arg_06), item))) || (Item.getNpcNum(arg_06) == 0)) { + } + return; + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REB_PAD/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/REB_PAD/slot_20_slot_20.txt new file mode 100644 index 0000000..0d90cf5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REB_PAD/slot_20_slot_20.txt @@ -0,0 +1,39 @@ +function reb_pad_slot_20() /* entry=236 class_id=0x043D slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + mapNum, /* [BP+0Ah] type=0x69 */ + eggNum; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(1, 0); + /* global_address global_id=0x3C */ + spawn class_0A11_slot_24(pid); + suspend; + suspend; + if (!(Item.getStatus(arg_06) & 0x1000)) goto block_049F; + + block_0480: + spawn class_043D_slot_21(pid, arg_06); + suspend; + + block_049F: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + suspend; + if (mapNum != 29) goto block_0505; + + block_04FF: + goto block_055F; + + block_0505: + /* global_address global_id=0x3C */ + suspend; + /* global_address global_id=0x3C */ + spawn class_0A11_slot_23(pid); + suspend; + + block_055F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REB_PAD/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/REB_PAD/slot_21_slot_21.txt new file mode 100644 index 0000000..580a44f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REB_PAD/slot_21_slot_21.txt @@ -0,0 +1,50 @@ +function reb_pad_slot_21() /* entry=236 class_id=0x043D slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + gun, /* [BP-02h] type=0x24 */ + phold, /* [BP-04h] type=0x24 */ + gunHold, /* [BP-06h] type=0x24 */ + counter, /* [BP-08h] type=0x69 */ + counter2; /* [BP-0Ah] type=0x69 */ + + entry: + set_info(1, 0); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_05CA: + if condition goto block_062C; + + block_05CD: + spawn class_0A0C_slot_31(pid, gun, 0x00000000); + suspend; + /* dword_to_word */ + gunHold = process_result; + counter = (1 + counter); + /* loopnext */ + goto block_05CA; + + block_062C: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_064C: + if condition goto block_0677; + + block_064F: + counter2 = (1 + counter2); + /* loopnext */ + goto block_064C; + + block_0677: + /* bit_not */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RECHAGEW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RECHAGEW/slot_06_gotHit.txt new file mode 100644 index 0000000..0a40a81 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RECHAGEW/slot_06_gotHit.txt @@ -0,0 +1,100 @@ +function rechagew_gotHit() /* entry=64 class_id=0x0158 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2B(vel, ref); + if (retval && (Item.getFrame(arg_06) < 4)) goto block_02A7; + + block_010D: + spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_0143; + + block_013D: + goto block_02A7; + + block_0143: + spawn class_0A1E_slot_28(pid, 0, 1, arg_06); + suspend; + class_0A0C_slot_33(0x0254, global[0x003C]); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0197: + if condition goto block_01FC; + + block_019A: + if (Item.getFrame(item) < 2) goto block_01C9; + + block_01AF: + goto block_01F8; + + block_01C9: + if (Item.getFrame(item) < 4) goto block_01F8; + + block_01DE: + goto block_01F8; + + block_01F8: + /* loopnext */ + goto block_0197; + + block_01FC: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_021C: + if condition goto block_0230; + + block_021F: + /* loopnext */ + goto block_021C; + + block_0230: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0250: + if condition goto block_0264; + + block_0253: + /* loopnext */ + goto block_0250; + + block_0264: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0284: + if condition goto block_0298; + + block_0287: + /* loopnext */ + goto block_0284; + + block_0298: + + block_02A7: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RECHAGNS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RECHAGNS/slot_06_gotHit.txt new file mode 100644 index 0000000..ea02b4e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RECHAGNS/slot_06_gotHit.txt @@ -0,0 +1,100 @@ +function rechagns_gotHit() /* entry=55 class_id=0x0136 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2B(vel, ref); + if (retval && (Item.getFrame(arg_06) < 4)) goto block_02A7; + + block_010D: + spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_0143; + + block_013D: + goto block_02A7; + + block_0143: + spawn class_0A1E_slot_28(pid, 0, 1, arg_06); + suspend; + class_0A0C_slot_33(0x0254, global[0x003C]); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0197: + if condition goto block_01FC; + + block_019A: + if (Item.getFrame(item) < 2) goto block_01C9; + + block_01AF: + goto block_01F8; + + block_01C9: + if (Item.getFrame(item) < 4) goto block_01F8; + + block_01DE: + goto block_01F8; + + block_01F8: + /* loopnext */ + goto block_0197; + + block_01FC: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_021C: + if condition goto block_0230; + + block_021F: + /* loopnext */ + goto block_021C; + + block_0230: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0250: + if condition goto block_0264; + + block_0253: + /* loopnext */ + goto block_0250; + + block_0264: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0284: + if condition goto block_0298; + + block_0287: + /* loopnext */ + goto block_0284; + + block_0298: + + block_02A7: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RECHFLEW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RECHFLEW/slot_06_gotHit.txt new file mode 100644 index 0000000..5f9b9d0 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RECHFLEW/slot_06_gotHit.txt @@ -0,0 +1,90 @@ +function rechflew_gotHit() /* entry=65 class_id=0x015A slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + if (((ref != 1) && (Item.getFrame(arg_06) != 0)) && (Item.getNpcNum(arg_06) != 0)) goto block_02FD; + + block_011A: + if (!Item.use(*(arg_06), item)) goto block_0137; + + block_0131: + goto block_02FD; + + block_0137: + + block_014F: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_0185; + + block_015F: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_014F; + + block_0185: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_01F3: + if condition goto block_0226; + + block_01F6: + if (Item.getFrame(item) < 2) goto block_0222; + + block_020B: + + block_0222: + /* loopnext */ + goto block_01F3; + + block_0226: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + + block_0260: + if Item.hurl(0x0254, global[0x003C]) goto block_029D; + + block_0274: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0260; + + block_029D: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_02BB: + if condition goto block_02FB; + + block_02BE: + if ((Item.getFrame(item) != 2) || (Item.getFrame(item) != 3)) goto block_02F7; + + block_02E0: + + block_02F7: + /* loopnext */ + goto block_02BB; + + block_02FB: + + block_02FD: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RECHFLEW/slot_09_release.txt b/USECODE/EUSECODE_extracted/pseudocode/RECHFLEW/slot_09_release.txt new file mode 100644 index 0000000..a071b65 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RECHFLEW/slot_09_release.txt @@ -0,0 +1,18 @@ +function rechflew_release() /* entry=65 class_id=0x015A slot=0x09 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020D, *(arg_06)); + process_exclude(); + if (Intrinsic0057(arg_06) != 0) goto block_0373; + + block_0355: + class_0A0C_slot_33(0x0254, global[0x003C]); + + block_0373: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RECHFLNS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RECHFLNS/slot_06_gotHit.txt new file mode 100644 index 0000000..997cfd7 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RECHFLNS/slot_06_gotHit.txt @@ -0,0 +1,90 @@ +function rechflns_gotHit() /* entry=56 class_id=0x0138 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + if (((ref != 1) && (Item.getFrame(arg_06) != 0)) && (Item.getNpcNum(arg_06) != 0)) goto block_02FD; + + block_011A: + if (!Item.use(*(arg_06), item)) goto block_0137; + + block_0131: + goto block_02FD; + + block_0137: + + block_014F: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_0185; + + block_015F: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_014F; + + block_0185: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_01F3: + if condition goto block_0226; + + block_01F6: + if (Item.getFrame(item) < 2) goto block_0222; + + block_020B: + + block_0222: + /* loopnext */ + goto block_01F3; + + block_0226: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + + block_0260: + if Item.hurl(0x0254, global[0x003C]) goto block_029D; + + block_0274: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0260; + + block_029D: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_02BB: + if condition goto block_02FB; + + block_02BE: + if ((Item.getFrame(item) != 2) || (Item.getFrame(item) != 3)) goto block_02F7; + + block_02E0: + + block_02F7: + /* loopnext */ + goto block_02BB; + + block_02FB: + + block_02FD: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RECHFLNS/slot_09_release.txt b/USECODE/EUSECODE_extracted/pseudocode/RECHFLNS/slot_09_release.txt new file mode 100644 index 0000000..e8afff0 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RECHFLNS/slot_09_release.txt @@ -0,0 +1,18 @@ +function rechflns_release() /* entry=56 class_id=0x0138 slot=0x09 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020D, *(arg_06)); + process_exclude(); + if (Intrinsic0057(arg_06) != 0) goto block_0373; + + block_0355: + class_0A0C_slot_33(0x0254, global[0x003C]); + + block_0373: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REE_BOOT/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/REE_BOOT/slot_0A_equip.txt new file mode 100644 index 0000000..8b1cc88 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REE_BOOT/slot_0A_equip.txt @@ -0,0 +1,121 @@ +function ree_boot_equip() /* entry=283 class_id=0x04DB slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + event, /* [BP+0Ah] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) != 12) goto block_0106; + + block_0100: + goto block_03F6; + + block_0106: + class_0A0C_slot_33(0x021B, *(arg_06)); + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + + block_0140: + if (Item.getFrame(arg_06) != 11) goto block_0192; + + block_0152: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_0140; + + block_0192: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + if (global[0x001F] != 3) goto block_01F2; + + block_01C2: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_038B; + + block_01F2: + if (global[0x001F] != 6) goto block_022C; + + block_01FC: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_038B; + + block_022C: + if (global[0x001F] != 7) goto block_0266; + + block_0236: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_038B; + + block_0266: + if (global[0x001F] != 8) goto block_02A0; + + block_0270: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_038B; + + block_02A0: + if (global[0x001F] != 9) goto block_02DA; + + block_02AA: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_038B; + + block_02DA: + if (global[0x001F] != 11) goto block_0315; + + block_02E4: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_038B; + + block_0315: + if (global[0x001F] != 12) goto block_0350; + + block_031F: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_038B; + + block_0350: + if (global[0x001F] != 13) goto block_038B; + + block_035A: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_038B; + + block_038B: + counter = 0; + + block_0392: + if (counter <= 11) goto block_03DD; + + block_039A: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0392; + + block_03DD: + spawn class_04DB_enterFastArea(arg_06); + + block_03F6: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REE_BOOT/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/REE_BOOT/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..4d3b2d6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REE_BOOT/slot_0F_enterFastArea.txt @@ -0,0 +1,96 @@ +function ree_boot_enterFastArea() /* entry=283 class_id=0x04DB slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + counter; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if ((((((((global[0x001F] != 3) || (global[0x001F] != 6)) || (global[0x001F] != 7)) || (global[0x001F] != 8)) || (global[0x001F] != 9)) || (global[0x001F] != 11)) || (global[0x001F] != 12)) || (global[0x001F] != 13)) goto block_04DA; + + block_0478: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0496: + if condition goto block_04C8; + + block_0499: + if (Item.getNpcNum(item) != Item.getNpcNum(arg_06)) goto block_04C4; + + block_04B5: + class_0A1E_slot_24(0x1000, item); + + block_04C4: + /* loopnext */ + goto block_0496; + + block_04C8: + goto block_053F; + + block_04DA: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_04F8: + if condition goto block_052A; + + block_04FB: + if (Item.getNpcNum(item) != Item.getNpcNum(arg_06)) goto block_0526; + + block_0517: + class_0A1E_slot_23(0x1000, item); + + block_0526: + /* loopnext */ + goto block_04F8; + + block_052A: + goto block_0653; + + block_053F: + suspend; + class_0A0C_slot_20(pid, 120); + spawn class_0A0C_slot_32((retval + 0x00DC), 0x00000000); + suspend; + counter = 0; + + block_0585: + if (counter <= 4) goto block_05CD; + + block_058D: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0585; + + block_05CD: + class_0A0C_slot_20(pid, 120); + spawn class_0A0C_slot_32((retval + 120), 0x00000000); + suspend; + counter = 0; + + block_0605: + if (counter <= 4) goto block_0650; + + block_060D: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0605; + + block_0650: + goto block_053F; + + block_0653: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/REE_BOOT/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/REE_BOOT/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..40637d3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/REE_BOOT/slot_10_leaveFastArea.txt @@ -0,0 +1,9 @@ +function ree_boot_leaveFastArea() /* entry=283 class_id=0x04DB slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RFANBADE/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RFANBADE/slot_06_gotHit.txt new file mode 100644 index 0000000..56fa03f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RFANBADE/slot_06_gotHit.txt @@ -0,0 +1,49 @@ +function rfanbade_gotHit() /* entry=222 class_id=0x03CE slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + fart, /* [BP-04h] type=0x69 */ + fart2; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_0104; + + block_00FE: + goto block_01AE; + + block_0104: + class_0A0C_slot_2B(vel, ref); + if (retval && (Item.getFrame(arg_06) > 0)) goto block_01AE; + + block_0126: + fart2 = Item.getNpcNum(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_017B: + if condition goto block_01AC; + + block_017E: + fart = Item.getNpcNum(item); + if (fart != fart2) goto block_01A8; + + block_019D: + + block_01A8: + /* loopnext */ + goto block_017B; + + block_01AC: + + block_01AE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RFANBADE/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/RFANBADE/slot_0A_equip.txt new file mode 100644 index 0000000..447d11d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RFANBADE/slot_0A_equip.txt @@ -0,0 +1,82 @@ +function rfanbade_equip() /* entry=222 class_id=0x03CE slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + counter, /* [BP-04h] type=0x69 */ + counter2, /* [BP-06h] type=0x69 */ + item, /* [BP-08h] type=0x24 */ + wind; /* [BP-0Ah] type=0x24 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) != 0) || (Item.getStatus(arg_06) & 0x1000)) goto block_022D; + + block_0227: + goto block_03B2; + + block_022D: + if var goto block_03B2; + + block_0235: + class_0A1E_slot_23(0x1000, arg_06); + fram = Item.getFrame(arg_06); + counter2 = 0; + counter = 1; + + block_0260: + if (counter <= 15) goto block_0334; + + block_0268: + fram = (1 + fram); + if (fram > 5) goto block_0287; + + block_0280: + fram = 1; + + block_0287: + counter2 = (counter2 + 2); + spawn class_0A0C_slot_32(pid, (30 - counter2), 0x00000000); + suspend; + if (counter2 != 4) goto block_0327; + + block_02D5: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF6 string_bytes=0x6 loop_type=0x2 */ + + block_02F3: + if condition goto block_0325; + + block_02F6: + if (Item.getNpcNum(wind) != Item.getNpcNum(arg_06)) goto block_0321; + + block_0312: + class_0A0C_slot_2F(0x0337, wind); + + block_0321: + /* loopnext */ + goto block_02F3; + + block_0325: + + block_0327: + counter = (1 + counter); + goto block_0260; + + block_0334: + if (fram > 4) goto block_034F; + + block_0342: + + block_034F: + class_0A1E_slot_24(0x1000, arg_06); + + block_03B2: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RFANBADN/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RFANBADN/slot_06_gotHit.txt new file mode 100644 index 0000000..87e1a83 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RFANBADN/slot_06_gotHit.txt @@ -0,0 +1,49 @@ +function rfanbadn_gotHit() /* entry=223 class_id=0x03D3 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + fart, /* [BP-04h] type=0x69 */ + fart2; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_0104; + + block_00FE: + goto block_01AE; + + block_0104: + class_0A0C_slot_2B(vel, ref); + if (retval && (Item.getFrame(arg_06) > 0)) goto block_01AE; + + block_0126: + fart2 = Item.getNpcNum(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_017B: + if condition goto block_01AC; + + block_017E: + fart = Item.getNpcNum(item); + if (fart != fart2) goto block_01A8; + + block_019D: + + block_01A8: + /* loopnext */ + goto block_017B; + + block_01AC: + + block_01AE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RFANBADN/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/RFANBADN/slot_0A_equip.txt new file mode 100644 index 0000000..9cfa6ec --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RFANBADN/slot_0A_equip.txt @@ -0,0 +1,82 @@ +function rfanbadn_equip() /* entry=223 class_id=0x03D3 slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + counter, /* [BP-04h] type=0x69 */ + counter2, /* [BP-06h] type=0x69 */ + item, /* [BP-08h] type=0x24 */ + wind; /* [BP-0Ah] type=0x24 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) != 0) || (Item.getStatus(arg_06) & 0x1000)) goto block_022D; + + block_0227: + goto block_03B3; + + block_022D: + if var goto block_03B3; + + block_0235: + class_0A1E_slot_23(0x1000, arg_06); + fram = Item.getFrame(arg_06); + counter2 = 0; + counter = 1; + + block_0260: + if (counter <= 15) goto block_0334; + + block_0268: + fram = (1 + fram); + if (fram > 5) goto block_0287; + + block_0280: + fram = 1; + + block_0287: + counter2 = (counter2 + 2); + spawn class_0A0C_slot_32(pid, (30 - counter2), 0x00000000); + suspend; + if (counter2 != 4) goto block_0327; + + block_02D5: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF6 string_bytes=0x6 loop_type=0x2 */ + + block_02F3: + if condition goto block_0325; + + block_02F6: + if (Item.getNpcNum(wind) != Item.getNpcNum(arg_06)) goto block_0321; + + block_0312: + class_0A0C_slot_2F(0x0337, wind); + + block_0321: + /* loopnext */ + goto block_02F3; + + block_0325: + + block_0327: + counter = (1 + counter); + goto block_0260; + + block_0334: + if (fram > 4) goto block_034F; + + block_0342: + + block_034F: + class_0A1E_slot_24(0x1000, arg_06); + + block_03B3: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RFANEW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RFANEW/slot_06_gotHit.txt new file mode 100644 index 0000000..193e93b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RFANEW/slot_06_gotHit.txt @@ -0,0 +1,43 @@ +function rfanew_gotHit() /* entry=9 class_id=0x005E slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + fart, /* [BP-04h] type=0x69 */ + fart2; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2B(vel, ref); + if retval goto block_01A0; + + block_0134: + fart2 = Item.getNpcNum(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_016D: + if condition goto block_019E; + + block_0170: + fart = Item.getNpcNum(item); + if (fart != fart2) goto block_019A; + + block_018F: + + block_019A: + /* loopnext */ + goto block_016D; + + block_019E: + + block_01A0: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RFANEW/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/RFANEW/slot_0A_equip.txt new file mode 100644 index 0000000..19f8328 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RFANEW/slot_0A_equip.txt @@ -0,0 +1,81 @@ +function rfanew_equip() /* entry=9 class_id=0x005E slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + counter, /* [BP-04h] type=0x69 */ + counter2, /* [BP-06h] type=0x69 */ + item, /* [BP-08h] type=0x24 */ + wind; /* [BP-0Ah] type=0x24 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 0x1000) goto block_020F; + + block_0209: + goto block_03E3; + + block_020F: + if (var != 0) goto block_03E3; + + block_021A: + class_0A1E_slot_23(0x1000, arg_06); + fram = Item.getFrame(arg_06); + fram = (1 + fram); + counter2 = 1; + spawn class_0A0C_slot_32(pid, counter2, 0x00000000); + suspend; + counter = 1; + + block_0290: + if (counter <= 15) goto block_0378; + + block_0298: + fram = (1 + fram); + if (fram > 5) goto block_02B7; + + block_02B0: + fram = 1; + + block_02B7: + counter2 = (counter2 + 1); + spawn class_0A0C_slot_32(pid, counter2, 0x00000000); + suspend; + if (counter2 != 4) goto block_036B; + + block_0302: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF6 string_bytes=0x6 loop_type=0x2 */ + + block_0320: + if condition goto block_0369; + + block_0323: + if (Item.getNpcNum(wind) != Item.getNpcNum(arg_06)) goto block_0365; + + block_033F: + spawn class_0A0C_slot_31(pid, wind, 0x00000000); + suspend; + + block_0365: + /* loopnext */ + goto block_0320; + + block_0369: + + block_036B: + counter = (1 + counter); + goto block_0290; + + block_0378: + class_0A1E_slot_24(0x1000, arg_06); + + block_03E3: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RFANEW/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/RFANEW/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..887fe97 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RFANEW/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function rfanew_enterFastArea() /* entry=9 class_id=0x005E slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RFANNS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RFANNS/slot_06_gotHit.txt new file mode 100644 index 0000000..09084dc --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RFANNS/slot_06_gotHit.txt @@ -0,0 +1,43 @@ +function rfanns_gotHit() /* entry=37 class_id=0x00BD slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + fart, /* [BP-04h] type=0x69 */ + fart2; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2B(vel, ref); + if retval goto block_01A0; + + block_0134: + fart2 = Item.getNpcNum(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_016D: + if condition goto block_019E; + + block_0170: + fart = Item.getNpcNum(item); + if (fart != fart2) goto block_019A; + + block_018F: + + block_019A: + /* loopnext */ + goto block_016D; + + block_019E: + + block_01A0: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RFANNS/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/RFANNS/slot_0A_equip.txt new file mode 100644 index 0000000..edb8b3c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RFANNS/slot_0A_equip.txt @@ -0,0 +1,81 @@ +function rfanns_equip() /* entry=37 class_id=0x00BD slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + counter, /* [BP-04h] type=0x69 */ + counter2, /* [BP-06h] type=0x69 */ + item, /* [BP-08h] type=0x24 */ + wind; /* [BP-0Ah] type=0x24 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 0x1000) goto block_020F; + + block_0209: + goto block_03E3; + + block_020F: + if (var != 0) goto block_03E3; + + block_021A: + class_0A1E_slot_23(0x1000, arg_06); + fram = Item.getFrame(arg_06); + fram = (1 + fram); + counter2 = 1; + spawn class_0A0C_slot_32(pid, counter2, 0x00000000); + suspend; + counter = 1; + + block_0290: + if (counter <= 15) goto block_0378; + + block_0298: + fram = (1 + fram); + if (fram > 5) goto block_02B7; + + block_02B0: + fram = 1; + + block_02B7: + counter2 = (counter2 + 1); + spawn class_0A0C_slot_32(pid, counter2, 0x00000000); + suspend; + if (counter2 != 4) goto block_036B; + + block_0302: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF6 string_bytes=0x6 loop_type=0x2 */ + + block_0320: + if condition goto block_0369; + + block_0323: + if (Item.getNpcNum(wind) != Item.getNpcNum(arg_06)) goto block_0365; + + block_033F: + spawn class_0A0C_slot_31(pid, wind, 0x00000000); + suspend; + + block_0365: + /* loopnext */ + goto block_0320; + + block_0369: + + block_036B: + counter = (1 + counter); + goto block_0290; + + block_0378: + class_0A1E_slot_24(0x1000, arg_06); + + block_03E3: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RFANNS/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/RFANNS/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..7b79e24 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RFANNS/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function rfanns_enterFastArea() /* entry=37 class_id=0x00BD slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROAMING/slot_0E_calledFromAnim.txt b/USECODE/EUSECODE_extracted/pseudocode/ROAMING/slot_0E_calledFromAnim.txt new file mode 100644 index 0000000..f9926f5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROAMING/slot_0E_calledFromAnim.txt @@ -0,0 +1,15 @@ +function roaming_calledFromAnim() /* entry=153 class_id=0x02CB slot=0x0E */ +{ + var + referent, /* [BP+00h] type=0x69 */ + n; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + n = *(arg_06); + set_info(1, 0); + spawn class_0A1C_slot_20(Item.getQLo(arg_06), *(arg_06), arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_05_hit.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_05_hit.txt new file mode 100644 index 0000000..b0759bd --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_05_hit.txt @@ -0,0 +1,19 @@ +function rollb_ew_hit() /* entry=331 class_id=0x058B slot=0x05 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020B, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_0C49; + + block_0C3B: + spawn class_058B_slot_21(arg_06); + + block_0C49: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_06_gotHit.txt new file mode 100644 index 0000000..bec5530 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_06_gotHit.txt @@ -0,0 +1,45 @@ +function rollb_ew_gotHit() /* entry=331 class_id=0x058B slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_0B63; + + block_0B52: + spawn class_058B_slot_21(arg_06); + goto block_0BE8; + + block_0B63: + spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_0BC9; + + block_0B93: + class_0A0C_slot_20(1); + if retval goto block_0BB3; + + block_0BA3: + goto block_0BC0; + + block_0BB3: + + block_0BC0: + goto block_0BE8; + + block_0BC6: + goto block_0BE8; + + block_0BC9: + spawn class_058B_slot_20(pid, arg_06); + suspend; + + block_0BE8: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_0A_equip.txt new file mode 100644 index 0000000..063647d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_0A_equip.txt @@ -0,0 +1,32 @@ +function rollb_ew_equip() /* entry=331 class_id=0x058B slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A != 1) goto block_0181; + + block_0157: + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_017E; + + block_0170: + spawn class_058B_slot_21(arg_06); + + block_017E: + goto block_01C1; + + block_0181: + if (arg_0A != 2) goto block_01C1; + + block_018C: + if (Item.getStatus(arg_06) & 0x1000) goto block_01BE; + + block_019F: + /* bit_not */ + + block_01BE: + goto block_01C1; + + block_01C1: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_0B_unequip.txt new file mode 100644 index 0000000..55c2ca1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_0B_unequip.txt @@ -0,0 +1,10 @@ +function rollb_ew_unequip() /* entry=331 class_id=0x058B slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn class_058B_equip(pid, arg_0A, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_20_slot_20.txt new file mode 100644 index 0000000..941f902 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_20_slot_20.txt @@ -0,0 +1,79 @@ +function rollb_ew_slot_20() /* entry=331 class_id=0x058B slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + item2, /* [BP-04h] type=0x24 */ + riderList, /* [BP-06h] type=0x6C */ + r1, /* [BP-08h] type=0x69 */ + r2, /* [BP-0Ah] type=0x69 */ + h, /* [BP-0Ch] type=0x69 */ + x, /* [BP-0Eh] type=0x69 */ + y, /* [BP-10h] type=0x69 */ + z, /* [BP-11h] type=0x62 */ + qLo; /* [BP-13h] type=0x69 */ + + entry: + set_info(1, *(arg_06)); + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + h = Item.getNpcNum(arg_06); + if (h & 32) goto block_025C; + + block_0233: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + + block_0243: + if condition goto block_025A; + + block_0246: + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + riderList = item2; + /* loopnext */ + goto block_0243; + + block_025A: + + block_025C: + if (h & 64) goto block_0291; + + block_0267: + /* bit_not */ + item2 = *(arg_06); + goto block_0375; + + block_0291: + class_0A0C_slot_20(5); + r1 = retval; + + block_02A0: + if 1 goto block_02CB; + + block_02A8: + class_0A0C_slot_20(5); + r2 = retval; + if (r2 != r1) goto block_02C8; + + block_02C2: + goto block_02CB; + + block_02C8: + goto block_02A0; + + block_02CB: + x = Intrinsic0013(arg_06); + y = Item.legal_create(arg_06); + z = Item.getZ(arg_06); + qLo = Item.getNpcNum(arg_06); + spawn class_0A1E_slot_2A(pid, arg_06); + suspend; + + block_0375: + set_info(1, 0); + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_21_slot_21.txt new file mode 100644 index 0000000..588f43a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_EW/slot_21_slot_21.txt @@ -0,0 +1,281 @@ +function rollb_ew_slot_21() /* entry=331 class_id=0x058B slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + time, /* [BP-02h] type=0x69 */ + f, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + total, /* [BP-08h] type=0x69 */ + counter, /* [BP-0Ah] type=0x69 */ + dz, /* [BP-0Ch] type=0x69 */ + oldz, /* [BP-0Eh] type=0x69 */ + wp, /* [BP-13h] type=0x24 */ + cargo, /* [BP-15h] type=0x24 */ + zCheck, /* [BP-17h] type=0x69 */ + zMax; /* [BP-18h] type=0x62 */ + + entry: + set_info(0x0001, *(arg_06)); + a = Item.getNpcNum(arg_06); + time = (a & 31); + if (time != 0) goto block_0421; + + block_041A: + time = 1; + + block_0421: + f = Item.getFrame(arg_06); + wp = Intrinsic0013(arg_06); + local_11 = Item.legal_create(arg_06); + local_0F = Item.getZ(arg_06); + if (a & 32) goto block_0792; + + block_0480: + if (a < 0x0080) goto block_060F; + + block_048C: + if 1 goto block_060C; + + block_0494: + f = (f - 1); + if (f < 0) goto block_04B3; + + block_04AC: + f = 4; + + block_04B3: + total = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xEB string_bytes=0x1 loop_type=0x6 */ + + block_04CA: + if condition goto block_04E6; + + block_04CD: + total = (1 + total); + /* loopnext */ + goto block_04CA; + + block_04E6: + wp = (wp + 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0584; + + block_0510: + counter = 1; + + block_0517: + if (counter <= total) goto block_055F; + + block_0522: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_0517; + + block_055F: + spawn class_058B_slot_20(pid, arg_06); + suspend; + goto block_0AAF; + + block_0584: + counter = 1; + + block_058B: + if (counter <= total) goto block_05D6; + + block_0596: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_058B; + + block_05D6: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_048C; + + block_060C: + goto block_078F; + + block_060F: + if 1 goto block_078F; + + block_0617: + f = (1 + f); + if (f > 4) goto block_0636; + + block_062F: + f = 0; + + block_0636: + total = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xEB string_bytes=0x1 loop_type=0x6 */ + + block_064D: + if condition goto block_0669; + + block_0650: + total = (1 + total); + /* loopnext */ + goto block_064D; + + block_0669: + wp = (wp - 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0707; + + block_0693: + counter = 1; + + block_069A: + if (counter <= total) goto block_06E2; + + block_06A5: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_069A; + + block_06E2: + spawn class_058B_slot_20(pid, arg_06); + suspend; + goto block_0AAF; + + block_0707: + counter = 1; + + block_070E: + if (counter <= total) goto block_0759; + + block_0719: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_070E; + + block_0759: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_060F; + + block_078F: + goto block_0AAF; + + block_0792: + zCheck = 0; + zMax = local_0F; + if (a < 0x0080) goto block_092F; + + block_07AC: + if 1 goto block_092C; + + block_07B4: + f = (f - 1); + if (f < 0) goto block_07D3; + + block_07CC: + f = 4; + + block_07D3: + wp = (wp + 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0848; + + block_07FB: + local_0F = (1 + local_0F); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0848; + + block_0823: + spawn class_058B_slot_20(pid, arg_06); + suspend; + goto block_0AAF; + + block_0848: + if (local_0F > 1) goto block_0892; + + block_0853: + local_0F = (local_0F - 4); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0885; + + block_087B: + local_0F = (local_0F + 4); + + block_0885: + zCheck = (zMax - local_0F); + goto block_08F6; + + block_0892: + if (zCheck > 12) goto block_08F6; + + block_089D: + spawn class_0A0C_slot_32(pid, 6, 0x00000000); + suspend; + spawn class_058B_slot_20(pid, arg_06); + suspend; + goto block_0AAF; + + block_08F3: + goto block_08F6; + + block_08F6: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_07AC; + + block_092C: + goto block_0AAF; + + block_092F: + if 1 goto block_0AAF; + + block_0937: + f = (1 + f); + if (f > 4) goto block_0956; + + block_094F: + f = 0; + + block_0956: + wp = (wp - 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_09CB; + + block_097E: + local_0F = (1 + local_0F); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_09CB; + + block_09A6: + spawn class_058B_slot_20(pid, arg_06); + suspend; + goto block_0AAF; + + block_09CB: + if (local_0F > 1) goto block_0A15; + + block_09D6: + local_0F = (local_0F - 4); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0A08; + + block_09FE: + local_0F = (local_0F + 4); + + block_0A08: + zCheck = (zMax - local_0F); + goto block_0A79; + + block_0A15: + if (zCheck > 12) goto block_0A79; + + block_0A20: + spawn class_0A0C_slot_32(pid, 6, 0x00000000); + suspend; + spawn class_058B_slot_20(pid, arg_06); + suspend; + goto block_0AAF; + + block_0A76: + goto block_0A79; + + block_0A79: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_092F; + + block_0AAF: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_05_hit.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_05_hit.txt new file mode 100644 index 0000000..3daa412 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_05_hit.txt @@ -0,0 +1,19 @@ +function rollb_ns_hit() /* entry=330 class_id=0x0586 slot=0x05 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020B, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_0C41; + + block_0C33: + spawn class_0586_slot_21(arg_06); + + block_0C41: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_06_gotHit.txt new file mode 100644 index 0000000..0fc319a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_06_gotHit.txt @@ -0,0 +1,45 @@ +function rollb_ns_gotHit() /* entry=330 class_id=0x0586 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_0B5B; + + block_0B4A: + spawn class_0586_slot_21(arg_06); + goto block_0BE0; + + block_0B5B: + spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_0BC1; + + block_0B8B: + class_0A0C_slot_20(1); + if retval goto block_0BAB; + + block_0B9B: + goto block_0BB8; + + block_0BAB: + + block_0BB8: + goto block_0BE0; + + block_0BBE: + goto block_0BE0; + + block_0BC1: + spawn class_0586_slot_20(pid, arg_06); + suspend; + + block_0BE0: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_0A_equip.txt new file mode 100644 index 0000000..be47e51 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_0A_equip.txt @@ -0,0 +1,32 @@ +function rollb_ns_equip() /* entry=330 class_id=0x0586 slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A != 1) goto block_0181; + + block_0157: + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_017E; + + block_0170: + spawn class_0586_slot_21(arg_06); + + block_017E: + goto block_01C1; + + block_0181: + if (arg_0A != 2) goto block_01C1; + + block_018C: + if (Item.getStatus(arg_06) & 0x1000) goto block_01BE; + + block_019F: + /* bit_not */ + + block_01BE: + goto block_01C1; + + block_01C1: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_0B_unequip.txt new file mode 100644 index 0000000..332f2ed --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_0B_unequip.txt @@ -0,0 +1,10 @@ +function rollb_ns_unequip() /* entry=330 class_id=0x0586 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn class_0586_equip(pid, arg_0A, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_20_slot_20.txt new file mode 100644 index 0000000..aeda44a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_20_slot_20.txt @@ -0,0 +1,78 @@ +function rollb_ns_slot_20() /* entry=330 class_id=0x0586 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + item2, /* [BP-04h] type=0x24 */ + riderList, /* [BP-06h] type=0x6C */ + r1, /* [BP-08h] type=0x69 */ + r2, /* [BP-0Ah] type=0x69 */ + h, /* [BP-0Ch] type=0x69 */ + x, /* [BP-0Eh] type=0x69 */ + y, /* [BP-10h] type=0x69 */ + z, /* [BP-11h] type=0x62 */ + qLo; /* [BP-13h] type=0x69 */ + + entry: + set_info(1, *(arg_06)); + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + h = Item.getNpcNum(arg_06); + if (h & 32) goto block_025C; + + block_0233: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + + block_0243: + if condition goto block_025A; + + block_0246: + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + riderList = item2; + /* loopnext */ + goto block_0243; + + block_025A: + + block_025C: + if (h & 64) goto block_0291; + + block_0267: + /* bit_not */ + item2 = *(arg_06); + goto block_0375; + + block_0291: + class_0A0C_slot_20(5); + r1 = retval; + + block_02A0: + if 1 goto block_02CB; + + block_02A8: + class_0A0C_slot_20(5); + r2 = retval; + if (r2 != r1) goto block_02C8; + + block_02C2: + goto block_02CB; + + block_02C8: + goto block_02A0; + + block_02CB: + x = Intrinsic0013(arg_06); + y = Item.legal_create(arg_06); + z = Item.getZ(arg_06); + qLo = Item.getNpcNum(arg_06); + spawn class_0A1E_slot_2A(pid, arg_06); + suspend; + + block_0375: + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_21_slot_21.txt new file mode 100644 index 0000000..5c51720 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLLB_NS/slot_21_slot_21.txt @@ -0,0 +1,281 @@ +function rollb_ns_slot_21() /* entry=330 class_id=0x0586 slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + time, /* [BP-02h] type=0x69 */ + f, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + total, /* [BP-08h] type=0x69 */ + counter, /* [BP-0Ah] type=0x69 */ + dz, /* [BP-0Ch] type=0x69 */ + oldz, /* [BP-0Eh] type=0x69 */ + wp, /* [BP-13h] type=0x24 */ + cargo, /* [BP-15h] type=0x24 */ + zCheck, /* [BP-17h] type=0x69 */ + zMax; /* [BP-18h] type=0x62 */ + + entry: + set_info(0x0001, *(arg_06)); + a = Item.getNpcNum(arg_06); + time = (a & 31); + if (time != 0) goto block_0419; + + block_0412: + time = 1; + + block_0419: + f = Item.getFrame(arg_06); + wp = Intrinsic0013(arg_06); + local_11 = Item.legal_create(arg_06); + local_0F = Item.getZ(arg_06); + if (a & 32) goto block_078A; + + block_0478: + if (a < 0x0080) goto block_0607; + + block_0484: + if 1 goto block_0604; + + block_048C: + f = (f - 1); + if (f < 0) goto block_04AB; + + block_04A4: + f = 4; + + block_04AB: + total = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xEB string_bytes=0x1 loop_type=0x6 */ + + block_04C2: + if condition goto block_04DE; + + block_04C5: + total = (1 + total); + /* loopnext */ + goto block_04C2; + + block_04DE: + local_11 = (local_11 + 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_057C; + + block_0508: + counter = 1; + + block_050F: + if (counter <= total) goto block_0557; + + block_051A: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_050F; + + block_0557: + spawn class_0586_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_057C: + counter = 1; + + block_0583: + if (counter <= total) goto block_05CE; + + block_058E: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_0583; + + block_05CE: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_0484; + + block_0604: + goto block_0787; + + block_0607: + if 1 goto block_0787; + + block_060F: + f = (1 + f); + if (f > 4) goto block_062E; + + block_0627: + f = 0; + + block_062E: + total = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xEB string_bytes=0x1 loop_type=0x6 */ + + block_0645: + if condition goto block_0661; + + block_0648: + total = (1 + total); + /* loopnext */ + goto block_0645; + + block_0661: + local_11 = (local_11 - 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_06FF; + + block_068B: + counter = 1; + + block_0692: + if (counter <= total) goto block_06DA; + + block_069D: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_0692; + + block_06DA: + spawn class_0586_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_06FF: + counter = 1; + + block_0706: + if (counter <= total) goto block_0751; + + block_0711: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_0706; + + block_0751: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_0607; + + block_0787: + goto block_0AA7; + + block_078A: + zCheck = 0; + zMax = local_0F; + if (a < 0x0080) goto block_0927; + + block_07A4: + if 1 goto block_0924; + + block_07AC: + f = (f - 1); + if (f < 0) goto block_07CB; + + block_07C4: + f = 4; + + block_07CB: + local_11 = (local_11 + 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0840; + + block_07F3: + local_0F = (1 + local_0F); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0840; + + block_081B: + spawn class_0586_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_0840: + if (local_0F > 1) goto block_088A; + + block_084B: + local_0F = (local_0F - 4); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_087D; + + block_0873: + local_0F = (local_0F + 4); + + block_087D: + zCheck = (zMax - local_0F); + goto block_08EE; + + block_088A: + if (zCheck > 12) goto block_08EE; + + block_0895: + spawn class_0A0C_slot_32(pid, 6, 0x00000000); + suspend; + spawn class_0586_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_08EB: + goto block_08EE; + + block_08EE: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_07A4; + + block_0924: + goto block_0AA7; + + block_0927: + if 1 goto block_0AA7; + + block_092F: + f = (1 + f); + if (f > 4) goto block_094E; + + block_0947: + f = 0; + + block_094E: + local_11 = (local_11 - 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_09C3; + + block_0976: + local_0F = (1 + local_0F); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_09C3; + + block_099E: + spawn class_0586_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_09C3: + if (local_0F > 1) goto block_0A0D; + + block_09CE: + local_0F = (local_0F - 4); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0A00; + + block_09F6: + local_0F = (local_0F + 4); + + block_0A00: + zCheck = (zMax - local_0F); + goto block_0A71; + + block_0A0D: + if (zCheck > 12) goto block_0A71; + + block_0A18: + spawn class_0A0C_slot_32(pid, 6, 0x00000000); + suspend; + spawn class_0586_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_0A6E: + goto block_0A71; + + block_0A71: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_0927; + + block_0AA7: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_05_hit.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_05_hit.txt new file mode 100644 index 0000000..b76ea0d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_05_hit.txt @@ -0,0 +1,19 @@ +function roll_ew_hit() /* entry=326 class_id=0x056C slot=0x05 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020B, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_0C41; + + block_0C33: + spawn class_056C_slot_21(arg_06); + + block_0C41: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_06_gotHit.txt new file mode 100644 index 0000000..78b33fa --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_06_gotHit.txt @@ -0,0 +1,45 @@ +function roll_ew_gotHit() /* entry=326 class_id=0x056C slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_0B5B; + + block_0B4A: + spawn class_056C_slot_21(arg_06); + goto block_0BE0; + + block_0B5B: + spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_0BC1; + + block_0B8B: + class_0A0C_slot_20(1); + if retval goto block_0BAB; + + block_0B9B: + goto block_0BB8; + + block_0BAB: + + block_0BB8: + goto block_0BE0; + + block_0BBE: + goto block_0BE0; + + block_0BC1: + spawn class_056C_slot_20(pid, arg_06); + suspend; + + block_0BE0: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_0A_equip.txt new file mode 100644 index 0000000..d402739 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_0A_equip.txt @@ -0,0 +1,32 @@ +function roll_ew_equip() /* entry=326 class_id=0x056C slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A != 1) goto block_0181; + + block_0157: + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_017E; + + block_0170: + spawn class_056C_slot_21(arg_06); + + block_017E: + goto block_01C1; + + block_0181: + if (arg_0A != 2) goto block_01C1; + + block_018C: + if (Item.getStatus(arg_06) & 0x1000) goto block_01BE; + + block_019F: + /* bit_not */ + + block_01BE: + goto block_01C1; + + block_01C1: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_0B_unequip.txt new file mode 100644 index 0000000..1f5909c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_0B_unequip.txt @@ -0,0 +1,10 @@ +function roll_ew_unequip() /* entry=326 class_id=0x056C slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn class_056C_equip(pid, arg_0A, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_20_slot_20.txt new file mode 100644 index 0000000..30c5e08 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_20_slot_20.txt @@ -0,0 +1,78 @@ +function roll_ew_slot_20() /* entry=326 class_id=0x056C slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + item2, /* [BP-04h] type=0x24 */ + riderList, /* [BP-06h] type=0x6C */ + r1, /* [BP-08h] type=0x69 */ + r2, /* [BP-0Ah] type=0x69 */ + h, /* [BP-0Ch] type=0x69 */ + x, /* [BP-0Eh] type=0x69 */ + y, /* [BP-10h] type=0x69 */ + z, /* [BP-11h] type=0x62 */ + qLo; /* [BP-13h] type=0x69 */ + + entry: + set_info(1, *(arg_06)); + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + h = Item.getNpcNum(arg_06); + if (h & 32) goto block_025C; + + block_0233: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + + block_0243: + if condition goto block_025A; + + block_0246: + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + riderList = item2; + /* loopnext */ + goto block_0243; + + block_025A: + + block_025C: + if (h & 64) goto block_0291; + + block_0267: + /* bit_not */ + item2 = *(arg_06); + goto block_0375; + + block_0291: + class_0A0C_slot_20(3); + r1 = retval; + + block_02A0: + if 1 goto block_02CB; + + block_02A8: + class_0A0C_slot_20(3); + r2 = retval; + if (r2 != r1) goto block_02C8; + + block_02C2: + goto block_02CB; + + block_02C8: + goto block_02A0; + + block_02CB: + x = Intrinsic0013(arg_06); + y = Item.legal_create(arg_06); + z = Item.getZ(arg_06); + qLo = Item.getNpcNum(arg_06); + spawn class_0A1E_slot_2A(pid, arg_06); + suspend; + + block_0375: + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_21_slot_21.txt new file mode 100644 index 0000000..1a7422b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLL_EW/slot_21_slot_21.txt @@ -0,0 +1,281 @@ +function roll_ew_slot_21() /* entry=326 class_id=0x056C slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + time, /* [BP-02h] type=0x69 */ + f, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + total, /* [BP-08h] type=0x69 */ + counter, /* [BP-0Ah] type=0x69 */ + dz, /* [BP-0Ch] type=0x69 */ + oldz, /* [BP-0Eh] type=0x69 */ + wp, /* [BP-13h] type=0x24 */ + cargo, /* [BP-15h] type=0x24 */ + zCheck, /* [BP-17h] type=0x69 */ + zMax; /* [BP-18h] type=0x62 */ + + entry: + set_info(0x0001, *(arg_06)); + a = Item.getNpcNum(arg_06); + time = (a & 31); + if (time != 0) goto block_0419; + + block_0412: + time = 1; + + block_0419: + f = Item.getFrame(arg_06); + wp = Intrinsic0013(arg_06); + local_11 = Item.legal_create(arg_06); + local_0F = Item.getZ(arg_06); + if (a & 32) goto block_078A; + + block_0478: + if (a < 0x0080) goto block_0607; + + block_0484: + if 1 goto block_0604; + + block_048C: + f = (f - 1); + if (f < 0) goto block_04AB; + + block_04A4: + f = 3; + + block_04AB: + total = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xEB string_bytes=0x1 loop_type=0x6 */ + + block_04C2: + if condition goto block_04DE; + + block_04C5: + total = (1 + total); + /* loopnext */ + goto block_04C2; + + block_04DE: + wp = (wp + 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_057C; + + block_0508: + counter = 1; + + block_050F: + if (counter <= total) goto block_0557; + + block_051A: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_050F; + + block_0557: + spawn class_056C_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_057C: + counter = 1; + + block_0583: + if (counter <= total) goto block_05CE; + + block_058E: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_0583; + + block_05CE: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_0484; + + block_0604: + goto block_0787; + + block_0607: + if 1 goto block_0787; + + block_060F: + f = (1 + f); + if (f > 3) goto block_062E; + + block_0627: + f = 0; + + block_062E: + total = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xEB string_bytes=0x1 loop_type=0x6 */ + + block_0645: + if condition goto block_0661; + + block_0648: + total = (1 + total); + /* loopnext */ + goto block_0645; + + block_0661: + wp = (wp - 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_06FF; + + block_068B: + counter = 1; + + block_0692: + if (counter <= total) goto block_06DA; + + block_069D: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_0692; + + block_06DA: + spawn class_056C_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_06FF: + counter = 1; + + block_0706: + if (counter <= total) goto block_0751; + + block_0711: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_0706; + + block_0751: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_0607; + + block_0787: + goto block_0AA7; + + block_078A: + zCheck = 0; + zMax = local_0F; + if (a < 0x0080) goto block_0927; + + block_07A4: + if 1 goto block_0924; + + block_07AC: + f = (f - 1); + if (f < 0) goto block_07CB; + + block_07C4: + f = 3; + + block_07CB: + wp = (wp + 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0840; + + block_07F3: + local_0F = (1 + local_0F); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0840; + + block_081B: + spawn class_056C_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_0840: + if (local_0F > 1) goto block_088A; + + block_084B: + local_0F = (local_0F - 4); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_087D; + + block_0873: + local_0F = (local_0F + 4); + + block_087D: + zCheck = (zMax - local_0F); + goto block_08EE; + + block_088A: + if (zCheck > 12) goto block_08EE; + + block_0895: + spawn class_0A0C_slot_32(pid, 6, 0x00000000); + suspend; + spawn class_056C_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_08EB: + goto block_08EE; + + block_08EE: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_07A4; + + block_0924: + goto block_0AA7; + + block_0927: + if 1 goto block_0AA7; + + block_092F: + f = (1 + f); + if (f > 3) goto block_094E; + + block_0947: + f = 0; + + block_094E: + wp = (wp - 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_09C3; + + block_0976: + local_0F = (1 + local_0F); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_09C3; + + block_099E: + spawn class_056C_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_09C3: + if (local_0F > 1) goto block_0A0D; + + block_09CE: + local_0F = (local_0F - 4); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0A00; + + block_09F6: + local_0F = (local_0F + 4); + + block_0A00: + zCheck = (zMax - local_0F); + goto block_0A71; + + block_0A0D: + if (zCheck > 12) goto block_0A71; + + block_0A18: + spawn class_0A0C_slot_32(pid, 6, 0x00000000); + suspend; + spawn class_056C_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_0A6E: + goto block_0A71; + + block_0A71: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_0927; + + block_0AA7: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_05_hit.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_05_hit.txt new file mode 100644 index 0000000..a3206df --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_05_hit.txt @@ -0,0 +1,19 @@ +function roll_ns_hit() /* entry=186 class_id=0x0346 slot=0x05 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020B, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_0C41; + + block_0C33: + spawn class_0346_slot_21(arg_06); + + block_0C41: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_06_gotHit.txt new file mode 100644 index 0000000..5aea386 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_06_gotHit.txt @@ -0,0 +1,45 @@ +function roll_ns_gotHit() /* entry=186 class_id=0x0346 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_0B5B; + + block_0B4A: + spawn class_0346_slot_21(arg_06); + goto block_0BE0; + + block_0B5B: + spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_0BC1; + + block_0B8B: + class_0A0C_slot_20(1); + if retval goto block_0BAB; + + block_0B9B: + goto block_0BB8; + + block_0BAB: + + block_0BB8: + goto block_0BE0; + + block_0BBE: + goto block_0BE0; + + block_0BC1: + spawn class_0346_slot_20(pid, arg_06); + suspend; + + block_0BE0: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_0A_equip.txt new file mode 100644 index 0000000..a8f48fe --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_0A_equip.txt @@ -0,0 +1,32 @@ +function roll_ns_equip() /* entry=186 class_id=0x0346 slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A != 1) goto block_0181; + + block_0157: + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_017E; + + block_0170: + spawn class_0346_slot_21(arg_06); + + block_017E: + goto block_01C1; + + block_0181: + if (arg_0A != 2) goto block_01C1; + + block_018C: + if (Item.getStatus(arg_06) & 0x1000) goto block_01BE; + + block_019F: + /* bit_not */ + + block_01BE: + goto block_01C1; + + block_01C1: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_0B_unequip.txt new file mode 100644 index 0000000..f1a6d32 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_0B_unequip.txt @@ -0,0 +1,10 @@ +function roll_ns_unequip() /* entry=186 class_id=0x0346 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn class_0346_equip(pid, arg_0A, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_20_slot_20.txt new file mode 100644 index 0000000..3754cf1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_20_slot_20.txt @@ -0,0 +1,78 @@ +function roll_ns_slot_20() /* entry=186 class_id=0x0346 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + item2, /* [BP-04h] type=0x24 */ + riderList, /* [BP-06h] type=0x6C */ + r1, /* [BP-08h] type=0x69 */ + r2, /* [BP-0Ah] type=0x69 */ + h, /* [BP-0Ch] type=0x69 */ + x, /* [BP-0Eh] type=0x69 */ + y, /* [BP-10h] type=0x69 */ + z, /* [BP-11h] type=0x62 */ + qLo; /* [BP-13h] type=0x69 */ + + entry: + set_info(1, *(arg_06)); + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + h = Item.getNpcNum(arg_06); + if (h & 32) goto block_025C; + + block_0233: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + + block_0243: + if condition goto block_025A; + + block_0246: + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + riderList = item2; + /* loopnext */ + goto block_0243; + + block_025A: + + block_025C: + if (h & 64) goto block_0291; + + block_0267: + /* bit_not */ + item2 = *(arg_06); + goto block_0375; + + block_0291: + class_0A0C_slot_20(3); + r1 = retval; + + block_02A0: + if 1 goto block_02CB; + + block_02A8: + class_0A0C_slot_20(3); + r2 = retval; + if (r2 != r1) goto block_02C8; + + block_02C2: + goto block_02CB; + + block_02C8: + goto block_02A0; + + block_02CB: + x = Intrinsic0013(arg_06); + y = Item.legal_create(arg_06); + z = Item.getZ(arg_06); + qLo = Item.getNpcNum(arg_06); + spawn class_0A1E_slot_2A(pid, arg_06); + suspend; + + block_0375: + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_21_slot_21.txt new file mode 100644 index 0000000..e8b5960 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/ROLL_NS/slot_21_slot_21.txt @@ -0,0 +1,281 @@ +function roll_ns_slot_21() /* entry=186 class_id=0x0346 slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + time, /* [BP-02h] type=0x69 */ + f, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + total, /* [BP-08h] type=0x69 */ + counter, /* [BP-0Ah] type=0x69 */ + dz, /* [BP-0Ch] type=0x69 */ + oldz, /* [BP-0Eh] type=0x69 */ + wp, /* [BP-13h] type=0x24 */ + cargo, /* [BP-15h] type=0x24 */ + zCheck, /* [BP-17h] type=0x69 */ + zMax; /* [BP-18h] type=0x62 */ + + entry: + set_info(0x0001, *(arg_06)); + a = Item.getNpcNum(arg_06); + time = (a & 31); + if (time != 0) goto block_0419; + + block_0412: + time = 1; + + block_0419: + f = Item.getFrame(arg_06); + wp = Intrinsic0013(arg_06); + local_11 = Item.legal_create(arg_06); + local_0F = Item.getZ(arg_06); + if (a & 32) goto block_078A; + + block_0478: + if (a < 0x0080) goto block_0607; + + block_0484: + if 1 goto block_0604; + + block_048C: + f = (f - 1); + if (f < 0) goto block_04AB; + + block_04A4: + f = 3; + + block_04AB: + total = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xEB string_bytes=0x1 loop_type=0x6 */ + + block_04C2: + if condition goto block_04DE; + + block_04C5: + total = (1 + total); + /* loopnext */ + goto block_04C2; + + block_04DE: + local_11 = (local_11 + 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_057C; + + block_0508: + counter = 1; + + block_050F: + if (counter <= total) goto block_0557; + + block_051A: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_050F; + + block_0557: + spawn class_0346_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_057C: + counter = 1; + + block_0583: + if (counter <= total) goto block_05CE; + + block_058E: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_0583; + + block_05CE: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_0484; + + block_0604: + goto block_0787; + + block_0607: + if 1 goto block_0787; + + block_060F: + f = (1 + f); + if (f > 3) goto block_062E; + + block_0627: + f = 0; + + block_062E: + total = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xEB string_bytes=0x1 loop_type=0x6 */ + + block_0645: + if condition goto block_0661; + + block_0648: + total = (1 + total); + /* loopnext */ + goto block_0645; + + block_0661: + local_11 = (local_11 - 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_06FF; + + block_068B: + counter = 1; + + block_0692: + if (counter <= total) goto block_06DA; + + block_069D: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_0692; + + block_06DA: + spawn class_0346_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_06FF: + counter = 1; + + block_0706: + if (counter <= total) goto block_0751; + + block_0711: + cargo = Intrinsic0023(); + counter = (1 + counter); + goto block_0706; + + block_0751: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_0607; + + block_0787: + goto block_0AA7; + + block_078A: + zCheck = 0; + zMax = local_0F; + if (a < 0x0080) goto block_0927; + + block_07A4: + if 1 goto block_0924; + + block_07AC: + f = (f - 1); + if (f < 0) goto block_07CB; + + block_07C4: + f = 3; + + block_07CB: + local_11 = (local_11 + 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0840; + + block_07F3: + local_0F = (1 + local_0F); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0840; + + block_081B: + spawn class_0346_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_0840: + if (local_0F > 1) goto block_088A; + + block_084B: + local_0F = (local_0F - 4); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_087D; + + block_0873: + local_0F = (local_0F + 4); + + block_087D: + zCheck = (zMax - local_0F); + goto block_08EE; + + block_088A: + if (zCheck > 12) goto block_08EE; + + block_0895: + spawn class_0A0C_slot_32(pid, 6, 0x00000000); + suspend; + spawn class_0346_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_08EB: + goto block_08EE; + + block_08EE: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_07A4; + + block_0924: + goto block_0AA7; + + block_0927: + if 1 goto block_0AA7; + + block_092F: + f = (1 + f); + if (f > 3) goto block_094E; + + block_0947: + f = 0; + + block_094E: + local_11 = (local_11 - 8); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_09C3; + + block_0976: + local_0F = (1 + local_0F); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_09C3; + + block_099E: + spawn class_0346_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_09C3: + if (local_0F > 1) goto block_0A0D; + + block_09CE: + local_0F = (local_0F - 4); + if (Item.pop(0, 0, wp, arg_06) != 0) goto block_0A00; + + block_09F6: + local_0F = (local_0F + 4); + + block_0A00: + zCheck = (zMax - local_0F); + goto block_0A71; + + block_0A0D: + if (zCheck > 12) goto block_0A71; + + block_0A18: + spawn class_0A0C_slot_32(pid, 6, 0x00000000); + suspend; + spawn class_0346_slot_20(pid, arg_06); + suspend; + goto block_0AA7; + + block_0A6E: + goto block_0A71; + + block_0A71: + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + goto block_0927; + + block_0AA7: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RSTATION/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/RSTATION/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..8aedbd7 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RSTATION/slot_0F_enterFastArea.txt @@ -0,0 +1,13 @@ +function rstation_enterFastArea() /* entry=85 class_id=0x01A6 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_010C; + + block_00FE: + + block_010C: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RTELEPAD/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/RTELEPAD/slot_06_gotHit.txt new file mode 100644 index 0000000..2525504 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RTELEPAD/slot_06_gotHit.txt @@ -0,0 +1,56 @@ +function rtelepad_gotHit() /* entry=74 class_id=0x0188 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + ke, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + npc; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + class_0A0C_slot_2C(ke, ref); + if retval goto block_010A; + + block_0104: + goto block_0199; + + block_010A: + if (Item.isNpc(item) != 0) goto block_0127; + + block_011C: + + block_0127: + if (Intrinsic0070() != 1) goto block_0199; + + block_0135: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + + block_0150: + if condition goto block_0191; + + block_0153: + if (npc < 0x0100) goto block_018D; + + block_015F: + if (npc != 1) goto block_018D; + + block_016A: + + block_018D: + /* loopnext */ + goto block_0150; + + block_0191: + goto block_0199; + + block_0199: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/RTELEPAD/slot_09_release.txt b/USECODE/EUSECODE_extracted/pseudocode/RTELEPAD/slot_09_release.txt new file mode 100644 index 0000000..568e319 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/RTELEPAD/slot_09_release.txt @@ -0,0 +1,65 @@ +function rtelepad_release() /* entry=74 class_id=0x0188 slot=0x09 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + tele, /* [BP-02h] type=0x24 */ + npc; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020D, *(arg_06)); + process_exclude(); + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + + block_0225: + if condition goto block_0232; + + block_0228: + goto block_02B0; + + block_022E: + /* loopnext */ + goto block_0225; + + block_0232: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + + block_024F: + if condition goto block_02AE; + + block_0252: + if (npc != 1) goto block_02A4; + + block_0260: + /* global_address global_id=0x3C */ + if Item.hurl(*(arg_06)) goto block_029D; + + block_0274: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0260; + + block_029D: + + block_02A4: + goto block_02B0; + + block_02AA: + /* loopnext */ + goto block_024F; + + block_02AE: + + block_02B0: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SAFE_EW/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/SAFE_EW/slot_0A_equip.txt new file mode 100644 index 0000000..8e27299 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SAFE_EW/slot_0A_equip.txt @@ -0,0 +1,102 @@ +function safe_ew_equip() /* entry=122 class_id=0x0213 slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + item2, /* [BP-04h] type=0x24 */ + counter; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if var goto block_0336; + + block_00F3: + counter = 0; + + block_0107: + if (counter <= 16) goto block_014F; + + block_010F: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0107; + + block_014F: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_01A1: + if condition goto block_029E; + + block_01A4: + if (Item.getNpcNum(arg_06) != Item.getNpcNum(item)) goto block_029A; + + block_01C0: + class_0A0C_slot_2E(item); + item2 = retval; + if ((((Intrinsic003C(item2) != 10) || (Intrinsic003C(item2) != 11)) || (Intrinsic003C(item2) != 12)) || (Intrinsic003C(item2) != 13)) goto block_0274; + + block_021A: + if (!Item.getCY(1, item2)) goto block_0271; + + block_022F: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + + block_0271: + goto block_029A; + + block_0274: + spawn class_0A0C_slot_31(pid, item2, 0x00000000); + suspend; + + block_029A: + /* loopnext */ + goto block_01A1; + + block_029E: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + counter = 0; + + block_02DB: + if (counter <= 16) goto block_0326; + + block_02E3: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_02DB; + + block_0326: + goto block_03C9; + + block_0336: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + counter = 0; + + block_0371: + if (counter <= 16) goto block_03BC; + + block_0379: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0371; + + block_03BC: + + block_03C9: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SAFE_NS/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/SAFE_NS/slot_0A_equip.txt new file mode 100644 index 0000000..3fce4cb --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SAFE_NS/slot_0A_equip.txt @@ -0,0 +1,102 @@ +function safe_ns_equip() /* entry=121 class_id=0x0212 slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + item2, /* [BP-04h] type=0x24 */ + counter; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if var goto block_0336; + + block_00F3: + counter = 0; + + block_0107: + if (counter <= 16) goto block_014F; + + block_010F: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0107; + + block_014F: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_01A1: + if condition goto block_029E; + + block_01A4: + if (Item.getNpcNum(arg_06) != Item.getNpcNum(item)) goto block_029A; + + block_01C0: + class_0A0C_slot_2E(item); + item2 = retval; + if ((((Intrinsic003C(item2) != 10) || (Intrinsic003C(item2) != 11)) || (Intrinsic003C(item2) != 12)) || (Intrinsic003C(item2) != 13)) goto block_0274; + + block_021A: + if (!Item.getCY(1, item2)) goto block_0271; + + block_022F: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + + block_0271: + goto block_029A; + + block_0274: + spawn class_0A0C_slot_31(pid, item2, 0x00000000); + suspend; + + block_029A: + /* loopnext */ + goto block_01A1; + + block_029E: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + counter = 0; + + block_02DB: + if (counter <= 16) goto block_0326; + + block_02E3: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_02DB; + + block_0326: + goto block_03C9; + + block_0336: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + counter = 0; + + block_0371: + if (counter <= 16) goto block_03BC; + + block_0379: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0371; + + block_03BC: + + block_03C9: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SATARG/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/SATARG/slot_01_use.txt new file mode 100644 index 0000000..2bfe81c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SATARG/slot_01_use.txt @@ -0,0 +1,154 @@ +function satarg_use() /* entry=312 class_id=0x0549 slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + counter; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if Item.getFrame(arg_06) goto block_0100; + + block_00FA: + goto block_05C1; + + block_0100: + + block_010B: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_0144; + + block_011B: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_010B; + + block_0144: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + spawn class_0A1E_slot_28(pid, 0, 1, arg_06); + suspend; + spawn class_0A0C_slot_3B(0x00000000); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0290: + if condition goto block_02EA; + + block_0293: + if (Item.getNpcNum(item) != 0) goto block_02E6; + + block_02A8: + spawn class_0A0C_slot_32(Intrinsic00DA(pid, 30, 20), 0x00000000); + suspend; + + block_02E6: + /* loopnext */ + goto block_0290; + + block_02EA: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_030A: + if condition goto block_0390; + + block_030D: + spawn class_0A1E_slot_28(pid, 0, 1, item); + suspend; + if (Item.getFrame(item) < 2) goto block_035D; + + block_0347: + + block_035D: + spawn class_0A0C_slot_32(Intrinsic00DA(pid, 40, 20), 0x00000000); + suspend; + /* loopnext */ + goto block_030A; + + block_0390: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_03B0: + if condition goto block_0437; + + block_03B3: + spawn class_0A1E_slot_28(pid, 0, 1, item); + suspend; + if (Item.getFrame(item) < 4) goto block_0404; + + block_03ED: + + block_0404: + spawn class_0A0C_slot_32(Intrinsic00DA(pid, 50, 30), 0x00000000); + suspend; + /* loopnext */ + goto block_03B0; + + block_0437: + spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000); + suspend; + spawn class_0A0C_slot_26(pid, "15d", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000); + suspend; + /* pop_global global_id=0x38 size=0x1 */ + spawn class_0A18_slot_20(1, pid, 0, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000); + suspend; + if (Intrinsic0029() > 1) goto block_0543; + + block_051C: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + + block_0543: + spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0588: + if condition goto block_05BF; + + block_058B: + if (Item.getNpcNum(item) != 0x00FF) goto block_05BB; + + block_05A1: + + block_05BB: + /* loopnext */ + goto block_0588; + + block_05BF: + + block_05C1: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SCANNER/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/SCANNER/slot_01_use.txt new file mode 100644 index 0000000..fce1412 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SCANNER/slot_01_use.txt @@ -0,0 +1,56 @@ +function scanner_use() /* entry=304 class_id=0x052D slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + n; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + set_info(0x00F0, 0); + /* global_address global_id=0x3C */ + if (Intrinsic0082() < 0x03E8) goto block_0164; + + block_0111: + spawn class_0A0C_slot_21(pid, 0x00B0, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 100, 0x00000000); + suspend; + goto block_0238; + + block_0164: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_01A2: + if condition goto block_01E9; + + block_01A5: + if ((Kernel.resetRef(n) != 0) && (n != Item.pop())) goto block_01E5; + + block_01C3: + class_0A11_slot_2B(n); + if retval goto block_01E5; + + block_01D3: + spawn class_052D_slot_20(n, arg_06); + + block_01E5: + /* loopnext */ + goto block_01A2; + + block_01E9: + spawn class_0A0C_slot_21(pid, 0x00BA, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 120, 0x00000000); + suspend; + + block_0238: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SCANNER/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/SCANNER/slot_20_slot_20.txt new file mode 100644 index 0000000..b59ff84 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SCANNER/slot_20_slot_20.txt @@ -0,0 +1,13 @@ +function scanner_slot_20() /* entry=304 class_id=0x052D slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + n; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x00F0, 0); + n = ref; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SCIENTIS/slot_0E_calledFromAnim.txt b/USECODE/EUSECODE_extracted/pseudocode/SCIENTIS/slot_0E_calledFromAnim.txt new file mode 100644 index 0000000..1742ee7 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SCIENTIS/slot_0E_calledFromAnim.txt @@ -0,0 +1,9 @@ +function scientis_calledFromAnim() /* entry=185 class_id=0x0344 slot=0x0E */ +{ + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn class_0A1C_slot_20(Item.getQLo(arg_06), *(arg_06), arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SDOOR_E/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/SDOOR_E/slot_06_gotHit.txt new file mode 100644 index 0000000..4d62e9d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SDOOR_E/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function sdoor_e_gotHit() /* entry=228 class_id=0x03FF slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A06_slot_23(pid, vel, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SDOOR_N/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/SDOOR_N/slot_06_gotHit.txt new file mode 100644 index 0000000..c4a1bf0 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SDOOR_N/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function sdoor_n_gotHit() /* entry=227 class_id=0x03F8 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A06_slot_23(pid, vel, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SECRTEGG/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/SECRTEGG/slot_07_hatch.txt new file mode 100644 index 0000000..d1cf60c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SECRTEGG/slot_07_hatch.txt @@ -0,0 +1,36 @@ +function secrtegg_hatch() /* entry=346 class_id=0x0906 slot=0x07 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + door, /* [BP-04h] type=0x24 */ + id, /* [BP-06h] type=0x69 */ + range; /* [BP-08h] type=0x69 */ + + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + id = 0; + range = 32; + id = Intrinsic003F(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0124: + if condition goto block_014E; + + block_0127: + if (id != Item.getNpcNum(door)) goto block_014A; + + block_013C: + spawn class_0A06_slot_20(door); + + block_014A: + /* loopnext */ + goto block_0124; + + block_014E: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_06_gotHit.txt new file mode 100644 index 0000000..3e98f49 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_06_gotHit.txt @@ -0,0 +1,14 @@ +function sentry_gotHit() /* entry=100 class_id=0x01CD slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1A_slot_49(vel, ref, arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_0A_equip.txt new file mode 100644 index 0000000..d343b64 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_0A_equip.txt @@ -0,0 +1,20 @@ +function sentry_equip() /* entry=100 class_id=0x01CD slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.pop() != 0) goto block_0290; + + block_0265: + spawn class_0A1A_slot_24(pid, arg_0A, Item.pop(), arg_06); + suspend; + goto block_02B7; + + block_0290: + spawn class_0A1A_slot_24(pid, arg_0A, global[0x003C], arg_06); + suspend; + + block_02B7: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_0B_unequip.txt new file mode 100644 index 0000000..86008c6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_0B_unequip.txt @@ -0,0 +1,17 @@ +function sentry_unequip() /* entry=100 class_id=0x01CD slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 4) goto block_0160; + + block_015A: + goto block_017B; + + block_0160: + spawn class_0A1A_slot_27(arg_06); + + block_017B: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_0E_calledFromAnim.txt b/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_0E_calledFromAnim.txt new file mode 100644 index 0000000..03d7028 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_0E_calledFromAnim.txt @@ -0,0 +1,15 @@ +function sentry_calledFromAnim() /* entry=100 class_id=0x01CD slot=0x0E */ +{ + var + referent, /* [BP+00h] type=0x69 */ + n, /* [BP-02h] type=0x24 */ + dir; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + n = *(arg_06); + dir = Intrinsic00FA(n); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..67ace15 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_0F_enterFastArea.txt @@ -0,0 +1,17 @@ +function sentry_enterFastArea() /* entry=100 class_id=0x01CD slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 4) goto block_0103; + + block_00FD: + goto block_011E; + + block_0103: + spawn class_0A1A_slot_27(arg_06); + + block_011E: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..2ff480e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SENTRY/slot_10_leaveFastArea.txt @@ -0,0 +1,11 @@ +function sentry_leaveFastArea() /* entry=100 class_id=0x01CD slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + class_0A0C_slot_33(1, *(arg_06)); + class_0A0C_slot_33(0x020A, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SFXTRIG/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/SFXTRIG/slot_0A_equip.txt new file mode 100644 index 0000000..4a2e727 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SFXTRIG/slot_0A_equip.txt @@ -0,0 +1,28 @@ +function sfxtrig_equip() /* entry=285 class_id=0x04E2 slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 0x1000) goto block_010A; + + block_0104: + goto block_016F; + + block_010A: + class_0A1E_slot_23(0x1000, arg_06); + + block_0126: + if Item.touch(arg_0A, arg_06) goto block_0160; + + block_0137: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0126; + + block_0160: + class_0A1E_slot_24(0x1000, arg_06); + + block_016F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKER/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKER/slot_20_slot_20.txt new file mode 100644 index 0000000..fb522bb --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKER/slot_20_slot_20.txt @@ -0,0 +1,90 @@ +function shocker_slot_20() /* entry=389 class_id=0x0A13 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + randNum, /* [BP-02h] type=0x69 */ + var, /* [BP-04h] type=0x69 */ + duration, /* [BP-06h] type=0x69 */ + skill, /* [BP-08h] type=0x69 */ + kernelCheck, /* [BP-0Ah] type=0x69 */ + counter; /* [BP-0Ch] type=0x69 */ + + entry: + set_info(0x020A, *(arg_06)); + set_info(0x0205, *(arg_06)); + if (Item.hurl(arg_06) != 0) goto block_013F; + + block_0120: + class_0A0C_slot_20(29); + randNum = (retval + 1); + + block_013F: + var = Item.hurl(arg_06); + if (var != 31) goto block_0162; + + block_0158: + duration = 1; + goto block_0196; + + block_0162: + if (var > 31) goto block_0179; + + block_0170: + goto block_02EB; + + block_0176: + goto block_0196; + + block_0179: + skill = Intrinsic0029(); + duration = ((6 - Intrinsic0029()) * (10 + var)); + + block_0196: + spawn class_0A0C_slot_32(pid, duration, 0x00000000); + suspend; + + block_01BC: + suspend; + kernelCheck = Item.hurl(0x020C, *(arg_06)); + if (kernelCheck != 0) goto block_01F5; + + block_01E7: + spawn class_0A13_slot_21(arg_06); + + block_01F5: + class_0A0C_slot_20(1); + if retval goto block_0215; + + block_0205: + goto block_0222; + + block_0215: + + block_0222: + counter = 0; + + block_0229: + if (counter <= 5) goto block_027C; + + block_0231: + class_0A0C_slot_20(pid, 5, 5); + spawn class_0A0C_slot_32(retval, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0229; + + block_027C: + if (duration > 1) goto block_02E8; + + block_028A: + class_0A0C_slot_33(0x020C, *(arg_06)); + spawn class_0A0C_slot_32(pid, duration, 0x00000000); + suspend; + + block_02E8: + goto block_01BC; + + block_02EB: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKER/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKER/slot_21_slot_21.txt new file mode 100644 index 0000000..538aebb --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKER/slot_21_slot_21.txt @@ -0,0 +1,51 @@ +function shocker_slot_21() /* entry=389 class_id=0x0A13 slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + monster; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0205, *(arg_06)); + set_info(0x020C, *(arg_06)); + + block_0366: + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_03B6: + if condition goto block_0461; + + block_03B9: + if (Item.isNpc(monster) != 1) goto block_045D; + + block_03CB: + if (!Kernel.resetRef(monster)) goto block_045D; + + block_03DE: + if ((Item.overlaps(monster, arg_06) != 1) && (Item.getFrame(arg_06) < 6)) goto block_045D; + + block_0402: + class_0A0C_slot_20(pid, 8); + spawn class_0A11_slot_2D(retval, *(arg_06), monster); + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0466; + + block_045D: + /* loopnext */ + goto block_03B6; + + block_0461: + goto block_0366; + + block_0466: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW/slot_0B_unequip.txt new file mode 100644 index 0000000..d6cca03 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW/slot_0B_unequip.txt @@ -0,0 +1,14 @@ +function shockew_unequip() /* entry=95 class_id=0x01C2 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if arg_0A goto block_0100; + + block_00F3: + + block_0100: + spawn class_0A13_slot_20(arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..e7170f2 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW/slot_0F_enterFastArea.txt @@ -0,0 +1,9 @@ +function shockew_enterFastArea() /* entry=95 class_id=0x01C2 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn class_0A13_slot_20(arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..209d56c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW/slot_10_leaveFastArea.txt @@ -0,0 +1,11 @@ +function shockew_leaveFastArea() /* entry=95 class_id=0x01C2 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + class_0A0C_slot_33(0x020A, *(arg_06)); + class_0A0C_slot_33(0x0205, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW1/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW1/slot_0B_unequip.txt new file mode 100644 index 0000000..49de95d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW1/slot_0B_unequip.txt @@ -0,0 +1,17 @@ +function shockew1_unequip() /* entry=250 class_id=0x045A slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if arg_0A goto block_0100; + + block_00F3: + + block_0100: + spawn class_0A13_slot_20(arg_06); + class_0A0C_slot_20(pid, 30); + spawn class_0A0C_slot_32((retval + 30), 0x00000000); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW1/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW1/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..4a8da8c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW1/slot_0F_enterFastArea.txt @@ -0,0 +1,9 @@ +function shockew1_enterFastArea() /* entry=250 class_id=0x045A slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn class_0A13_slot_20(arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW1/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW1/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..21d5d08 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKEW1/slot_10_leaveFastArea.txt @@ -0,0 +1,11 @@ +function shockew1_leaveFastArea() /* entry=250 class_id=0x045A slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + class_0A0C_slot_33(0x020A, *(arg_06)); + class_0A0C_slot_33(0x0205, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS/slot_0B_unequip.txt new file mode 100644 index 0000000..7084846 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS/slot_0B_unequip.txt @@ -0,0 +1,14 @@ +function shockns_unequip() /* entry=97 class_id=0x01C9 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if arg_0A goto block_0100; + + block_00F3: + + block_0100: + spawn class_0A13_slot_20(arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..5631477 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS/slot_0F_enterFastArea.txt @@ -0,0 +1,9 @@ +function shockns_enterFastArea() /* entry=97 class_id=0x01C9 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn class_0A13_slot_20(arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..30a9c36 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS/slot_10_leaveFastArea.txt @@ -0,0 +1,11 @@ +function shockns_leaveFastArea() /* entry=97 class_id=0x01C9 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + class_0A0C_slot_33(0x020A, *(arg_06)); + class_0A0C_slot_33(0x0205, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS1/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS1/slot_0B_unequip.txt new file mode 100644 index 0000000..f44ea5f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS1/slot_0B_unequip.txt @@ -0,0 +1,17 @@ +function shockns1_unequip() /* entry=249 class_id=0x0459 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if arg_0A goto block_0100; + + block_00F3: + + block_0100: + spawn class_0A13_slot_20(arg_06); + class_0A0C_slot_20(pid, 30); + spawn class_0A0C_slot_32((retval + 30), 0x00000000); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS1/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS1/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..3ff8aca --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS1/slot_0F_enterFastArea.txt @@ -0,0 +1,9 @@ +function shockns1_enterFastArea() /* entry=249 class_id=0x0459 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn class_0A13_slot_20(arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS1/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS1/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..9aaeabb --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SHOCKNS1/slot_10_leaveFastArea.txt @@ -0,0 +1,11 @@ +function shockns1_leaveFastArea() /* entry=249 class_id=0x0459 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + class_0A0C_slot_33(0x020A, *(arg_06)); + class_0A0C_slot_33(0x0205, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SICBFLNS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/SICBFLNS/slot_06_gotHit.txt new file mode 100644 index 0000000..82c21a7 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SICBFLNS/slot_06_gotHit.txt @@ -0,0 +1,164 @@ +function sicbflns_gotHit() /* entry=158 class_id=0x02E1 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + if (((ref != 1) && (Item.getFrame(arg_06) != 0)) && (Item.getNpcNum(arg_06) != 0)) goto block_0412; + + block_0123: + if (!Item.use(*(arg_06), item)) goto block_0140; + + block_013A: + goto block_0412; + + block_0140: + + block_014B: + /* global_address global_id=0x3C */ + if Intrinsic0033() goto block_0181; + + block_015B: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_014B; + + block_0181: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_01FC: + if condition goto block_022F; + + block_01FF: + if (Item.getFrame(item) < 2) goto block_022B; + + block_0214: + + block_022B: + /* loopnext */ + goto block_01FC; + + block_022F: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_024F: + if condition goto block_0282; + + block_0252: + if (Item.getFrame(item) < 1) goto block_027E; + + block_0267: + + block_027E: + /* loopnext */ + goto block_024F; + + block_0282: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_02A2: + if condition goto block_02D5; + + block_02A5: + if (Item.getFrame(item) < 1) goto block_02D1; + + block_02BA: + + block_02D1: + /* loopnext */ + goto block_02A2; + + block_02D5: + + block_02E9: + if Item.hurl(0x0254, global[0x003C]) goto block_0326; + + block_02FD: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_02E9; + + block_0326: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0344: + if condition goto block_0384; + + block_0347: + if ((Item.getFrame(item) != 2) || (Item.getFrame(item) != 3)) goto block_0380; + + block_0369: + + block_0380: + /* loopnext */ + goto block_0344; + + block_0384: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_03A4: + if condition goto block_03CA; + + block_03A7: + if (Item.getFrame(item) != 1) goto block_03C6; + + block_03B9: + + block_03C6: + /* loopnext */ + goto block_03A4; + + block_03CA: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_03EA: + if condition goto block_0410; + + block_03ED: + if (Item.getFrame(item) != 1) goto block_040C; + + block_03FF: + + block_040C: + /* loopnext */ + goto block_03EA; + + block_0410: + + block_0412: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SICBFLNS/slot_09_release.txt b/USECODE/EUSECODE_extracted/pseudocode/SICBFLNS/slot_09_release.txt new file mode 100644 index 0000000..e736379 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SICBFLNS/slot_09_release.txt @@ -0,0 +1,18 @@ +function sicbflns_release() /* entry=158 class_id=0x02E1 slot=0x09 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020D, *(arg_06)); + process_exclude(); + if (Intrinsic0057(arg_06) != 0) goto block_0488; + + block_046A: + class_0A0C_slot_33(0x0254, global[0x003C]); + + block_0488: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SICBOXNS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/SICBOXNS/slot_06_gotHit.txt new file mode 100644 index 0000000..65ee285 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SICBOXNS/slot_06_gotHit.txt @@ -0,0 +1,98 @@ +function sicboxns_gotHit() /* entry=157 class_id=0x02E0 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2B(vel, ref); + if (retval && (Item.getFrame(arg_06) < 4)) goto block_0292; + + block_010D: + spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_0143; + + block_013D: + goto block_0292; + + block_0143: + class_0A0C_slot_33(0x0254, global[0x003C]); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0172: + if condition goto block_01E5; + + block_0175: + if ((Item.getFrame(item) != 0) || (Item.getFrame(item) != 1)) goto block_01AB; + + block_0191: + goto block_01E1; + + block_01AB: + if ((Item.getFrame(item) != 2) || (Item.getFrame(item) != 3)) goto block_01E1; + + block_01C7: + goto block_01E1; + + block_01E1: + /* loopnext */ + goto block_0172; + + block_01E5: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0205: + if condition goto block_0219; + + block_0208: + /* loopnext */ + goto block_0205; + + block_0219: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0239: + if condition goto block_024D; + + block_023C: + /* loopnext */ + goto block_0239; + + block_024D: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_026D: + if condition goto block_0281; + + block_0270: + /* loopnext */ + goto block_026D; + + block_0281: + + block_0292: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SIGNEW/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/SIGNEW/slot_04_cachein.txt new file mode 100644 index 0000000..10b8a8e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SIGNEW/slot_04_cachein.txt @@ -0,0 +1,13 @@ +function signew_cachein() /* entry=35 class_id=0x00BA slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) != 0)) { + if (Item.getFrame(arg_06) == 1) { + } + else if (Item.getFrame(arg_06) == 13) { + } + return; + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SIGNNS/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/SIGNNS/slot_04_cachein.txt new file mode 100644 index 0000000..5095820 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SIGNNS/slot_04_cachein.txt @@ -0,0 +1,13 @@ +function signns_cachein() /* entry=36 class_id=0x00BB slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) != 0)) { + if (Item.getFrame(arg_06) == 1) { + } + else if (Item.getFrame(arg_06) == 11) { + } + return; + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SKILLBOX/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/SKILLBOX/slot_0A_equip.txt new file mode 100644 index 0000000..b0b7069 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SKILLBOX/slot_0A_equip.txt @@ -0,0 +1,77 @@ +function skillbox_equip() /* entry=286 class_id=0x04E3 slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + local_02 = Intrinsic0029(); + if (Item.getMapNum(arg_06) != 0) goto block_0265; + + block_0107: + if (Item.getFrame(arg_06) != 2) goto block_01FC; + + block_011C: + local_04 = Item.getNpcNum(arg_06); + if (local_02 != 1) goto block_015F; + + block_0135: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_01E9; + + block_015F: + if (local_02 != 2) goto block_01A4; + + block_016A: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_01E9; + + block_01A4: + if (local_02 >= 3) goto block_01E9; + + block_01AF: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_01E9; + + block_01E9: + goto block_02D3; + + block_01FC: + if (local_02 >= (Item.getFrame(arg_06) + 2)) goto block_023B; + + block_0211: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_0262; + + block_023B: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + + block_0262: + goto block_02D3; + + block_0265: + if (local_02 >= (Item.getFrame(arg_06) + 2)) goto block_02A8; + + block_027A: + spawn class_0A18_slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + goto block_02D3; + + block_02A8: + spawn class_0A18_slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + + block_02D3: + return; + + block_02EE: + arg_73 = local_02; + /* str_to_ptr */ + /* param_pid_chg bp_offset=0x0 target=[BP+00h] copy_type=0x0 */ + arg_71 = local_04; + arg_7A = *(arg_6C); + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SLIDEFLR/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/SLIDEFLR/slot_0B_unequip.txt new file mode 100644 index 0000000..6786047 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SLIDEFLR/slot_0B_unequip.txt @@ -0,0 +1,27 @@ +function slideflr_unequip() /* entry=279 class_id=0x04D5 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) != 9) goto block_0162; + + block_010D: + if (Item.getFrame(arg_06) != 2) goto block_0162; + + block_0122: + spawn class_0A0C_slot_32(pid, 4, 0x00000000); + suspend; + goto block_010D; + + block_0162: + if Item.touch(81, arg_06) goto block_0199; + + block_0173: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0162; + + block_0199: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SLIDEFLR/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/SLIDEFLR/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..a339909 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SLIDEFLR/slot_13_avatarStoleSomething.txt @@ -0,0 +1,27 @@ +function slideflr_avatarStoleSomething() /* entry=279 class_id=0x04D5 slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) != 9) goto block_0242; + + block_01ED: + if (Item.getFrame(arg_06) != 9) goto block_0242; + + block_0202: + spawn class_0A0C_slot_32(pid, 4, 0x00000000); + suspend; + goto block_01ED; + + block_0242: + if Item.touch(81, arg_06) goto block_0279; + + block_0253: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0242; + + block_0279: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SL_EW-16/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/SL_EW-16/slot_0B_unequip.txt new file mode 100644 index 0000000..bf30b24 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SL_EW-16/slot_0B_unequip.txt @@ -0,0 +1,8 @@ +function sl_ew_16_unequip() /* entry=218 class_id=0x03B6 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SL_EW-16/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/SL_EW-16/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..8bb6d19 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SL_EW-16/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function sl_ew_16_avatarStoleSomething() /* entry=218 class_id=0x03B6 slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SL_EW-4/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/SL_EW-4/slot_0B_unequip.txt new file mode 100644 index 0000000..4487ed8 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SL_EW-4/slot_0B_unequip.txt @@ -0,0 +1,8 @@ +function sl_ew_4_unequip() /* entry=216 class_id=0x03B4 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SL_EW-4/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/SL_EW-4/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..f2ea6a4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SL_EW-4/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function sl_ew_4_avatarStoleSomething() /* entry=216 class_id=0x03B4 slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SL_EW-8/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/SL_EW-8/slot_0B_unequip.txt new file mode 100644 index 0000000..7b3d237 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SL_EW-8/slot_0B_unequip.txt @@ -0,0 +1,8 @@ +function sl_ew_8_unequip() /* entry=217 class_id=0x03B5 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SL_EW-8/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/SL_EW-8/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..199e876 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SL_EW-8/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function sl_ew_8_avatarStoleSomething() /* entry=217 class_id=0x03B5 slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SL_NS-16/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/SL_NS-16/slot_0B_unequip.txt new file mode 100644 index 0000000..e31ebcd --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SL_NS-16/slot_0B_unequip.txt @@ -0,0 +1,8 @@ +function sl_ns_16_unequip() /* entry=213 class_id=0x03AF slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SL_NS-16/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/SL_NS-16/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..de4bf26 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SL_NS-16/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function sl_ns_16_avatarStoleSomething() /* entry=213 class_id=0x03AF slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SL_NS-4/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/SL_NS-4/slot_0B_unequip.txt new file mode 100644 index 0000000..ec66473 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SL_NS-4/slot_0B_unequip.txt @@ -0,0 +1,8 @@ +function sl_ns_4_unequip() /* entry=215 class_id=0x03B1 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SL_NS-4/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/SL_NS-4/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..fd554ed --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SL_NS-4/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function sl_ns_4_avatarStoleSomething() /* entry=215 class_id=0x03B1 slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SL_NS-8/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/SL_NS-8/slot_0B_unequip.txt new file mode 100644 index 0000000..daf750b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SL_NS-8/slot_0B_unequip.txt @@ -0,0 +1,8 @@ +function sl_ns_8_unequip() /* entry=214 class_id=0x03B0 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SL_NS-8/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/SL_NS-8/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..4711ca8 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SL_NS-8/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function sl_ns_8_avatarStoleSomething() /* entry=214 class_id=0x03B0 slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SMALCHAI/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/SMALCHAI/slot_06_gotHit.txt new file mode 100644 index 0000000..1ee7f53 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SMALCHAI/slot_06_gotHit.txt @@ -0,0 +1,83 @@ +function smalchai_gotHit() /* entry=118 class_id=0x01FB slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + item, /* [BP-04h] type=0x24 */ + count, /* [BP-06h] type=0x69 */ + spin, /* [BP-08h] type=0x69 */ + direction; /* [BP-0Ah] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + fram = Item.getFrame(arg_06); + if (fram > 7) goto block_010D; + + block_0107: + goto block_0254; + + block_010D: + class_0A0C_slot_2C(vel, ref); + if retval goto block_0254; + + block_011F: + class_0A0C_slot_20(10); + spin = (retval + 5); + class_0A0C_slot_20(1); + direction = retval; + if (direction != 0) goto block_01CA; + + block_0148: + count = 1; + + block_014F: + if (count <= spin) goto block_01C7; + + block_015A: + fram = (fram + 1); + if (fram != 8) goto block_0179; + + block_0172: + fram = 0; + + block_0179: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + count = (1 + count); + goto block_014F; + + block_01C7: + goto block_0254; + + block_01CA: + if (direction != 1) goto block_0254; + + block_01D2: + count = 1; + + block_01D9: + if (count <= spin) goto block_0251; + + block_01E4: + fram = (fram - 1); + if (fram != -1) goto block_0203; + + block_01FC: + fram = 7; + + block_0203: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + count = (1 + count); + goto block_01D9; + + block_0251: + goto block_0254; + + block_0254: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SMALLTAB/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/SMALLTAB/slot_06_gotHit.txt new file mode 100644 index 0000000..0b8b45c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SMALLTAB/slot_06_gotHit.txt @@ -0,0 +1,37 @@ +function smalltab_gotHit() /* entry=5 class_id=0x002D slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_018E; + + block_00FD: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */ + + block_010D: + if condition goto block_0144; + + block_0110: + class_0A0C_slot_20(1, 10); + class_0A0C_slot_20((retval + 10), 10); + class_0A0C_slot_20(retval, 10); + /* loopnext */ + goto block_010D; + + block_0144: + class_0A0C_slot_20(1); + spawn class_0A1E_slot_28(pid, 0, 0, arg_06); + suspend; + + block_018E: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SOLDIER/slot_0E_calledFromAnim.txt b/USECODE/EUSECODE_extracted/pseudocode/SOLDIER/slot_0E_calledFromAnim.txt new file mode 100644 index 0000000..1e585fd --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SOLDIER/slot_0E_calledFromAnim.txt @@ -0,0 +1,9 @@ +function soldier_calledFromAnim() /* entry=201 class_id=0x0384 slot=0x0E */ +{ + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn class_0A1C_slot_20(Item.getQLo(arg_06), *(arg_06), arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPANEL/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/SPANEL/slot_01_use.txt new file mode 100644 index 0000000..7cbe6bf --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPANEL/slot_01_use.txt @@ -0,0 +1,21 @@ +function spanel_use() /* entry=211 class_id=0x03AA slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getMapNum(arg_06) != 0) goto block_0148; + + block_00FD: + /* global_address global_id=0x3C */ + if (Item.getType() < 40) goto block_0121; + + block_0113: + + block_0121: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_0148: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_0A_equip.txt new file mode 100644 index 0000000..aab5be3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_0A_equip.txt @@ -0,0 +1,15 @@ +function special_equip() /* entry=272 class_id=0x04CA slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + if arg_0A goto block_012B; + + block_011D: + spawn class_04CA_slot_21(arg_06); + + block_012B: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..8cbbd92 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_0F_enterFastArea.txt @@ -0,0 +1,42 @@ +function special_enterFastArea() /* entry=272 class_id=0x04CA slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + mapNum, /* [BP-02h] type=0x69 */ + npcNum; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if Item.hurl(arg_06) goto block_0732; + + block_063C: + mapNum = Item.getMapNum(arg_06); + npcNum = Intrinsic00FA(arg_06); + if (mapNum != 1) goto block_06B4; + + block_0663: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A18_slot_20(pid, (0x0080 + 0), *(arg_06), arg_06); + suspend; + + block_06B4: + if (npcNum != 1) goto block_0710; + + block_06BF: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A18_slot_20(pid, (0x0080 + 1), *(arg_06), arg_06); + suspend; + + block_0710: + if ((mapNum > 2) || (npcNum > 2)) goto block_0732; + + block_0724: + spawn class_04CA_slot_21(arg_06); + + block_0732: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..d3e6366 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_10_leaveFastArea.txt @@ -0,0 +1,25 @@ +function special_leaveFastArea() /* entry=272 class_id=0x04CA slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + if Item.hurl(arg_06) goto block_07FB; + + block_0781: + if (Item.getMapNum(arg_06) != 2) goto block_07BE; + + block_0793: + spawn class_0A18_slot_20(pid, (0x0080 + 0), *(arg_06), arg_06); + suspend; + + block_07BE: + if (Intrinsic00FA(arg_06) != 2) goto block_07FB; + + block_07D0: + spawn class_0A18_slot_20(pid, (0x0080 + 1), *(arg_06), arg_06); + suspend; + + block_07FB: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_20_slot_20.txt new file mode 100644 index 0000000..993d0a5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_20_slot_20.txt @@ -0,0 +1,161 @@ +function special_slot_20() /* entry=272 class_id=0x04CA slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + cmd, /* [BP+0Ah] type=0x69 */ + phase, /* [BP+0Ch] type=0x69 */ + a, /* [BP-02h] type=0x69 */ + npc, /* [BP-04h] type=0x24 */ + q; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + if (cmd != 3) goto block_01B4; + + block_0167: + /* global_address global_id=0x3C */ + a = Intrinsic00FA(); + if ((a <= 4) || (a >= 12)) goto block_01B1; + + block_018A: + spawn class_0A18_slot_20(pid, phase, *(arg_06), arg_06); + suspend; + + block_01B1: + goto block_04A3; + + block_01B4: + if (cmd != 4) goto block_0209; + + block_01BC: + /* global_address global_id=0x3C */ + a = Intrinsic00FA(); + if ((a > 4) && (a < 12)) goto block_0206; + + block_01DF: + spawn class_0A18_slot_20(pid, phase, *(arg_06), arg_06); + suspend; + + block_0206: + goto block_04A3; + + block_0209: + if (cmd != 5) goto block_024E; + + block_0211: + /* global_address global_id=0x3C */ + if (Intrinsic00CC() != 1) goto block_024B; + + block_0224: + spawn class_0A18_slot_20(pid, phase, *(arg_06), arg_06); + suspend; + + block_024B: + goto block_04A3; + + block_024E: + if (cmd != 6) goto block_02CC; + + block_0256: + /* global_address global_id=0x3C */ + if (Intrinsic00CC() != 0) goto block_02C9; + + block_0269: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + if (Intrinsic00CC() != 0) goto block_02C9; + + block_02A2: + spawn class_0A18_slot_20(pid, phase, *(arg_06), arg_06); + suspend; + + block_02C9: + goto block_04A3; + + block_02CC: + if (cmd != 7) goto block_0385; + + block_02D4: + a = 0; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_02F8: + if condition goto block_0318; + + block_02FB: + if (npc < 0x0100) goto block_0314; + + block_030A: + a = (1 + a); + + block_0314: + /* loopnext */ + goto block_02F8; + + block_0318: + if (a > 4) goto block_0352; + + block_032B: + spawn class_0A18_slot_20(pid, phase, *(arg_06), arg_06); + suspend; + + block_0352: + spawn class_0A0C_slot_32(pid, (Item.hurl(arg_06) * 9), 0x00000000); + suspend; + goto block_04A3; + + block_0385: + if (cmd != 8) goto block_043E; + + block_038D: + a = 0; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_03B1: + if condition goto block_03D1; + + block_03B4: + if (npc < 0x0100) goto block_03CD; + + block_03C3: + a = (1 + a); + + block_03CD: + /* loopnext */ + goto block_03B1; + + block_03D1: + if (a <= 4) goto block_040B; + + block_03E4: + spawn class_0A18_slot_20(pid, phase, *(arg_06), arg_06); + suspend; + + block_040B: + spawn class_0A0C_slot_32(pid, (Item.hurl(arg_06) * 9), 0x00000000); + suspend; + goto block_04A3; + + block_043E: + if (cmd != 9) goto block_04A3; + + block_0446: + q = Item.getNpcNum(arg_06); + class_0A0C_slot_20(q, 3); + spawn class_0A18_slot_20(pid, phase, *(arg_06), arg_06); + suspend; + goto block_04A3; + + block_04A3: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_21_slot_21.txt new file mode 100644 index 0000000..b4c6f88 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPECIAL/slot_21_slot_21.txt @@ -0,0 +1,42 @@ +function special_slot_21() /* entry=272 class_id=0x04CA slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter, /* [BP-02h] type=0x69 */ + time, /* [BP-04h] type=0x69 */ + phase1, /* [BP-06h] type=0x69 */ + phase2; /* [BP-08h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + counter = 0; + time = Item.hurl(arg_06); + phase1 = Item.getMapNum(arg_06); + phase2 = Intrinsic00FA(arg_06); + + block_0526: + if 1 goto block_05D8; + + block_052E: + spawn class_04CA_slot_20(pid, (0x0080 + 0), phase1, arg_06); + suspend; + spawn class_04CA_slot_20(pid, (0x0080 + 1), phase2, arg_06); + suspend; + spawn class_0A0C_slot_32(pid, time, 0x00000000); + suspend; + counter = (1 + counter); + if ((phase1 != 8) || (phase1 != 7)) goto block_05D5; + + block_05C4: + if (counter >= 4) goto block_05D5; + + block_05CF: + goto block_05D8; + + block_05D5: + goto block_0526; + + block_05D8: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPIDER/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/SPIDER/slot_20_slot_20.txt new file mode 100644 index 0000000..e2a6924 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPIDER/slot_20_slot_20.txt @@ -0,0 +1,111 @@ +function spider_slot_20() /* entry=390 class_id=0x0A14 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + spiderType, /* [BP+0Ah] type=0x69 */ + spider, /* [BP-02h] type=0x24 */ + target, /* [BP-04h] type=0x24 */ + dest, /* [BP-09h] type=0x24 */ + count, /* [BP-0Bh] type=0x69 */ + targetLoop; /* [BP-0Dh] type=0x69 */ + + entry: + set_info(1, *(arg_06)); + if (!spiderType) goto block_011B; + + block_0107: + class_0A1E_slot_23(4, arg_06); + goto block_03D4; + + block_011B: + if (Item.getStatus(arg_06) & 0x1000) goto block_0134; + + block_012E: + goto block_03D4; + + block_0134: + class_0A1E_slot_23(0x1000, arg_06); + targetLoop = spiderType; + + block_014A: + if (targetLoop >= 10) goto block_015F; + + block_0155: + targetLoop = (targetLoop - 10); + goto block_014A; + + block_015F: + suspend; + if (Item.pop() != 0) goto block_018A; + + block_017D: + target = Item.pop(); + goto block_0193; + + block_018A: + target = global[0x003C]; + + block_0193: + if ((Item.getZ(target) > (Item.getZ(arg_06) + 16)) || (Item.getZ(target) < (Item.getZ(arg_06) - 16))) goto block_01F2; + + block_01C9: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_0193; + + block_01F2: + if ((Item.getStatus(arg_06) & 4) || (Item.getFrame(arg_06) > 0)) goto block_0237; + + block_0214: + class_0A1E_slot_24(4, arg_06); + class_0A1E_slot_24(0x1000, arg_06); + goto block_03D4; + + block_0237: + count = 0; + + block_028A: + if (count <= 5) goto block_02D2; + + block_0292: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + count = (1 + count); + goto block_028A; + + block_02D2: + count = 1; + + block_0302: + if (count <= 9) goto block_034A; + + block_030A: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + count = (1 + count); + goto block_0302; + + block_034A: + if (Item.getQHi(target, arg_06) != 0) goto block_0387; + + block_035E: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + goto block_034A; + + block_0387: + spawn class_0A14_slot_21(pid, targetLoop, target, spider, spider); + suspend; + if (spiderType < 99) goto block_03D1; + + block_03BC: + class_0A1E_slot_24(0x1000, arg_06); + goto block_03D4; + + block_03D1: + goto block_015F; + + block_03D4: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPIDER/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/SPIDER/slot_21_slot_21.txt new file mode 100644 index 0000000..603c339 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPIDER/slot_21_slot_21.txt @@ -0,0 +1,34 @@ +function spider_slot_21() /* entry=390 class_id=0x0A14 slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + spider, /* [BP+0Ah] type=0x69 */ + tar, /* [BP+0Ch] type=0x69 */ + targetLoop, /* [BP+0Eh] type=0x69 */ + target, /* [BP-02h] type=0x24 */ + x, /* [BP-04h] type=0x69 */ + y; /* [BP-06h] type=0x69 */ + + entry: + set_info(1, spider); + target = tar; + + block_0473: + if ((targetLoop - 1) > 0) goto block_0511; + + block_0484: + /* rsh */ + x = 1; + /* rsh */ + y = 1; + spawn class_0A14_slot_22((Intrinsic0013(target) - Intrinsic0013(arg_06)), (Item.legal_create(target) - Item.legal_create(arg_06)), pid, (Intrinsic0029() + 5), Item.getZ(arg_06), (y + Item.legal_create(arg_06)), (x + Intrinsic0013(arg_06)), arg_06); + suspend; + targetLoop = (targetLoop - 1); + goto block_0473; + + block_0511: + spawn class_0A14_slot_22(pid, (Intrinsic0029() + 5), Item.getZ(arg_06), Item.legal_create(target), Intrinsic0013(target), arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPIDER/slot_22_slot_22.txt b/USECODE/EUSECODE_extracted/pseudocode/SPIDER/slot_22_slot_22.txt new file mode 100644 index 0000000..3d53d30 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPIDER/slot_22_slot_22.txt @@ -0,0 +1,221 @@ +function spider_slot_22() /* entry=390 class_id=0x0A14 slot=0x22 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + destX, /* [BP+0Ah] type=0x69 */ + destY, /* [BP+0Ch] type=0x69 */ + destZ, /* [BP+0Eh] type=0x62 */ + vel, /* [BP+10h] type=0x69 */ + currentP, /* [BP-05h] type=0x24 */ + x, /* [BP-07h] type=0x69 */ + y, /* [BP-09h] type=0x69 */ + z, /* [BP-0Ah] type=0x62 */ + w, /* [BP-0Ch] type=0x69 */ + h, /* [BP-0Eh] type=0x69 */ + counter, /* [BP-10h] type=0x69 */ + minor, /* [BP-12h] type=0x69 */ + r, /* [BP-14h] type=0x69 */ + q, /* [BP-16h] type=0x69 */ + oabs, /* [BP-18h] type=0x69 */ + v, /* [BP-1Ah] type=0x69 */ + ovel, /* [BP-1Ch] type=0x69 */ + c, /* [BP-1Eh] type=0x69 */ + axis, /* [BP-20h] type=0x69 */ + ztarg, /* [BP-22h] type=0x69 */ + zcur, /* [BP-24h] type=0x69 */ + dif; /* [BP-26h] type=0x69 */ + + entry: + set_info(0x00F0, *(arg_06)); + x = Intrinsic0013(arg_06); + y = Item.legal_create(arg_06); + z = Item.getZ(arg_06); + w = ((destX - x) + 1); + h = ((destY - y) + 1); + counter = 0; + minor = 1; + ovel = vel; + c = 0; + axis = 1; + class_0A0C_slot_3F(w); + class_0A0C_slot_3F(retval, h); + if retval goto block_0652; + + block_064B: + axis = 0; + + block_0652: + if (axis != 0) goto block_06BD; + + block_065D: + class_0A0C_slot_3F(((h / w) * w)); + q = retval; + /* mod */ + class_0A0C_slot_3F(h, w); + r = retval; + if (w < 0) goto block_0699; + + block_068F: + ovel = (-1 * vel); + + block_0699: + if (h < 0) goto block_06AB; + + block_06A4: + minor = -1; + + block_06AB: + class_0A0C_slot_3F(w); + oabs = retval; + goto block_071A; + + block_06BD: + class_0A0C_slot_3F(((w / h) * h)); + q = retval; + /* mod */ + class_0A0C_slot_3F(w, h); + r = retval; + if (h < 0) goto block_06F9; + + block_06EF: + ovel = (-1 * vel); + + block_06F9: + if (w < 0) goto block_070B; + + block_0704: + minor = -1; + + block_070B: + class_0A0C_slot_3F(h); + oabs = retval; + + block_071A: + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + zcur = (z & 0x00FF); + ztarg = (destZ & 0x00FF); + if (zcur != ztarg) goto block_07C2; + + block_076E: + class_0A0C_slot_3F((ztarg - zcur)); + dif = ((retval / 20) + 1); + if (dif != 0) goto block_0795; + + block_0791: + dif = 1; + + block_0795: + if (zcur < ztarg) goto block_07AD; + + block_07A0: + z = (z + dif); + goto block_07C2; + + block_07AD: + zcur = (zcur - dif); + z = (zcur & 0x00FF); + + block_07C2: + if (c >= oabs) goto block_083A; + + block_07D3: + if (zcur > (ztarg - 2)) goto block_07FF; + + block_07E4: + if (zcur < (ztarg + 2)) goto block_07FF; + + block_07F5: + /* word_to_dword */ + /* pop_result */ + goto block_096F; + + block_07FF: + currentP = x; + local_03 = y; + local_01 = z; + if (!Item.pop(0, 1, currentP, arg_06)) goto block_0837; + + block_082D: + /* word_to_dword */ + /* pop_result */ + goto block_096F; + + block_0837: + goto block_096C; + + block_083A: + c = (c + vel); + if (axis != 0) goto block_08E2; + + block_0855: + currentP = x; + local_03 = y; + local_01 = z; + if (!Item.pop(0, 1, currentP, arg_06)) goto block_088D; + + block_0883: + /* word_to_dword */ + /* pop_result */ + goto block_096F; + + block_088D: + x = (x + ovel); + v = 1; + + block_089E: + if (v <= vel) goto block_08DF; + + block_08A6: + counter = (counter + (r + q)); + if (counter >= oabs) goto block_08D2; + + block_08BE: + counter = (counter - oabs); + y = (y + minor); + + block_08D2: + v = (1 + v); + goto block_089E; + + block_08DF: + goto block_096C; + + block_08E2: + currentP = x; + local_03 = y; + local_01 = z; + if (!Item.pop(0, 1, currentP, arg_06)) goto block_091A; + + block_0910: + /* word_to_dword */ + /* pop_result */ + goto block_096F; + + block_091A: + y = (y + ovel); + v = 1; + + block_092B: + if (v <= vel) goto block_096C; + + block_0933: + counter = (counter + (r + q)); + if (counter >= oabs) goto block_095F; + + block_094B: + counter = (counter - oabs); + x = (x + minor); + + block_095F: + v = (1 + v); + goto block_092B; + + block_096C: + goto block_071A; + + block_096F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPIDPAD/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/SPIDPAD/slot_0A_equip.txt new file mode 100644 index 0000000..5ee6305 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPIDPAD/slot_0A_equip.txt @@ -0,0 +1,19 @@ +function spidpad_equip() /* entry=204 class_id=0x0397 slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if arg_0A goto block_0151; + + block_013C: + spawn class_0A14_slot_20(arg_0A, arg_06); + goto block_016F; + + block_0151: + class_0A0C_slot_33(*(arg_06), 1); + class_0A1E_slot_23(4, arg_06); + + block_016F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPIDPAD/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SPIDPAD/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..2984a6a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPIDPAD/slot_10_leaveFastArea.txt @@ -0,0 +1,10 @@ +function spidpad_leaveFastArea() /* entry=204 class_id=0x0397 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(*(arg_06), 1); + class_0A1E_slot_24(0x1000, arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPIDWALK/slot_05_hit.txt b/USECODE/EUSECODE_extracted/pseudocode/SPIDWALK/slot_05_hit.txt new file mode 100644 index 0000000..60aa6bb --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPIDWALK/slot_05_hit.txt @@ -0,0 +1,13 @@ +function spidwalk_hit() /* entry=203 class_id=0x0391 slot=0x05 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPIDWALK/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/SPIDWALK/slot_06_gotHit.txt new file mode 100644 index 0000000..e93fd17 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPIDWALK/slot_06_gotHit.txt @@ -0,0 +1,19 @@ +function spidwalk_gotHit() /* entry=203 class_id=0x0391 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_0141; + + block_0132: + + block_0141: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SPIDWALK/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/SPIDWALK/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..f20a2c6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SPIDWALK/slot_10_leaveFastArea.txt @@ -0,0 +1,8 @@ +function spidwalk_leaveFastArea() /* entry=203 class_id=0x0391 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SSBOX_EW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/SSBOX_EW/slot_06_gotHit.txt new file mode 100644 index 0000000..5742e86 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SSBOX_EW/slot_06_gotHit.txt @@ -0,0 +1,49 @@ +function ssbox_ew_gotHit() /* entry=148 class_id=0x02B3 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_01F2; + + block_00FD: + if (!Item.getFrame(arg_06)) goto block_014E; + + block_0110: + spawn class_0A1E_slot_28(pid, 0, 0, arg_06); + suspend; + goto block_01F2; + + block_014E: + spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_01AE; + + block_017E: + class_0A0C_slot_20(1); + if retval goto block_019E; + + block_018E: + goto block_01AB; + + block_019E: + + block_01AB: + goto block_01F2; + + block_01AE: + spawn class_0A1E_slot_2A(pid, arg_06); + suspend; + spawn class_0A1E_slot_28(pid, 1, 1, arg_06); + suspend; + + block_01F2: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SSBOX_NS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/SSBOX_NS/slot_06_gotHit.txt new file mode 100644 index 0000000..b27ff19 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SSBOX_NS/slot_06_gotHit.txt @@ -0,0 +1,49 @@ +function ssbox_ns_gotHit() /* entry=152 class_id=0x02CA slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_01F2; + + block_00FD: + if (!Item.getFrame(arg_06)) goto block_014E; + + block_0110: + spawn class_0A1E_slot_28(pid, 0, 0, arg_06); + suspend; + goto block_01F2; + + block_014E: + spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_01AE; + + block_017E: + class_0A0C_slot_20(1); + if retval goto block_019E; + + block_018E: + goto block_01AB; + + block_019E: + + block_01AB: + goto block_01F2; + + block_01AE: + spawn class_0A1E_slot_2A(pid, arg_06); + suspend; + spawn class_0A1E_slot_28(pid, 1, 1, arg_06); + suspend; + + block_01F2: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SSWITCHE/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/SSWITCHE/slot_01_use.txt new file mode 100644 index 0000000..de918c1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SSWITCHE/slot_01_use.txt @@ -0,0 +1,314 @@ +function sswitche_use() /* entry=248 class_id=0x0457 slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + a, /* [BP-01h] type=0x62 */ + b, /* [BP-02h] type=0x62 */ + a1, /* [BP-03h] type=0x62 */ + b1, /* [BP-04h] type=0x62 */ + c1, /* [BP-05h] type=0x62 */ + sswitch, /* [BP-07h] type=0x24 */ + switch1, /* [BP-09h] type=0x24 */ + switch2, /* [BP-0Bh] type=0x24 */ + switch3, /* [BP-0Dh] type=0x24 */ + timer, /* [BP-0Fh] type=0x24 */ + sswitch2, /* [BP-11h] type=0x24 */ + switch21, /* [BP-13h] type=0x24 */ + switch22, /* [BP-15h] type=0x24 */ + switch23, /* [BP-17h] type=0x24 */ + counter, /* [BP-19h] type=0x69 */ + qLo; /* [BP-1Bh] type=0x69 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + a = Item.getFrame(arg_06); + if (Item.getMapNum(arg_06) != 0) goto block_023C; + + block_0196: + if (a != 2) goto block_01D9; + + block_01A1: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_0239; + + block_01D9: + if (a < 2) goto block_0239; + + block_01E7: + b = ((a + 1) & 1); + spawn class_0A18_slot_20(pid, a, *(arg_06), arg_06); + suspend; + goto block_0239; + + block_0239: + goto block_07CC; + + block_023C: + qLo = Item.getNpcNum(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF9 string_bytes=0x6 loop_type=0x2 */ + + block_0268: + if condition goto block_0326; + + block_026B: + if (!(sswitch != *(arg_06))) goto block_0318; + + block_027F: + if (Item.getMapNum(sswitch) != 0) goto block_0318; + + block_0291: + if (Item.getNpcNum(sswitch) != 29) goto block_02BE; + + block_02A6: + switch1 = sswitch; + a1 = Item.getFrame(switch1); + goto block_0318; + + block_02BE: + if (Item.getNpcNum(sswitch) != 30) goto block_02EB; + + block_02D3: + switch2 = sswitch; + b1 = Item.getFrame(switch2); + goto block_0318; + + block_02EB: + if (Item.getNpcNum(sswitch) != 31) goto block_0318; + + block_0300: + switch3 = sswitch; + c1 = Item.getFrame(switch3); + goto block_0318; + + block_0318: + counter = (1 + counter); + /* loopnext */ + goto block_0268; + + block_0326: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xEF string_bytes=0x6 loop_type=0x2 */ + + block_0346: + if condition goto block_03BC; + + block_0349: + if (Item.getMapNum(sswitch2) != 0) goto block_03B8; + + block_035B: + if (Item.getNpcNum(sswitch2) != 29) goto block_037A; + + block_0370: + switch21 = sswitch2; + goto block_03B8; + + block_037A: + if (Item.getNpcNum(sswitch2) != 30) goto block_0399; + + block_038F: + switch22 = sswitch2; + goto block_03B8; + + block_0399: + if (Item.getNpcNum(sswitch2) != 31) goto block_03B8; + + block_03AE: + switch23 = sswitch2; + goto block_03B8; + + block_03B8: + /* loopnext */ + goto block_0346; + + block_03BC: + if (qLo != 29) goto block_0480; + + block_03C6: + a1 = Item.getFrame(arg_06); + switch1 = *(arg_06); + if (switch2 && switch3) goto block_047D; + + block_03EE: + if a1 goto block_043B; + + block_03F6: + a1 = 0; + b1 = 1; + goto block_047D; + + block_043B: + a1 = 1; + b1 = 0; + + block_047D: + goto block_0646; + + block_0480: + if (qLo != 30) goto block_0584; + + block_0488: + b1 = Item.getFrame(arg_06); + switch2 = *(arg_06); + if (switch1 && switch3) goto block_0581; + + block_04B0: + if b1 goto block_051E; + + block_04B8: + b1 = 0; + a1 = 1; + c1 = 1; + goto block_0581; + + block_051E: + b1 = 1; + a1 = 0; + c1 = 0; + + block_0581: + goto block_0646; + + block_0584: + if (qLo != 31) goto block_0646; + + block_058C: + c1 = Item.getFrame(arg_06); + switch3 = *(arg_06); + if (switch1 && switch2) goto block_0643; + + block_05B4: + if c1 goto block_0601; + + block_05BC: + c1 = 0; + b1 = 1; + goto block_0643; + + block_0601: + c1 = 1; + b1 = 0; + + block_0643: + goto block_0646; + + block_0646: + if a1 goto block_06C7; + + block_064E: + if (b1 || c1) goto block_0668; + + block_065F: + goto block_07F2; + + block_0665: + goto block_06C4; + + block_0668: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF1 string_bytes=0x6 loop_type=0x2 */ + + block_0686: + if condition goto block_06C2; + + block_0689: + if (Item.getNpcNum(timer) != 29) goto block_06BE; + + block_069E: + suspend; + + block_06BE: + /* loopnext */ + goto block_0686; + + block_06C2: + + block_06C4: + goto block_07A6; + + block_06C7: + if b1 goto block_073F; + + block_06CF: + if c1 goto block_06E0; + + block_06D7: + goto block_07F2; + + block_06DD: + goto block_073C; + + block_06E0: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF1 string_bytes=0x6 loop_type=0x2 */ + + block_06FE: + if condition goto block_073A; + + block_0701: + if (Item.getNpcNum(timer) != 30) goto block_0736; + + block_0716: + suspend; + + block_0736: + /* loopnext */ + goto block_06FE; + + block_073A: + + block_073C: + goto block_07A6; + + block_073F: + if c1 goto block_07A6; + + block_0747: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF1 string_bytes=0x6 loop_type=0x2 */ + + block_0765: + if condition goto block_07A1; + + block_0768: + if (Item.getNpcNum(timer) != 31) goto block_079D; + + block_077D: + suspend; + + block_079D: + /* loopnext */ + goto block_0765; + + block_07A1: + goto block_07A6; + + block_07A6: + spawn class_0A0C_slot_32(pid, 20, 0x00000000); + suspend; + + block_07CC: + spawn class_0A0C_slot_32(pid, 20, 0x00000000); + suspend; + + block_07F2: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SSWITCHE/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/SSWITCHE/slot_06_gotHit.txt new file mode 100644 index 0000000..21b2a2d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SSWITCHE/slot_06_gotHit.txt @@ -0,0 +1,27 @@ +function sswitche_gotHit() /* entry=248 class_id=0x0457 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2B(vel, ref); + if (retval != 4) goto block_0139; + + block_0106: + if (ref != 1) goto block_011A; + + block_0114: + goto block_0139; + + block_011A: + spawn class_0457_use(pid, arg_06); + suspend; + + block_0139: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SSWITCHN/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/SSWITCHN/slot_01_use.txt new file mode 100644 index 0000000..926439b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SSWITCHN/slot_01_use.txt @@ -0,0 +1,314 @@ +function sswitchn_use() /* entry=247 class_id=0x0452 slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + a, /* [BP-01h] type=0x62 */ + b, /* [BP-02h] type=0x62 */ + a1, /* [BP-03h] type=0x62 */ + b1, /* [BP-04h] type=0x62 */ + c1, /* [BP-05h] type=0x62 */ + sswitch, /* [BP-07h] type=0x24 */ + switch1, /* [BP-09h] type=0x24 */ + switch2, /* [BP-0Bh] type=0x24 */ + switch3, /* [BP-0Dh] type=0x24 */ + timer, /* [BP-0Fh] type=0x24 */ + sswitch2, /* [BP-11h] type=0x24 */ + switch21, /* [BP-13h] type=0x24 */ + switch22, /* [BP-15h] type=0x24 */ + switch23, /* [BP-17h] type=0x24 */ + counter, /* [BP-19h] type=0x69 */ + qLo; /* [BP-1Bh] type=0x69 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + a = Item.getFrame(arg_06); + if (Item.getMapNum(arg_06) != 0) goto block_023C; + + block_0196: + if (a != 2) goto block_01D9; + + block_01A1: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_0239; + + block_01D9: + if (a < 2) goto block_0239; + + block_01E7: + b = ((a + 1) & 1); + spawn class_0A18_slot_20(pid, a, *(arg_06), arg_06); + suspend; + goto block_0239; + + block_0239: + goto block_07CC; + + block_023C: + qLo = Item.getNpcNum(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF9 string_bytes=0x6 loop_type=0x2 */ + + block_0268: + if condition goto block_0326; + + block_026B: + if (!(sswitch != *(arg_06))) goto block_0318; + + block_027F: + if (Item.getMapNum(sswitch) != 0) goto block_0318; + + block_0291: + if (Item.getNpcNum(sswitch) != 29) goto block_02BE; + + block_02A6: + switch1 = sswitch; + a1 = Item.getFrame(switch1); + goto block_0318; + + block_02BE: + if (Item.getNpcNum(sswitch) != 30) goto block_02EB; + + block_02D3: + switch2 = sswitch; + b1 = Item.getFrame(switch2); + goto block_0318; + + block_02EB: + if (Item.getNpcNum(sswitch) != 31) goto block_0318; + + block_0300: + switch3 = sswitch; + c1 = Item.getFrame(switch3); + goto block_0318; + + block_0318: + counter = (1 + counter); + /* loopnext */ + goto block_0268; + + block_0326: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xEF string_bytes=0x6 loop_type=0x2 */ + + block_0346: + if condition goto block_03BC; + + block_0349: + if (Item.getMapNum(sswitch2) != 0) goto block_03B8; + + block_035B: + if (Item.getNpcNum(sswitch2) != 29) goto block_037A; + + block_0370: + switch21 = sswitch2; + goto block_03B8; + + block_037A: + if (Item.getNpcNum(sswitch2) != 30) goto block_0399; + + block_038F: + switch22 = sswitch2; + goto block_03B8; + + block_0399: + if (Item.getNpcNum(sswitch2) != 31) goto block_03B8; + + block_03AE: + switch23 = sswitch2; + goto block_03B8; + + block_03B8: + /* loopnext */ + goto block_0346; + + block_03BC: + if (qLo != 29) goto block_0480; + + block_03C6: + a1 = Item.getFrame(arg_06); + switch1 = *(arg_06); + if (switch2 && switch3) goto block_047D; + + block_03EE: + if a1 goto block_043B; + + block_03F6: + a1 = 0; + b1 = 1; + goto block_047D; + + block_043B: + a1 = 1; + b1 = 0; + + block_047D: + goto block_0646; + + block_0480: + if (qLo != 30) goto block_0584; + + block_0488: + b1 = Item.getFrame(arg_06); + switch2 = *(arg_06); + if (switch1 && switch3) goto block_0581; + + block_04B0: + if b1 goto block_051E; + + block_04B8: + b1 = 0; + a1 = 1; + c1 = 1; + goto block_0581; + + block_051E: + b1 = 1; + a1 = 0; + c1 = 0; + + block_0581: + goto block_0646; + + block_0584: + if (qLo != 31) goto block_0646; + + block_058C: + c1 = Item.getFrame(arg_06); + switch3 = *(arg_06); + if (switch1 && switch2) goto block_0643; + + block_05B4: + if c1 goto block_0601; + + block_05BC: + c1 = 0; + b1 = 1; + goto block_0643; + + block_0601: + c1 = 1; + b1 = 0; + + block_0643: + goto block_0646; + + block_0646: + if a1 goto block_06C7; + + block_064E: + if (b1 || c1) goto block_0668; + + block_065F: + goto block_07F2; + + block_0665: + goto block_06C4; + + block_0668: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF1 string_bytes=0x6 loop_type=0x2 */ + + block_0686: + if condition goto block_06C2; + + block_0689: + if (Item.getNpcNum(timer) != 29) goto block_06BE; + + block_069E: + suspend; + + block_06BE: + /* loopnext */ + goto block_0686; + + block_06C2: + + block_06C4: + goto block_07A6; + + block_06C7: + if b1 goto block_073F; + + block_06CF: + if c1 goto block_06E0; + + block_06D7: + goto block_07F2; + + block_06DD: + goto block_073C; + + block_06E0: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF1 string_bytes=0x6 loop_type=0x2 */ + + block_06FE: + if condition goto block_073A; + + block_0701: + if (Item.getNpcNum(timer) != 30) goto block_0736; + + block_0716: + suspend; + + block_0736: + /* loopnext */ + goto block_06FE; + + block_073A: + + block_073C: + goto block_07A6; + + block_073F: + if c1 goto block_07A6; + + block_0747: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF1 string_bytes=0x6 loop_type=0x2 */ + + block_0765: + if condition goto block_07A1; + + block_0768: + if (Item.getNpcNum(timer) != 31) goto block_079D; + + block_077D: + suspend; + + block_079D: + /* loopnext */ + goto block_0765; + + block_07A1: + goto block_07A6; + + block_07A6: + spawn class_0A0C_slot_32(pid, 20, 0x00000000); + suspend; + + block_07CC: + spawn class_0A0C_slot_32(pid, 20, 0x00000000); + suspend; + + block_07F2: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SSWITCHN/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/SSWITCHN/slot_06_gotHit.txt new file mode 100644 index 0000000..02bc5b4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SSWITCHN/slot_06_gotHit.txt @@ -0,0 +1,27 @@ +function sswitchn_gotHit() /* entry=247 class_id=0x0452 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2B(vel, ref); + if (retval != 4) goto block_0139; + + block_0106: + if (ref != 1) goto block_011A; + + block_0114: + goto block_0139; + + block_011A: + spawn class_0452_use(pid, arg_06); + suspend; + + block_0139: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STABLE/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/STABLE/slot_06_gotHit.txt new file mode 100644 index 0000000..fd4fa20 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STABLE/slot_06_gotHit.txt @@ -0,0 +1,98 @@ +function stable_gotHit() /* entry=154 class_id=0x02DC slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + item, /* [BP-04h] type=0x24 */ + thing; /* [BP-06h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + fram = Item.getFrame(arg_06); + if (fram > 8) goto block_010D; + + block_0107: + goto block_0270; + + block_010D: + class_0A0C_slot_2C(vel, ref); + if retval goto block_0270; + + block_011F: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_013D: + if condition goto block_018B; + + block_0140: + if (Item.getFrame(item) < 1) goto block_0187; + + block_0155: + spawn class_0A1E_slot_28(pid, 0, 1, item); + suspend; + + block_0187: + /* loopnext */ + goto block_013D; + + block_018B: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + + block_019D: + if condition goto block_01D4; + + block_01A0: + class_0A0C_slot_20(1, 10); + class_0A0C_slot_20((retval + 10), 10); + class_0A0C_slot_20(retval, 10); + /* loopnext */ + goto block_019D; + + block_01D4: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_01F4: + if condition goto block_026E; + + block_01F7: + fram = Item.getFrame(item); + if (fram < 9) goto block_026A; + + block_0213: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + + block_0231: + if condition goto block_0268; + + block_0234: + class_0A0C_slot_20(1, 10); + class_0A0C_slot_20((retval + 10), 10); + class_0A0C_slot_20(retval, 10); + /* loopnext */ + goto block_0231; + + block_0268: + + block_026A: + /* loopnext */ + goto block_01F4; + + block_026E: + + block_0270: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STATICEW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/STATICEW/slot_06_gotHit.txt new file mode 100644 index 0000000..5d977fe --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STATICEW/slot_06_gotHit.txt @@ -0,0 +1,19 @@ +function staticew_gotHit() /* entry=198 class_id=0x037F slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_010C; + + block_00FD: + + block_010C: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STATICEW/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/STATICEW/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..0a7c963 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STATICEW/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function staticew_enterFastArea() /* entry=198 class_id=0x037F slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STATICNS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/STATICNS/slot_06_gotHit.txt new file mode 100644 index 0000000..133fbeb --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STATICNS/slot_06_gotHit.txt @@ -0,0 +1,19 @@ +function staticns_gotHit() /* entry=131 class_id=0x0254 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_010C; + + block_00FD: + + block_010C: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STATICNS/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/STATICNS/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..c840132 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STATICNS/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function staticns_enterFastArea() /* entry=131 class_id=0x0254 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STEAM/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/STEAM/slot_20_slot_20.txt new file mode 100644 index 0000000..50f6122 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STEAM/slot_20_slot_20.txt @@ -0,0 +1,67 @@ +function steam_slot_20() /* entry=391 class_id=0x0A15 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + detect, /* [BP-03h] type=0x62 */ + n; /* [BP-05h] type=0x24 */ + + entry: + set_info(0x0001, *(arg_06)); + + block_00F6: + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + detect = 0; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_014D: + if condition goto block_01F4; + + block_0150: + if Item.isNpc(item) goto block_01F0; + + block_015F: + if Item.overlaps(*(arg_06), item) goto block_01F0; + + block_0172: + n = item; + if (n != Item.pop()) goto block_01C4; + + block_018A: + class_0A11_slot_2B(n); + if (!retval) goto block_01C1; + + block_019E: + + block_01C1: + goto block_01E9; + + block_01C4: + + block_01E9: + detect = 1; + + block_01F0: + /* loopnext */ + goto block_014D; + + block_01F4: + if (!detect) goto block_0213; + + block_01FF: + class_0A1E_slot_24(4, arg_06); + goto block_0216; + + block_0213: + goto block_00F6; + + block_0216: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STEAM/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/STEAM/slot_21_slot_21.txt new file mode 100644 index 0000000..46aee3c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STEAM/slot_21_slot_21.txt @@ -0,0 +1,45 @@ +function steam_slot_21() /* entry=391 class_id=0x0A15 slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + n; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0001, *(arg_06)); + n = ref; + if (Item.getStatus(arg_06) & 4) goto block_027E; + + block_0278: + goto block_0333; + + block_027E: + class_0A1E_slot_23(4, arg_06); + + block_028C: + suspend; + if (ref < 0x00FF) goto block_0330; + + block_02A8: + if (ref != Item.pop()) goto block_02E3; + + block_02B9: + goto block_031C; + + block_02E3: + class_0A11_slot_2B(n); + if (!retval) goto block_031C; + + block_02F7: + + block_031C: + spawn class_0A15_slot_20(arg_06); + goto block_0333; + + block_0330: + goto block_028C; + + block_0333: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STEAM1/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/STEAM1/slot_06_gotHit.txt new file mode 100644 index 0000000..4ade4d8 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STEAM1/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function steam1_gotHit() /* entry=293 class_id=0x04FA slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A15_slot_21(pid, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STEAM1/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/STEAM1/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..b6ee77e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STEAM1/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function steam1_enterFastArea() /* entry=293 class_id=0x04FA slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STEAM2/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/STEAM2/slot_06_gotHit.txt new file mode 100644 index 0000000..bbf30db --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STEAM2/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function steam2_gotHit() /* entry=298 class_id=0x0511 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A15_slot_21(pid, ref, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STEAM2/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/STEAM2/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..bb33b2a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STEAM2/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function steam2_enterFastArea() /* entry=298 class_id=0x0511 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STEAMBOX/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/STEAMBOX/slot_0A_equip.txt new file mode 100644 index 0000000..535a5c3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STEAMBOX/slot_0A_equip.txt @@ -0,0 +1,93 @@ +function steambox_equip() /* entry=296 class_id=0x0500 slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + event, /* [BP+0Ah] type=0x69 */ + steam, /* [BP-02h] type=0x24 */ + steam2, /* [BP-04h] type=0x24 */ + direction; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (event != 0) goto block_01D0; + + block_00FF: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + + block_0128: + if condition goto block_01CB; + + block_012B: + if (Item.getNpcNum(steam) != Item.getNpcNum(arg_06)) goto block_01C7; + + block_0147: + if (Item.getStatus(steam) & 0x1000) goto block_015D; + + block_015A: + goto block_01C7; + + block_015D: + if ((Intrinsic0016(steam) != 0x04FA) || (Intrinsic0016(steam) != 0x04F9)) goto block_0192; + + block_017B: + spawn class_0500_slot_21(0, steam, arg_06); + goto block_01C7; + + block_0192: + if ((Intrinsic0016(steam) != 0x0511) || (Intrinsic0016(steam) != 0x04FD)) goto block_01C7; + + block_01B0: + spawn class_0500_slot_21(1, steam, arg_06); + goto block_01C7; + + block_01C7: + /* loopnext */ + goto block_0128; + + block_01CB: + goto block_0306; + + block_01D0: + if (event != 1) goto block_0306; + + block_01D8: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_01F6: + if condition goto block_0301; + + block_01F9: + if (Item.getNpcNum(steam) != Item.getNpcNum(arg_06)) goto block_02FD; + + block_0215: + if (Item.getFrame(steam) != 0) goto block_0289; + + block_0224: + spawn class_0500_slot_20(0, steam2, arg_06); + goto block_02FD; + + block_0289: + if (Item.getFrame(steam) != 1) goto block_02FD; + + block_0298: + spawn class_0500_slot_20(1, steam2, arg_06); + goto block_02FD; + + block_02FD: + /* loopnext */ + goto block_01F6; + + block_0301: + goto block_0306; + + block_0306: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STEAMBOX/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/STEAMBOX/slot_20_slot_20.txt new file mode 100644 index 0000000..4ca5bd3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STEAMBOX/slot_20_slot_20.txt @@ -0,0 +1,69 @@ +function steambox_slot_20() /* entry=296 class_id=0x0500 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + steam, /* [BP+0Ah] type=0x24 */ + direction, /* [BP+0Ch] type=0x69 */ + count, /* [BP-02h] type=0x69 */ + steam2; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x00F0, *(arg_06)); + if Item.getQHi() goto block_03F6; + + block_036A: + if ((Item.getFrame(steam) != 39) && (Intrinsic0007(steam) != 1)) goto block_03F3; + + block_038C: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + if (Item.getFrame(steam) != 12) goto block_03F0; + + block_03C7: + class_0A1E_slot_23(4, steam); + spawn class_0A15_slot_20(steam); + + block_03F0: + goto block_036A; + + block_03F3: + goto block_041C; + + block_03F6: + spawn class_0A0C_slot_32(pid, 120, 0x00000000); + suspend; + + block_041C: + if (direction != 0) goto block_0455; + + block_0424: + if Item.getQHi() goto block_0442; + + block_042F: + goto block_0452; + + block_0442: + + block_0452: + goto block_048E; + + block_0455: + if (direction != 1) goto block_048E; + + block_045D: + if Item.getQHi() goto block_047B; + + block_0468: + goto block_048B; + + block_047B: + + block_048B: + goto block_048E; + + block_048E: + class_0A1E_slot_23(4, steam2); + spawn class_0A15_slot_20(steam2); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STEAMBOX/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/STEAMBOX/slot_21_slot_21.txt new file mode 100644 index 0000000..a2de980 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STEAMBOX/slot_21_slot_21.txt @@ -0,0 +1,79 @@ +function steambox_slot_21() /* entry=296 class_id=0x0500 slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + steam, /* [BP+0Ah] type=0x24 */ + direction, /* [BP+0Ch] type=0x69 */ + count, /* [BP-02h] type=0x69 */ + steam2; /* [BP-04h] type=0x24 */ + + entry: + set_info(1, *(arg_06)); + class_0A1E_slot_23(0x1000, steam); + if Item.getQHi() goto block_062E; + + block_056E: + if ((Intrinsic0016(steam) != 0x04F9) || (Intrinsic0016(steam) != 0x04FD)) goto block_05E0; + + block_0592: + if ((Item.getFrame(steam) != 39) && (Intrinsic0007(arg_06) != 1)) goto block_05DD; + + block_05B4: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0592; + + block_05DD: + goto block_062B; + + block_05E0: + if ((Item.getFrame(steam) != 23) && (Intrinsic0007(steam) != 1)) goto block_062B; + + block_0602: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_05E0; + + block_062B: + goto block_0655; + + block_062E: + spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000); + suspend; + + block_0655: + if (direction != 0) goto block_068A; + + block_0677: + goto block_06A5; + + block_068A: + if (direction != 1) goto block_06A5; + + block_0692: + goto block_06A5; + + block_06A5: + class_0A1E_slot_23(0x1000, steam2); + if Item.getQHi() goto block_0752; + + block_0704: + if ((Item.getFrame(steam2) != 29) && (Intrinsic0007(steam2) != 1)) goto block_074F; + + block_0726: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0704; + + block_074F: + goto block_0779; + + block_0752: + spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000); + suspend; + + block_0779: + class_0A1E_slot_24(0x1000, steam2); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STEAMEGG/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/STEAMEGG/slot_07_hatch.txt new file mode 100644 index 0000000..6ce1e04 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STEAMEGG/slot_07_hatch.txt @@ -0,0 +1,37 @@ +function steamegg_hatch() /* entry=369 class_id=0x091D slot=0x07 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + sBox, /* [BP-02h] type=0x24 */ + id; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + id = Intrinsic003F(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0117: + if condition goto block_01A8; + + block_011A: + if (Item.getNpcNum(sBox) != id) goto block_01A4; + + block_0132: + suspend; + spawn class_0A0C_slot_32(pid, 0x015E, 0x00000000); + suspend; + suspend; + + block_01A4: + /* loopnext */ + goto block_0117; + + block_01A8: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STELEPAD/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/STELEPAD/slot_06_gotHit.txt new file mode 100644 index 0000000..e674d99 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STELEPAD/slot_06_gotHit.txt @@ -0,0 +1,56 @@ +function stelepad_gotHit() /* entry=44 class_id=0x00EF slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + ke, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + npc; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + class_0A0C_slot_2C(ke, ref); + if retval goto block_010A; + + block_0104: + goto block_0199; + + block_010A: + if (Item.isNpc(item) != 0) goto block_0127; + + block_011C: + + block_0127: + if (Intrinsic0070() != 1) goto block_0199; + + block_0135: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + + block_0150: + if condition goto block_0191; + + block_0153: + if (npc < 0x0100) goto block_018D; + + block_015F: + if (npc != 1) goto block_018D; + + block_016A: + + block_018D: + /* loopnext */ + goto block_0150; + + block_0191: + goto block_0199; + + block_0199: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STELEPAD/slot_09_release.txt b/USECODE/EUSECODE_extracted/pseudocode/STELEPAD/slot_09_release.txt new file mode 100644 index 0000000..b93e0cf --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STELEPAD/slot_09_release.txt @@ -0,0 +1,65 @@ +function stelepad_release() /* entry=44 class_id=0x00EF slot=0x09 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + tele, /* [BP-02h] type=0x24 */ + npc; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020D, *(arg_06)); + process_exclude(); + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + + block_0225: + if condition goto block_0232; + + block_0228: + goto block_02B0; + + block_022E: + /* loopnext */ + goto block_0225; + + block_0232: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + + block_024F: + if condition goto block_02AE; + + block_0252: + if (npc != 1) goto block_02A4; + + block_0260: + /* global_address global_id=0x3C */ + if Intrinsic00FA(*(arg_06)) goto block_029D; + + block_0274: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0260; + + block_029D: + + block_02A4: + goto block_02B0; + + block_02AA: + /* loopnext */ + goto block_024F; + + block_02AE: + + block_02B0: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/STORMTRO/slot_0E_calledFromAnim.txt b/USECODE/EUSECODE_extracted/pseudocode/STORMTRO/slot_0E_calledFromAnim.txt new file mode 100644 index 0000000..fc6236a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/STORMTRO/slot_0E_calledFromAnim.txt @@ -0,0 +1,9 @@ +function stormtro_calledFromAnim() /* entry=196 class_id=0x0371 slot=0x0E */ +{ + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn class_0A1C_slot_20(Item.getQLo(arg_06), *(arg_06), arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_01_use.txt new file mode 100644 index 0000000..75f27bc --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_01_use.txt @@ -0,0 +1,39 @@ +function surcamew_use() /* entry=284 class_id=0x04DE slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 0x1000) goto block_01E7; + + block_01E1: + goto block_029B; + + block_01E7: + /* global_address global_id=0x3C */ + if (Item.getType((Item.getNpcNum(arg_06) != 4)) != 25) goto block_028D; + + block_020A: + if (global[0x002C] != 0) goto block_0275; + + block_0217: + /* pop_global global_id=0x2C size=0x1 */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_0275: + /* bit_not */ + goto block_029B; + + block_028A: + goto block_029B; + + block_028D: + spawn class_04DE_slot_20(arg_06); + + block_029B: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_0A_equip.txt new file mode 100644 index 0000000..ca0c63d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_0A_equip.txt @@ -0,0 +1,13 @@ +function surcamew_equip() /* entry=284 class_id=0x04DE slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000)) { + if (arg_0A == 0) { + /* global_address global_id=0x3C */ + spawn class_04DE_slot_21(arg_06); + } + return; + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_20_slot_20.txt new file mode 100644 index 0000000..c5c6864 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_20_slot_20.txt @@ -0,0 +1,109 @@ +function surcamew_slot_20() /* entry=284 class_id=0x04DE slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + textFile, /* [BP-02h] type=0x73 */ + monit, /* [BP-04h] type=0x24 */ + valueBox, /* [BP-06h] type=0x24 */ + passcode, /* [BP-08h] type=0x69 */ + link, /* [BP-0Ah] type=0x69 */ + code; /* [BP-0Bh] type=0x62 */ + + entry: + set_info(0x021B, 0); + link = Item.getNpcNum(arg_06); + if (Item.getMapNum(arg_06) != 0) goto block_03FC; + + block_02F3: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0311: + if condition goto block_038A; + + block_0314: + if ((Item.getNpcNum(monit) != link) || (link != 0)) goto block_0386; + + block_032F: + if Item.hurl(monit) goto block_0386; + + block_033E: + class_0A17_slot_21(Item.hurl(monit), Item.getNpcNum(monit), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = retval; + spawn class_0A17_slot_20(pid, textFile, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_0386: + /* loopnext */ + goto block_0311; + + block_038A: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn class_04DE_slot_21(pid, arg_06); + suspend; + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + goto block_0501; + + block_03FC: + code = 0; + if Item.hurl(arg_06) goto block_04E2; + + block_0412: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_0430: + if condition goto block_0468; + + block_0433: + if (Item.getNpcNum(valueBox) != link) goto block_0464; + + block_0445: + class_0A19_slot_20(valueBox); + passcode = retval; + code = (1 + code); + goto block_0468; + + block_0464: + /* loopnext */ + goto block_0430; + + block_0468: + if code goto block_049A; + + block_0472: + class_0A17_slot_23(passcode, Item.hurl(arg_06), Item.getNpcNum(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = retval; + goto block_04BD; + + block_049A: + class_0A17_slot_21(Item.hurl(arg_06), Item.getNpcNum(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = retval; + + block_04BD: + spawn class_0A17_slot_20(pid, textFile, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_04E2: + spawn class_04DE_slot_21(pid, arg_06); + suspend; + + block_0501: + /* bit_not */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_21_slot_21.txt new file mode 100644 index 0000000..45174ad --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_21_slot_21.txt @@ -0,0 +1,183 @@ +function surcamew_slot_21() /* entry=284 class_id=0x04DE slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + screen, /* [BP-02h] type=0x24 */ + cameraEgg, /* [BP-04h] type=0x24 */ + trueRef, /* [BP-06h] type=0x69 */ + npc, /* [BP-08h] type=0x24 */ + therma, /* [BP-0Ah] type=0x24 */ + x1, /* [BP-0Ch] type=0x69 */ + y1, /* [BP-0Eh] type=0x69 */ + z1, /* [BP-0Fh] type=0x62 */ + x, /* [BP-11h] type=0x69 */ + y, /* [BP-13h] type=0x69 */ + z; /* [BP-14h] type=0x62 */ + + entry: + set_info(0x021B, 0); + trueRef = *(arg_06); + if Item.getQLo(0, 0x0470, screen) goto block_05DA; + + block_05AE: + + block_05DA: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_061F: + if condition goto block_0AF7; + + block_0622: + if (Item.getNpcNum(cameraEgg) != Item.getNpcNum(arg_06)) goto block_0AF3; + + block_063E: + if (Item.getNpcNum(arg_06) != 0x00FE) goto block_084F; + + block_0651: + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF8 string_bytes=0x6 loop_type=0x2 */ + + block_06FC: + if condition goto block_073B; + + block_06FF: + if Item.isNpc(npc) goto block_0737; + + block_070E: + if (Item.getQLo(npc) != Item.getNpcNum(arg_06)) goto block_0737; + + block_072A: + therma = npc; + goto block_073B; + + block_0737: + /* loopnext */ + goto block_06FC; + + block_073B: + if therma goto block_0786; + + block_0745: + spawn class_0A11_slot_28(pid, therma); + suspend; + goto block_0B4B; + + block_0783: + goto block_084C; + + block_0786: + /* global_address global_id=0x3C */ + x1 = Intrinsic0013(); + /* global_address global_id=0x3C */ + y1 = Item.legal_create(); + /* global_address global_id=0x3C */ + z1 = Item.getZ(); + + block_07B3: + if (!Item.enterFastArea()) goto block_07EB; + + block_07C2: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_07B3; + + block_07EB: + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_0AF7; + + block_084C: + goto block_0AF3; + + block_084F: + if (Item.getNpcNum(arg_06) != 0x00FD) goto block_08B8; + + block_0862: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0AF3; + + block_08B8: + if (Item.getNpcNum(arg_06) > 0x00F9) goto block_0948; + + block_08CB: + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + spawn class_04DE_slot_22(cameraEgg, arg_06); + goto block_0AF7; + + block_0945: + goto block_0AF3; + + block_0948: + x = Intrinsic0013(cameraEgg); + y = Item.legal_create(cameraEgg); + z = Item.getZ(cameraEgg); + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + if (Item.getMapNum(cameraEgg) != 0) goto block_0A23; + + block_09FE: + spawn class_0A18_slot_20(pid, 0, cameraEgg, arg_06); + suspend; + + block_0A23: + spawn class_0A0C_slot_32(pid, 120, 0x00000000); + suspend; + + block_0A49: + if (!Item.enterFastArea()) goto block_0A81; + + block_0A58: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0A49; + + block_0A81: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_0AF7; + + block_0AF3: + /* loopnext */ + goto block_061F; + + block_0AF7: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + if screen goto block_0B32; + + block_0B27: + + block_0B32: + + block_0B4B: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_22_slot_22.txt b/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_22_slot_22.txt new file mode 100644 index 0000000..676918b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SURCAMEW/slot_22_slot_22.txt @@ -0,0 +1,56 @@ +function surcamew_slot_22() /* entry=284 class_id=0x04DE slot=0x22 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + eventTrigger, /* [BP+0Ah] type=0x24 */ + n, /* [BP-02h] type=0x24 */ + foundGun; /* [BP-03h] type=0x62 */ + + entry: + set_info(0x00F0, 0); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0BF2: + if condition goto block_0C1A; + + block_0BF5: + if Item.isNpc(n) goto block_0C16; + + block_0C04: + foundGun = 1; + + block_0C16: + /* loopnext */ + goto block_0BF2; + + block_0C1A: + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + if foundGun goto block_0CBC; + + block_0C7F: + if (Item.pop() != 1) goto block_0CB9; + + block_0C90: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_0C7F; + + block_0CB9: + goto block_0CE3; + + block_0CBC: + spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000); + suspend; + + block_0CE3: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_01_use.txt new file mode 100644 index 0000000..24426cc --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_01_use.txt @@ -0,0 +1,17 @@ +function surcamns_use() /* entry=269 class_id=0x04C6 slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 0x1000) goto block_01E7; + + block_01E1: + goto block_01F5; + + block_01E7: + spawn class_04C6_slot_20(arg_06); + + block_01F5: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_0A_equip.txt new file mode 100644 index 0000000..bb417de --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_0A_equip.txt @@ -0,0 +1,13 @@ +function surcamns_equip() /* entry=269 class_id=0x04C6 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000)) { + if (arg_0A == 0) { + /* global_address global_id=0x3C */ + spawn class_04C6_slot_21(arg_06); + } + return; + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_20_slot_20.txt new file mode 100644 index 0000000..11ccb25 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_20_slot_20.txt @@ -0,0 +1,109 @@ +function surcamns_slot_20() /* entry=269 class_id=0x04C6 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + textFile, /* [BP-02h] type=0x73 */ + monit, /* [BP-04h] type=0x24 */ + valueBox, /* [BP-06h] type=0x24 */ + passcode, /* [BP-08h] type=0x69 */ + link, /* [BP-0Ah] type=0x69 */ + code; /* [BP-0Bh] type=0x62 */ + + entry: + set_info(0x021B, 0); + link = Item.getNpcNum(arg_06); + if (Item.getMapNum(arg_06) != 0) goto block_0356; + + block_024D: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_026B: + if condition goto block_02E4; + + block_026E: + if ((Item.getNpcNum(monit) != link) || (link != 0)) goto block_02E0; + + block_0289: + if Intrinsic00FB(monit) goto block_02E0; + + block_0298: + class_0A17_slot_21(Intrinsic00FB(monit), Item.getNpcNum(monit), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = retval; + spawn class_0A17_slot_20(pid, textFile, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_02E0: + /* loopnext */ + goto block_026B; + + block_02E4: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn class_04C6_slot_21(pid, arg_06); + suspend; + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + goto block_045B; + + block_0356: + code = 0; + if Intrinsic00FB(arg_06) goto block_043C; + + block_036C: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_038A: + if condition goto block_03C2; + + block_038D: + if (Item.getNpcNum(valueBox) != link) goto block_03BE; + + block_039F: + class_0A19_slot_20(valueBox); + passcode = retval; + code = (1 + code); + goto block_03C2; + + block_03BE: + /* loopnext */ + goto block_038A; + + block_03C2: + if code goto block_03F4; + + block_03CC: + class_0A17_slot_23(passcode, Intrinsic00FB(arg_06), Item.getNpcNum(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = retval; + goto block_0417; + + block_03F4: + class_0A17_slot_21(Intrinsic00FB(arg_06), Item.getNpcNum(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = retval; + + block_0417: + spawn class_0A17_slot_20(pid, textFile, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_043C: + spawn class_04C6_slot_21(pid, arg_06); + suspend; + + block_045B: + /* bit_not */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_21_slot_21.txt new file mode 100644 index 0000000..0f813e7 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_21_slot_21.txt @@ -0,0 +1,200 @@ +function surcamns_slot_21() /* entry=269 class_id=0x04C6 slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + screen, /* [BP-02h] type=0x24 */ + cameraEgg, /* [BP-04h] type=0x24 */ + trueRef, /* [BP-06h] type=0x69 */ + x1, /* [BP-08h] type=0x69 */ + y1, /* [BP-0Ah] type=0x69 */ + z1, /* [BP-0Bh] type=0x62 */ + npc, /* [BP-0Dh] type=0x24 */ + therma, /* [BP-0Fh] type=0x24 */ + x, /* [BP-11h] type=0x69 */ + y, /* [BP-13h] type=0x69 */ + z; /* [BP-14h] type=0x62 */ + + entry: + set_info(0x021B, 0); + trueRef = *(arg_06); + if Item.getQLo(0, 0x0471, screen) goto block_0534; + + block_0508: + + block_0534: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_0579: + if condition goto block_0B05; + + block_057C: + if (Item.getNpcNum(cameraEgg) != Item.getNpcNum(arg_06)) goto block_0B01; + + block_0598: + if (Item.getNpcNum(arg_06) != 0x00FE) goto block_085D; + + block_05AB: + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF3 string_bytes=0x6 loop_type=0x2 */ + + block_0656: + if condition goto block_0695; + + block_0659: + if Item.isNpc(npc) goto block_0691; + + block_0668: + if (Item.getQLo(npc) != Item.getNpcNum(arg_06)) goto block_0691; + + block_0684: + therma = npc; + goto block_0695; + + block_0691: + /* loopnext */ + goto block_0656; + + block_0695: + if therma goto block_079B; + + block_069F: + /* global_address global_id=0x3C */ + x1 = Intrinsic0013(); + /* global_address global_id=0x3C */ + y1 = Item.legal_create(); + /* global_address global_id=0x3C */ + z1 = Item.getZ(); + spawn class_0A11_slot_28(pid, therma); + suspend; + + block_06FD: + if (Item.pop() != 1) goto block_0737; + + block_070E: + spawn class_0A0C_slot_32(pid, 3, 0x00000000); + suspend; + goto block_06FD; + + block_0737: + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_0B05; + + block_0798: + goto block_085A; + + block_079B: + /* global_address global_id=0x3C */ + x1 = Intrinsic0013(); + /* global_address global_id=0x3C */ + y1 = Item.legal_create(); + /* global_address global_id=0x3C */ + z1 = Item.getZ(); + + block_07C8: + if (!Item.enterFastArea()) goto block_0800; + + block_07D7: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_07C8; + + block_0800: + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_0B05; + + block_085A: + goto block_0B01; + + block_085D: + if (Item.getNpcNum(arg_06) != 0x00FD) goto block_08C6; + + block_0870: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0B01; + + block_08C6: + if (Item.getNpcNum(arg_06) > 0x00F9) goto block_0956; + + block_08D9: + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + spawn class_04C6_slot_22(cameraEgg, arg_06); + goto block_0B05; + + block_0953: + goto block_0B01; + + block_0956: + x = Intrinsic0013(cameraEgg); + y = Item.legal_create(cameraEgg); + z = Item.getZ(cameraEgg); + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + if (Item.getMapNum(cameraEgg) != 0) goto block_0A31; + + block_0A0C: + spawn class_0A18_slot_20(pid, 0, cameraEgg, arg_06); + suspend; + + block_0A31: + spawn class_0A0C_slot_32(pid, 120, 0x00000000); + suspend; + + block_0A57: + if (!Item.enterFastArea()) goto block_0A8F; + + block_0A66: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0A57; + + block_0A8F: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_0B05; + + block_0B01: + /* loopnext */ + goto block_0579; + + block_0B05: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + if screen goto block_0B40; + + block_0B35: + + block_0B40: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_22_slot_22.txt b/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_22_slot_22.txt new file mode 100644 index 0000000..4edde9b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SURCAMNS/slot_22_slot_22.txt @@ -0,0 +1,56 @@ +function surcamns_slot_22() /* entry=269 class_id=0x04C6 slot=0x22 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + eventTrigger, /* [BP+0Ah] type=0x24 */ + n, /* [BP-02h] type=0x24 */ + foundGun; /* [BP-03h] type=0x62 */ + + entry: + set_info(0x00F0, 0); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0C00: + if condition goto block_0C28; + + block_0C03: + if Item.isNpc(n) goto block_0C24; + + block_0C12: + foundGun = 1; + + block_0C24: + /* loopnext */ + goto block_0C00; + + block_0C28: + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + if foundGun goto block_0CCA; + + block_0C8D: + if (Item.pop() != 1) goto block_0CC7; + + block_0C9E: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_0C8D; + + block_0CC7: + goto block_0CF1; + + block_0CCA: + spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000); + suspend; + + block_0CF1: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SWITCH/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/SWITCH/slot_20_slot_20.txt new file mode 100644 index 0000000..feadecf --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SWITCH/slot_20_slot_20.txt @@ -0,0 +1,41 @@ +function switch_slot_20() /* entry=392 class_id=0x0A16 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x0207, *(arg_06)); + if Item.getFrame(arg_06) goto block_0168; + + block_0105: + counter = 0; + + block_011A: + if (counter <= 5) goto block_0165; + + block_0122: + spawn class_0A0C_slot_32(pid, 3, 0x00000000); + suspend; + counter = (1 + counter); + goto block_011A; + + block_0165: + goto block_01C5; + + block_0168: + counter = 0; + + block_017D: + if (counter <= 5) goto block_01C5; + + block_0185: + spawn class_0A0C_slot_32(pid, 3, 0x00000000); + suspend; + counter = (1 + counter); + goto block_017D; + + block_01C5: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SWITCH/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/SWITCH/slot_21_slot_21.txt new file mode 100644 index 0000000..11f6088 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SWITCH/slot_21_slot_21.txt @@ -0,0 +1,69 @@ +function switch_slot_21() /* entry=392 class_id=0x0A16 slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + okay; /* [BP-01h] type=0x62 */ + + entry: + set_info(0x0207, *(arg_06)); + okay = Item.getQLo(Item.getNpcNum(arg_06)); + if (Item.getFrame(arg_06) != 4) goto block_029E; + + block_0221: + spawn class_0A0C_slot_21(pid, 0x00AD, 0x00000000); + suspend; + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + goto block_043B; + + block_029B: + goto block_043B; + + block_029E: + if Intrinsic0000() goto block_030C; + + block_02A9: + spawn class_0A0C_slot_21(pid, 0x0090, 0x00000000); + suspend; + if (Intrinsic00DA(100, 0) > 50) goto block_02F8; + + block_02E7: + goto block_0306; + + block_02F8: + + block_0306: + goto block_043B; + + block_030C: + if okay goto block_038B; + + block_0314: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_043B; + + block_038B: + + block_03A6: + if Item.touch(0x0090, arg_06) goto block_03E1; + + block_03B8: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_03A6; + + block_03E1: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + + block_043B: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SWITCHEW/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/SWITCHEW/slot_01_use.txt new file mode 100644 index 0000000..b79ebad --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SWITCHEW/slot_01_use.txt @@ -0,0 +1,24 @@ +function switchew_use() /* entry=11 class_id=0x0061 slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + spawn class_0A16_slot_20(arg_06); + if (Item.getMapNum(arg_06) != 0) goto block_016E; + + block_010B: + if (Item.getFrame(arg_06) != 0) goto block_0147; + + block_011D: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_016E; + + block_0147: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + + block_016E: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/SWITCHNS/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/SWITCHNS/slot_01_use.txt new file mode 100644 index 0000000..38b6a25 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/SWITCHNS/slot_01_use.txt @@ -0,0 +1,24 @@ +function switchns_use() /* entry=144 class_id=0x02A3 slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + spawn class_0A16_slot_20(arg_06); + if (Item.getMapNum(arg_06) != 0) goto block_016E; + + block_010B: + if (Item.getFrame(arg_06) != 0) goto block_0147; + + block_011D: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_016E; + + block_0147: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + + block_016E: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/S_CHAIR/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/S_CHAIR/slot_06_gotHit.txt new file mode 100644 index 0000000..f165e31 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/S_CHAIR/slot_06_gotHit.txt @@ -0,0 +1,83 @@ +function s_chair_gotHit() /* entry=114 class_id=0x01E2 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + item, /* [BP-04h] type=0x24 */ + count, /* [BP-06h] type=0x69 */ + spin, /* [BP-08h] type=0x69 */ + direction; /* [BP-0Ah] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + fram = Item.getFrame(arg_06); + if (fram > 7) goto block_010D; + + block_0107: + goto block_0254; + + block_010D: + class_0A0C_slot_2C(vel, ref); + if retval goto block_0254; + + block_011F: + class_0A0C_slot_20(10); + spin = (retval + 5); + class_0A0C_slot_20(1); + direction = retval; + if (direction != 0) goto block_01CA; + + block_0148: + count = 1; + + block_014F: + if (count <= spin) goto block_01C7; + + block_015A: + fram = (fram + 1); + if (fram != 8) goto block_0179; + + block_0172: + fram = 0; + + block_0179: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + count = (1 + count); + goto block_014F; + + block_01C7: + goto block_0254; + + block_01CA: + if (direction != 1) goto block_0254; + + block_01D2: + count = 1; + + block_01D9: + if (count <= spin) goto block_0251; + + block_01E4: + fram = (fram - 1); + if (fram != -1) goto block_0203; + + block_01FC: + fram = 7; + + block_0203: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + count = (1 + count); + goto block_01D9; + + block_0251: + goto block_0254; + + block_0254: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TARGETEW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/TARGETEW/slot_06_gotHit.txt new file mode 100644 index 0000000..1aae60c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TARGETEW/slot_06_gotHit.txt @@ -0,0 +1,39 @@ +function targetew_gotHit() /* entry=116 class_id=0x01F3 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + class_0A0C_slot_2B(vel, ref); + if retval goto block_0179; + + block_0104: + if (Item.getFrame(arg_06) != 0) goto block_0123; + + block_0113: + goto block_0179; + + block_0123: + if (Item.getFrame(arg_06) != 1) goto block_0142; + + block_0132: + goto block_0179; + + block_0142: + if (Item.getFrame(arg_06) != 2) goto block_0179; + + block_0151: + spawn class_0A1E_slot_28(pid, 1, 1, arg_06); + suspend; + goto block_0179; + + block_0179: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TARGETNS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/TARGETNS/slot_06_gotHit.txt new file mode 100644 index 0000000..95563a6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TARGETNS/slot_06_gotHit.txt @@ -0,0 +1,39 @@ +function targetns_gotHit() /* entry=115 class_id=0x01F2 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + class_0A0C_slot_2B(vel, ref); + if retval goto block_0179; + + block_0104: + if (Item.getFrame(arg_06) != 0) goto block_0123; + + block_0113: + goto block_0179; + + block_0123: + if (Item.getFrame(arg_06) != 1) goto block_0142; + + block_0132: + goto block_0179; + + block_0142: + if (Item.getFrame(arg_06) != 2) goto block_0179; + + block_0151: + spawn class_0A1E_slot_28(pid, 1, 1, arg_06); + suspend; + goto block_0179; + + block_0179: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_06_gotHit.txt new file mode 100644 index 0000000..ab95efa --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_06_gotHit.txt @@ -0,0 +1,196 @@ +function telepad_gotHit() /* entry=111 class_id=0x01DB slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + ke, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + pad, /* [BP-04h] type=0x24 */ + pad2, /* [BP-06h] type=0x24 */ + theQual, /* [BP-08h] type=0x69 */ + npc; /* [BP-0Ah] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + pad = *(arg_06); + theQual = Intrinsic007E(pad); + set_info(1, 0); + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + class_0A0C_slot_2C(ke, ref); + if retval goto block_01A1; + + block_019B: + goto block_0499; + + block_01A1: + if (Item.isNpc(item) != 0) goto block_01C2; + + block_01B3: + + block_01C2: + if (Intrinsic0070() != 1) goto block_0234; + + block_01D0: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF6 string_bytes=0x6 loop_type=0x6 */ + + block_01EB: + if condition goto block_022C; + + block_01EE: + if (npc < 0x0100) goto block_0228; + + block_01FA: + if (npc != 1) goto block_0228; + + block_0205: + + block_0228: + /* loopnext */ + goto block_01EB; + + block_022C: + goto block_0499; + + block_0234: + if (!Item.use(*(arg_06), item)) goto block_024E; + + block_0248: + goto block_0499; + + block_024E: + /* global_address global_id=0x3C */ + if (Intrinsic0016((item != 1)) != 1) goto block_0499; + + block_026A: + if (theQual != 0x00FF) goto block_027C; + + block_0276: + goto block_0499; + + block_027C: + if ((theQual > 0) && (theQual < 30)) goto block_02B2; + + block_0290: + /* global_address global_id=0x3C */ + spawn class_01DB_slot_20(Item.getType(theQual), arg_06); + goto block_0499; + + block_02B2: + if (theQual != 30) goto block_02D1; + + block_02BA: + spawn class_01DB_slot_20(30, 40, arg_06); + goto block_0499; + + block_02D1: + if (theQual != 31) goto block_02F0; + + block_02D9: + spawn class_01DB_slot_20(69, 69, arg_06); + goto block_0499; + + block_02F0: + if (theQual != 32) goto block_030F; + + block_02F8: + spawn class_01DB_slot_20(16, 4, arg_06); + goto block_0499; + + block_030F: + if (theQual != 33) goto block_032E; + + block_0317: + spawn class_01DB_slot_20(17, 3, arg_06); + goto block_0499; + + block_032E: + if (theQual != 35) goto block_034D; + + block_0336: + spawn class_01DB_slot_20(30, 41, arg_06); + goto block_0499; + + block_034D: + if (theQual != 100) goto block_036C; + + block_0355: + spawn class_01DB_slot_20(100, 5, arg_06); + goto block_0499; + + block_036C: + if (theQual != 101) goto block_038B; + + block_0374: + spawn class_01DB_slot_20(101, 5, arg_06); + goto block_0499; + + block_038B: + if (theQual != 0x0082) goto block_03AC; + + block_0394: + spawn class_01DB_slot_20(0x0082, 25, arg_06); + goto block_0499; + + block_03AC: + if (theQual != 0x0083) goto block_03CD; + + block_03B5: + spawn class_01DB_slot_20(0x0083, 25, arg_06); + goto block_0499; + + block_03CD: + if (theQual != 0x0084) goto block_03EE; + + block_03D6: + spawn class_01DB_slot_20(0x0082, 25, arg_06); + goto block_0499; + + block_03EE: + if (theQual != 0x0085) goto block_040F; + + block_03F7: + spawn class_01DB_slot_20(0x0083, 25, arg_06); + goto block_0499; + + block_040F: + if (theQual != 0x00D7) goto block_0430; + + block_0418: + spawn class_01DB_slot_20(0x00D7, 5, arg_06); + goto block_0499; + + block_0430: + if (theQual != 0x00DA) goto block_0451; + + block_0439: + spawn class_01DB_slot_20(0x00DA, 5, arg_06); + goto block_0499; + + block_0451: + if (theQual != 0x00DB) goto block_0472; + + block_045A: + spawn class_01DB_slot_20(0x00DB, 5, arg_06); + goto block_0499; + + block_0472: + if (theQual != 0x00DC) goto block_0493; + + block_047B: + spawn class_01DB_slot_20(0x00DC, 5, arg_06); + goto block_0499; + + block_0493: + goto block_0499; + + block_0499: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_09_release.txt b/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_09_release.txt new file mode 100644 index 0000000..42f750f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_09_release.txt @@ -0,0 +1,38 @@ +function telepad_release() /* entry=111 class_id=0x01DB slot=0x09 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + npc, /* [BP-02h] type=0x24 */ + onPad; /* [BP-03h] type=0x62 */ + + entry: + set_info(0x020D, *(arg_06)); + process_exclude(); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + + block_0B3B: + if condition goto block_0B57; + + block_0B3E: + if (npc != 1) goto block_0B53; + + block_0B4C: + onPad = 1; + + block_0B53: + /* loopnext */ + goto block_0B3B; + + block_0B57: + if (!onPad) goto block_0B69; + + block_0B62: + + block_0B69: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..b874a8b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_0F_enterFastArea.txt @@ -0,0 +1,13 @@ +function telepad_enterFastArea() /* entry=111 class_id=0x01DB slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) < 2) goto block_0113; + + block_0106: + + block_0113: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_20_slot_20.txt new file mode 100644 index 0000000..ccb4a59 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_20_slot_20.txt @@ -0,0 +1,177 @@ +function telepad_slot_20() /* entry=111 class_id=0x01DB slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + mapNum, /* [BP+0Ah] type=0x69 */ + eggNum, /* [BP+0Ch] type=0x69 */ + newx, /* [BP-02h] type=0x69 */ + newy, /* [BP-04h] type=0x69 */ + newz, /* [BP-05h] type=0x62 */ + counter, /* [BP-07h] type=0x69 */ + floor, /* [BP-09h] type=0x24 */ + item, /* [BP-0Bh] type=0x24 */ + telebeam, /* [BP-0Dh] type=0x24 */ + y; /* [BP-0Fh] type=0x69 */ + + entry: + set_info(1, 0); + /* global_address global_id=0x3C */ + if Intrinsic00C3() goto block_0515; + + block_050F: + goto block_0A93; + + block_0515: + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + spawn class_0A11_slot_24(pid); + suspend; + if (mapNum != 69) goto block_089B; + + block_055A: + /* global_address global_id=0x3C */ + if (Item.getType() != mapNum) goto block_087B; + + block_056D: + suspend; + if (mapNum != 40) goto block_0778; + + block_059C: + spawn class_0A0C_slot_23(pid, 0x00000000); + suspend; + spawn class_0A0C_slot_25(pid, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + if (Item.getType() != 1) goto block_0672; + + block_0623: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0767; + + block_0672: + /* global_address global_id=0x3C */ + if (Item.getType() != 13) goto block_06D7; + + block_0688: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0767; + + block_06D7: + /* global_address global_id=0x3C */ + if (Item.getType() != 5) goto block_0767; + + block_06ED: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0767; + + block_0767: + goto block_0A93; + + block_0778: + if (mapNum != 41) goto block_0834; + + block_0786: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_0A93; + + block_0834: + if mapNum goto block_085E; + + block_083C: + suspend; + + block_085E: + suspend; + goto block_089B; + + block_087B: + suspend; + + block_089B: + /* global_address global_id=0x3C */ + spawn class_0A11_slot_23(pid); + suspend; + if (eggNum != 69) goto block_0A7C; + + block_08C9: + /* global_address global_id=0x3C */ + y = Item.legal_create(); + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF7 string_bytes=0x6 loop_type=0x2 */ + + block_093F: + if condition goto block_0970; + + block_0942: + newx = Intrinsic0013(floor); + newy = Item.legal_create(floor); + newz = Item.getZ(floor); + /* loopnext */ + goto block_093F; + + block_0970: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF7 string_bytes=0x6 loop_type=0x2 */ + + block_0990: + if condition goto block_09A2; + + block_0993: + /* loopnext */ + goto block_0990; + + block_09A2: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = 0; + + block_0A07: + if (counter <= 40) goto block_0A6A; + + block_0A0F: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + if (counter != 10) goto block_0A5D; + + block_0A50: + + block_0A5D: + counter = (1 + counter); + goto block_0A07; + + block_0A6A: + /* global_address global_id=0x3C */ + goto block_0A93; + + block_0A7C: + /* global_address global_id=0x3C */ + + block_0A93: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TEST/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/TEST/slot_07_hatch.txt new file mode 100644 index 0000000..0a64488 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TEST/slot_07_hatch.txt @@ -0,0 +1,44 @@ +function test_hatch() /* entry=348 class_id=0x0908 slot=0x07 */ +{ + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Intrinsic003F(arg_06) != 1) goto block_0134; + + block_00FA: + spawn class_0A0C_slot_26(pid, "3f", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + goto block_020F; + + block_0134: + if (Intrinsic003F(arg_06) != 2) goto block_017D; + + block_0143: + spawn class_0A0C_slot_26(pid, "3h", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + goto block_020F; + + block_017D: + if (Intrinsic003F(arg_06) != 3) goto block_01C6; + + block_018C: + spawn class_0A0C_slot_26(pid, "3e", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + goto block_020F; + + block_01C6: + if (Intrinsic003F(arg_06) != 4) goto block_020F; + + block_01D5: + spawn class_0A0C_slot_26(pid, "3i", 0x00000000); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + goto block_020F; + + block_020F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TEXTFIL1/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/TEXTFIL1/slot_20_slot_20.txt new file mode 100644 index 0000000..7221546 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TEXTFIL1/slot_20_slot_20.txt @@ -0,0 +1,551 @@ +function textfil1_slot_20() /* entry=399 class_id=0x0A1D slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + linkNum, /* [BP+0Ah] type=0x69 */ + msgNum, /* [BP+0Ch] type=0x69 */ + passcode, /* [BP+0Eh] type=0x69 */ + textFile; /* [BP-02h] type=0x73 */ + + entry: + if (msgNum != 60) goto block_0227; + + block_00F0: + if (linkNum && passcode) goto block_01FB; + + block_0101: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^*And Have a Nice Day."; + goto block_0224; + + block_01FB: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Congressional Office Security^"; + + block_0224: + goto block_24CC; + + block_0227: + if (msgNum != 61) goto block_0359; + + block_022F: + if (linkNum && passcode) goto block_032D; + + block_0240: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^*And Have a Nice Day."; + goto block_0356; + + block_032D: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Congressional Office Security^"; + + block_0356: + goto block_24CC; + + block_0359: + if (msgNum != 62) goto block_04A5; + + block_0361: + if (linkNum && passcode) goto block_0479; + + block_0372: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^*And ** Have a Nice Day.<"; + goto block_04A2; + + block_0479: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Congressional Office Security^"; + + block_04A2: + goto block_24CC; + + block_04A5: + if (msgNum != 63) goto block_05EE; + + block_04AD: + if (linkNum && passcode) goto block_05C2; + + block_04BE: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^Have a Nice Day.<"; + goto block_05EB; + + block_05C2: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Congressional Office Security^"; + + block_05EB: + goto block_24CC; + + block_05EE: + if (msgNum != 64) goto block_07E0; + + block_05F6: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "To: all WEC Secretaries, G Level^ From: Senator Snell^ To maintain a high security rating, and to protect all of *YOU* people from spies and saboteurs, we have added a few more security precautions. Vetrons have been added to the usual security forces. They are here only as an added protective measure. Be very careful, and wear your security badges at ALL times.^Moreover, anyone entering a secure area without proper ID will be terminated on the spot.^Have a nice day..."; + goto block_24CC; + + block_07E0: + if (msgNum != 65) goto block_0852; + + block_07E8: + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = Item.andStatus(passcode); + goto block_24CC; + + block_0852: + if ((((msgNum != 66) || (msgNum != 67)) || (msgNum != 68)) || (msgNum != 69)) goto block_097E; + + block_086C: + if (linkNum && passcode) goto block_0952; + + block_087D: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^*End of Message <"; + goto block_097B; + + block_0952: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Congressional Office Security^"; + + block_097B: + goto block_24CC; + + block_097E: + if (msgNum != 70) goto block_09CF; + + block_0986: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC Security System * EEOD Nerve Gas Storage Facility"; + goto block_24CC; + + block_09CF: + if (msgNum != 71) goto block_0A73; + + block_09D7: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "?^ Darrin ^*End of Message <"; + goto block_24CC; + + block_0A73: + if (msgNum != 72) goto block_0AA1; + + block_0A7B: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "The Cheese Man Cometh..."; + goto block_24CC; + + block_0AA1: + if (msgNum != 73) goto block_0B4F; + + block_0AA9: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Tony, I've found that standing too close to the EEOD for extended time periods does funny things to my hair. Have you had any problems lately? ^Phil "; + goto block_24CC; + + block_0B4F: + if (msgNum != 75) goto block_0C04; + + block_0B57: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Phil, the only problem I've been having is that my hair is kinda hard and falls off at a certain length. It's sorta like a porcupine,whatever that is. ^Tony"; + goto block_24CC; + + block_0C04: + if (msgNum != 76) goto block_0CB3; + + block_0C0C: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Warning: It has recently been discovered that prolonged exposure to the EEOD may cause bad hair problems. Limit time spent in the area, please. WECHC^"; + goto block_24CC; + + block_0CB3: + if (((msgNum != 77) || (msgNum != 78)) || (msgNum != 79)) goto block_0CD5; + + block_0CC7: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ""; + goto block_24CC; + + block_0CD5: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Bad command or file name...^Message is out of range."; + if (msgNum != 80) goto block_0D61; + + block_0D1C: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Phase One of Three of Laser Beam deactivation initiated"; + goto block_24CC; + + block_0D61: + if (msgNum != 81) goto block_0DA9; + + block_0D69: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Alarm Deactivated. Security system will now reset."; + goto block_24CC; + + block_0DA9: + if (msgNum != 82) goto block_0DE8; + + block_0DB1: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "All system alarms are currently inactive."; + goto block_24CC; + + block_0DE8: + if (msgNum != 83) goto block_0E40; + + block_0DF0: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Retrieving remote location security access.^* * * ^Access cleared."; + goto block_24CC; + + block_0E40: + if (msgNum != 84) goto block_0E8D; + + block_0E48: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security camera for level 4 firing range now activated."; + goto block_24CC; + + block_0E8D: + if (msgNum != 85) goto block_0EEC; + + block_0E95: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security camera for level 2 information and briefing center now activated"; + goto block_24CC; + + block_0EEC: + if (msgNum != 86) goto block_0F27; + + block_0EF4: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Level 1 Security Access now activated"; + goto block_24CC; + + block_0F27: + if (msgNum != 87) goto block_0F74; + + block_0F2F: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Phase Two of Three of Laser Beam deactivation initiated"; + goto block_24CC; + + block_0F74: + if (msgNum != 88) goto block_0FC3; + + block_0F7C: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Phase Three of Three of Laser Beam deactivation initiated"; + goto block_24CC; + + block_0FC3: + if (msgNum != 89) goto block_1002; + + block_0FCB: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Storage Facility Security now deactivated"; + goto block_24CC; + + block_1002: + if (msgNum != 90) goto block_1182; + + block_100A: + if (linkNum && passcode) goto block_1117; + + block_101B: + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^*End of Message <"; + goto block_117F; + + block_1117: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "The WEC T305i is currently off-line, and will not be back on-line until 0300 hours. WECTS^"; + + block_117F: + goto block_24CC; + + block_1182: + if (msgNum != 91) goto block_1279; + + block_118A: + if (linkNum && passcode) goto block_122E; + + block_119B: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ". Jassica"; + goto block_1276; + + block_122E: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^Remote Camera: ACTIVE** Schmooze Room"; + + block_1276: + goto block_24CC; + + block_1279: + if (msgNum != 92) goto block_13C1; + + block_1281: + if (linkNum && passcode) goto block_1370; + + block_1292: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "tomorrow or the next day. Ted"; + goto block_13BE; + + block_1370: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*^*WEC Detention Hall"; + + block_13BE: + goto block_24CC; + + block_13C1: + if (msgNum != 93) goto block_1420; + + block_13C9: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*^Office of Senator B. Pete"; + goto block_24CC; + + block_1420: + if (msgNum != 94) goto block_1634; + + block_1428: + if (linkNum && passcode) goto block_14EE; + + block_1439: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^*End of Message <"; + goto block_1631; + + block_14EE: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "To all Departmental Supervisors: According to new WEC Policy #7461, We are now requiring that all teleporters be deactivated during the new 16 hour work schedule. We believe that this will increase productivity, as we will be able to prohibit extraneous teleporting between the hours of 6:00am and 10:00pm. D."; + + block_1631: + goto block_24CC; + + block_1634: + if (msgNum != 95) goto block_1717; + + block_163C: + if (linkNum && passcode) goto block_167B; + + block_164D: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "*Security Shield *DEACTIVATED"; + goto block_1714; + + block_167B: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "To all Supervisors: Please keep in mind that no employees are to leave the building between the hours of 6:00am and 10:00pm Thank you. L.P."; + + block_1714: + goto block_24CC; + + block_1717: + if (msgNum != 96) goto block_1841; + + block_171F: + if (linkNum && passcode) goto block_177D; + + block_1730: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "*Security Shield *DEACTIVATED Please re-activate immediately"; + goto block_183E; + + block_177D: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Maire -^We've got to quit playing that experimental music over the system. It's only causing more troubles in my sector. Do you know if there's anything that can be done? Laura B."; + + block_183E: + goto block_24CC; + + block_1841: + if (msgNum != 97) goto block_1962; + + block_1849: + if (linkNum && passcode) goto block_1888; + + block_185A: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "*Security Shield *DEACTIVATED"; + goto block_195F; + + block_1888: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Laura - No, we can't stop that music. Draygan has made it a mandatory treatment to go along with those new glass barriers. I guess it's just some more of that mind control stuff he likes so much. Maire"; + + block_195F: + goto block_24CC; + + block_1962: + if (msgNum != 98) goto block_1B10; + + block_196A: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "OSI Writer, Ver 121.c^*The Tale of Rancid ^Rancid the swamprat was a big pain and especially fond of his wonderful drain. But rats of this sort should not boast quite like that, for just entering the sewer was a swampcat! With a growl and a hiss, the cat made his leap - and Rancid the swamprat ran back to his keep. A huffing and puffing, the swampcat did blow, but Rancid the swamprat knew where to go! "; + goto block_24CC; + + block_1B10: + if (msgNum != 99) goto block_1CE4; + + block_1B18: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "So up to the gutter, a few feet away, he ran and he ran, as the cat made his play, 'Forget this chasing, it's just not for me, a gun's more my style, and much easier you see,' And as he pulled the trigger, there was a huge flash, that smoked and caught fire, and singed that cats' ass! 'Ha Ha, Ha ha,' laughed swamprat, 'You are so fun! 'Cause not every cat can shoot a capgun!'*^hmmm...this is pretty bad. Maybe I won't send it to everyone..."; + goto block_24CC; + + block_1CE4: + if (msgNum != 100) goto block_1DCE; + + block_1CEC: + if (linkNum && passcode) goto block_1D7E; + + block_1CFD: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^ Alec"; + goto block_1DCB; + + block_1D7E: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*^Cloning Studio #1A"; + + block_1DCB: + goto block_24CC; + + block_1DCE: + if (msgNum != 101) goto block_1E27; + + block_1DD6: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*^Incubation Room #1A"; + goto block_24CC; + + block_1E27: + if (msgNum != 102) goto block_1F54; + + block_1E2F: + if (linkNum && passcode) goto block_1F06; + + block_1E40: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = " ^Alec"; + goto block_1F51; + + block_1F06: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*^Hatching Chamber"; + + block_1F51: + goto block_24CC; + + block_1F54: + if (msgNum != 103) goto block_1FAC; + + block_1F5C: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^Remote Camera: ACTIVE*^Incubation Room #2A"; + goto block_24CC; + + block_1FAC: + if (msgNum != 104) goto block_20AB; + + block_1FB4: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Dr. Rosillos,^I have good news about my latest endeavor. I now have several pods in the hatching chamber, and I believe they will soon reach their final term and be ready for testing within days.^^You should come see them. ^Gregor"; + goto block_24CC; + + block_20AB: + if (msgNum != 105) goto block_2182; + + block_20B3: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Guardsman on duty: ^Keep watch over the hatching chambers and Dr. Hoffman. Nothing is to happen to any of the new prototype Enforcers, or to Dr. Hoffman. Monitor him frequently.^Cptn. Quince"; + goto block_24CC; + + block_2182: + if (msgNum != 106) goto block_2256; + + block_218A: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Troopers: ^It is imperative that we maintain security in this area. My new experiment is in a delicate stage of development and simply cannot be disturbed. ^Thank you, ^Dr. Gregor Hoffman"; + goto block_24CC; + + block_2256: + if (msgNum != 107) goto block_23A7; + + block_225E: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Dr. Seiler - ^Greetings! I think our new weapon will prove to be fatal to those nasty rebels. I now have the equivalent to a small army nearing completion, and hope to unleash them very soon. I think they're my greatest creation yet. Isn't it fascinating what one can do with just a few tiny human cells? ^Gregor"; + goto block_24CC; + + block_23A7: + if (msgNum != 108) goto block_2476; + + block_23AF: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Guardsman on Duty: ^We are currently under alert due to suspected rebel activity in the area. Under no circumstance is there to be rebel infiltration of this installation.^Cpt. Ayers"; + goto block_24CC; + + block_2476: + if (msgNum != 109) goto block_24CC; + + block_247E: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*^Hatching Chamber"; + goto block_24CC; + + block_24CC: + /* strcmp */ + if "" goto block_2518; + + block_24DC: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Bad command or file name...^File is out of range."; + + block_2518: + goto block_2521; + + block_2521: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TEXTFIL2/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/TEXTFIL2/slot_20_slot_20.txt new file mode 100644 index 0000000..b32084f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TEXTFIL2/slot_20_slot_20.txt @@ -0,0 +1,681 @@ +function textfil2_slot_20() /* entry=401 class_id=0x0A1F slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + linkNum, /* [BP+0Ah] type=0x69 */ + msgNum, /* [BP+0Ch] type=0x69 */ + passcode, /* [BP+0Eh] type=0x69 */ + textFile; /* [BP-02h] type=0x73 */ + + entry: + if (msgNum != 110) goto block_0155; + + block_00F0: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WARNING:^The laser field has been deactivated for thirty seconds. ^*End of Message <"; + goto block_260D; + + block_0155: + if (msgNum != 111) goto block_0237; + + block_015D: + if (linkNum && passcode) goto block_0210; + + block_016E: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^*End of Message <"; + goto block_0234; + + block_0210: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Kimball Research Facility"; + + block_0234: + goto block_260D; + + block_0237: + if (msgNum != 112) goto block_0339; + + block_023F: + if (linkNum && passcode) goto block_0312; + + block_0250: + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Priority RED alert issued. "; + goto block_0336; + + block_0312: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Kimball Research Facility"; + + block_0336: + goto block_260D; + + block_0339: + if (msgNum != 113) goto block_03DB; + + block_0341: + if (linkNum && passcode) goto block_03B4; + + block_0352: + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = Item.andStatus(passcode); + goto block_03D8; + + block_03B4: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Kimball Research Facility"; + + block_03D8: + goto block_260D; + + block_03DB: + if (msgNum != 114) goto block_0464; + + block_03E3: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^*End of Message <"; + goto block_260D; + + block_0464: + if (msgNum != 115) goto block_04CD; + + block_046C: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^**Message <"; + goto block_260D; + + block_04CD: + if (msgNum != 116) goto block_0596; + + block_04D5: + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = Item.andStatus(passcode); + goto block_260D; + + block_0596: + if ((msgNum != 116) || (msgNum != 117)) goto block_069E; + + block_05A4: + if (linkNum && passcode) goto block_0676; + + block_05B5: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^^J.F.S"; + goto block_069B; + + block_0676: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Kimball Research Facility^"; + + block_069B: + goto block_260D; + + block_069E: + if (msgNum != 118) goto block_06F7; + + block_06A6: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Force field^blocking access^to telepad 5 ^has been deactivated. "; + goto block_260D; + + block_06F7: + if (msgNum != 119) goto block_0739; + + block_06FF: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Access to^restricted area^has been granted. "; + goto block_260D; + + block_0739: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Bad command or file name...^File is out of range."; + if (msgNum != 120) goto block_08C7; + + block_077D: + if (linkNum && passcode) goto block_089F; + + block_078E: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^*End of Message <"; + goto block_08C4; + + block_089F: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "The OWP Research Facility^"; + + block_08C4: + goto block_260D; + + block_08C7: + if (msgNum != 121) goto block_094F; + + block_08CF: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "OWP Operations:^____________________^Now interfacing with remote service droid...*^Unit ZC90201^^Now *-ONLINE-."; + goto block_260D; + + block_094F: + if (msgNum != 122) goto block_09D7; + + block_0957: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "OWP Operations:^____________________^Now interfacing with remote service droid...*^Unit MXZ2391^^Now *-ONLINE-."; + goto block_260D; + + block_09D7: + if ((msgNum != 123) || (msgNum != 124)) goto block_0A0D; + + block_09E5: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "The OWP Research Facility^"; + goto block_260D; + + block_0A0D: + if (msgNum != 125) goto block_0A48; + + block_0A15: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Maximum Security Systems:^*Activated."; + goto block_260D; + + block_0A48: + if ((((msgNum != 126) || (msgNum != 127)) || (msgNum != 0x0080)) || (msgNum != 0x0081)) goto block_0BAF; + + block_0A64: + if (linkNum && passcode) goto block_0B87; + + block_0A75: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".*End of Message <"; + goto block_0BAC; + + block_0B87: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "The OWP Research Facility^"; + + block_0BAC: + goto block_260D; + + block_0BAF: + if (msgNum != 0x0082) goto block_0BE7; + + block_0BB8: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Draygan Correctional Institution^"; + goto block_260D; + + block_0BE7: + if (msgNum != 0x0083) goto block_0C13; + + block_0BF0: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Surveillance Central^"; + goto block_260D; + + block_0C13: + if (msgNum != 0x0084) goto block_0C5C; + + block_0C1C: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Maximum Security Surveillance Tower^Open Access"; + goto block_260D; + + block_0C5C: + if (msgNum != 0x0085) goto block_0C93; + + block_0C65: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Enforcer Barracks^Open Access"; + goto block_260D; + + block_0C93: + if (msgNum != 0x0086) goto block_0CEE; + + block_0C9C: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Draygan Correctional Institution^Maximum Security Cell: 1^*Secure"; + goto block_260D; + + block_0CEE: + if (msgNum != 0x0087) goto block_0D17; + + block_0CF7: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Lift: *^ACTIVATED^"; + goto block_260D; + + block_0D17: + if (msgNum != 0x0088) goto block_0D46; + + block_0D20: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Force Wall De-activated^"; + goto block_260D; + + block_0D46: + if (msgNum != 0x0089) goto block_0DAF; + + block_0D4F: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Draygan Correctional Institution^Maximum Security Cell: 1^*Security deactivated"; + goto block_260D; + + block_0DAF: + if (msgNum != 0x008A) goto block_0DFA; + + block_0DB8: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Receiving WEC transmision^Establishing vid-link**"; + goto block_260D; + + block_0DFA: + if (msgNum != 0x008B) goto block_0E32; + + block_0E03: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Draygan Correctional Institution^"; + goto block_260D; + + block_0E32: + if (msgNum != 0x008C) goto block_0E81; + + block_0E3B: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Door is now ajar.^ Have a nice day.^*End of Message <"; + goto block_260D; + + block_0E81: + if (msgNum != 0x008D) goto block_0F1C; + + block_0E8A: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Welcome to:^ The Asylum BBS^^ ///^ o o^ --m--U--m--^ |Your Sysop:|^ | E--- |^ ----------- ^ / &^ ~ ~^"; + goto block_260D; + + block_0F1C: + if (msgNum != 0x008E) goto block_0F5E; + + block_0F25: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "The power to the electric walls is now off."; + goto block_260D; + + block_0F5E: + if (msgNum != 0x008F) goto block_0F91; + + block_0F67: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Electric walls re-activated."; + goto block_260D; + + block_0F91: + if (msgNum != 0x0090) goto block_1021; + + block_0F9A: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^*End of Message <"; + goto block_260D; + + block_1021: + if (msgNum != 0x0091) goto block_10E6; + + block_102A: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^*End of Message <"; + goto block_260D; + + block_10E6: + if (msgNum != 0x0092) goto block_1196; + + block_10EF: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^*End of Message <"; + goto block_260D; + + block_1196: + if (msgNum != 0x0093) goto block_1210; + + block_119F: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WARNING:^Computer Security Failure.^Alerting all guards and security systems.^^*End of Message <"; + goto block_260D; + + block_1210: + if (msgNum != 0x0095) goto block_1289; + + block_1219: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^*End of Message <"; + goto block_260D; + + block_1289: + if (msgNum != 0x0094) goto block_12C7; + + block_1292: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Welcome to Hell.^Here comes the Cheese!"; + goto block_260D; + + block_12C7: + if (msgNum != 0x0096) goto block_13AB; + + block_12D0: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "disloyal workers from gaining weapons! ^"; + goto block_260D; + + block_13AB: + if (msgNum != 0x0097) goto block_148C; + + block_13B4: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "possible assassins from gaining access!"; + goto block_260D; + + block_148C: + if (msgNum != 0x0098) goto block_151C; + + block_1495: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel ^Droid Manual Overide:*^Networking to **Overide of servomech confirmed...^*^*Happy Hunting..."; + goto block_260D; + + block_151C: + if (msgNum != 0x0099) goto block_15F0; + + block_1525: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel Network Base:^^Alpha Alarm Overide...Alarms triggered in this area were a result of a substandard networking interface.^Area is secured. No threats or breaches reported.*"; + goto block_260D; + + block_15F0: + if (msgNum != 0x009A) goto block_16B3; + + block_15F9: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Though there is no need for panic, everyone must head for the nearest life pod by which to evacuate the space station.^Obey WEC protocol. Congressmen and Senators first!"; + goto block_260D; + + block_16B3: + if (msgNum != 0x009B) goto block_1777; + + block_16BC: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel: ^Auxiliary Command Terminal.^Force field control system.^Field will remain intact, unless auxiliary code is *NOT re-entered via Primary Command terminal."; + goto block_260D; + + block_1777: + if (msgNum != 0x009C) goto block_181F; + + block_1780: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Command Terminal:^Due to Security Level Alpha ^the engineering defenses are now active.^*For safety, keep a 10 meter distance from blast area."; + goto block_260D; + + block_181F: + if (msgNum != 0x009D) goto block_189D; + + block_1828: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^Auxiliary Command Terminal.^*Netlink connected to barracks 1029-B.^*Accessing connecting passage..."; + goto block_260D; + + block_189D: + if (msgNum != 0x009E) goto block_1937; + + block_18A6: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^Auxiliary Command Terminal.^*Netlink connected to Engineering Nine.^*Passcode: 512-555-2788...^*Accessing connecting passage..."; + goto block_260D; + + block_1937: + if (msgNum != 0x009F) goto block_19DA; + + block_1940: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^Auxiliary Command Terminal:^Due to high levels of radioactive output, excessive durations within the containment room are not advisable."; + goto block_260D; + + block_19DA: + if (msgNum != 0x00A0) goto block_1A4B; + + block_19E3: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^Alternate^Security^System^^Remote Vetron:*.*.*. ALL SYSTEMS ACTIVE"; + goto block_260D; + + block_1A4B: + if (msgNum != 0x00A1) goto block_1B7E; + + block_1A54: + if (linkNum && passcode) goto block_1B2D; + + block_1A65: + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Remember, keep it to yourself!"; + goto block_1B7B; + + block_1B2D: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*^Incubation Room #3A"; + + block_1B7B: + goto block_260D; + + block_1B7E: + if (msgNum != 0x00A2) goto block_1CD0; + + block_1B87: + if (linkNum && passcode) goto block_1C7F; + + block_1B98: + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Norma"; + goto block_1CCD; + + block_1C7F: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*^Incubation Room #4A"; + + block_1CCD: + goto block_260D; + + block_1CD0: + if (msgNum != 0x00A3) goto block_1D32; + + block_1CD9: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*^BioWaste Reclamation Center"; + goto block_260D; + + block_1D32: + if (msgNum != 0x00A4) goto block_1E4C; + + block_1D3B: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "."; + goto block_260D; + + block_1E4C: + if (msgNum != 0x00A5) goto block_1EE0; + + block_1E55: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Audrey, Please come to my private chamber. I've got a new, larger specimen to show you. You will be most pleased! - Greggy"; + goto block_260D; + + block_1EE0: + if (msgNum != 0x00A6) goto block_1F59; + + block_1EE9: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Accessing Security Com 2341 ^*Please Wait ^Security Shields Down ^*Chrysalis Chambers Now Open "; + goto block_260D; + + block_1F59: + if (msgNum != 0x00A7) goto block_1FE4; + + block_1F62: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "From: M. Galway^To: R. Renteria^You're not cool enough to to have Sonex panels. Return them immediately! Or else!"; + goto block_260D; + + block_1FE4: + if (msgNum != 0x00AA) goto block_2058; + + block_1FED: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "From: DSNELL^______________^*You're Fired!^*^*^Turn in your badge and collect your things!"; + goto block_260D; + + block_2058: + if (msgNum != 0x00AB) goto block_2136; + + block_2061: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel:^______________^Due to a possible infiltrator in the refinery, Alpha level will remain in effect.All high clearance areas will only be accessible via the network. ^"; + goto block_260D; + + block_2136: + if (msgNum != 0x00AC) goto block_221F; + + block_213F: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^It would serve them right if the rebels got in here..."; + goto block_260D; + + block_221F: + if (msgNum != 0x00AD) goto block_22D2; + + block_2228: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC Central Co*mma*@^#$%.*.*.*^^RESISTNET: *^Welcome, Rebel...^We have hidden some items for you in the safe.^Keep up the good work...^ The Designers"; + goto block_260D; + + block_22D2: + if (msgNum != 0x00AE) goto block_236B; + + block_22DB: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Refinery Operations:^____________________^Now interfacing with remote service droid...*^^^Unit is now *-ONLINE-."; + goto block_260D; + + block_236B: + if (msgNum != 0x00AF) goto block_23CD; + + block_2374: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Operations:^____________________^Lithium Power Core*^Level Nine"; + goto block_260D; + + block_23CD: + if (msgNum != 0x00B0) goto block_2439; + + block_23D6: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "SATELLITE TARGETING:^____________________*^^Weapons Operations^Level Seven"; + goto block_260D; + + block_2439: + if (msgNum != 0x00B4) goto block_2492; + + block_2442: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel:^________________^*Production Line^*"; + goto block_260D; + + block_2492: + if (msgNum != 0x00B6) goto block_24FB; + + block_249B: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel:^________________^*Production Line Force Barrier^*"; + goto block_260D; + + block_24FB: + if (msgNum != 0x00BE) goto block_258B; + + block_2504: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "NOTICE:^The impassable laser field has been activated. The laser fields must be reactivated after use.^*End of Message"; + goto block_260D; + + block_258B: + if (msgNum != 0x00E2) goto block_25D1; + + block_2594: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*"; + goto block_260D; + + block_25D1: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Bad command or file name...^File is out of range."; + + block_260D: + /* strcmp */ + if "" goto block_2659; + + block_261D: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Bad command or file name...^File is out of range."; + + block_2659: + goto block_2662; + + block_2662: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TEXTFILE/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/TEXTFILE/slot_20_slot_20.txt new file mode 100644 index 0000000..842e914 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TEXTFILE/slot_20_slot_20.txt @@ -0,0 +1,8 @@ +function textfile_slot_20() /* entry=393 class_id=0x0A17 slot=0x20 */ +{ + entry: + /* param_pid_chg bp_offset=0xA target=[BP+0Ah] copy_type=0x1 */ + set_info(0x0001, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TEXTFILE/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/TEXTFILE/slot_21_slot_21.txt new file mode 100644 index 0000000..382d667 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TEXTFILE/slot_21_slot_21.txt @@ -0,0 +1,35 @@ +function textfile_slot_21() /* entry=393 class_id=0x0A17 slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + linkNum, /* [BP+0Ah] type=0x69 */ + msgNum; /* [BP+0Ch] type=0x69 */ + + entry: + if (msgNum >= 110) goto block_0167; + + block_014D: + class_0A1F_slot_20(0, msgNum, linkNum, arg_06); + goto block_01A6; + + block_0164: + goto block_01A6; + + block_0167: + if (msgNum >= 60) goto block_018F; + + block_0175: + class_0A1D_slot_20(0, msgNum, linkNum, arg_06); + goto block_01A6; + + block_018C: + goto block_01A6; + + block_018F: + class_0A17_slot_23(0, msgNum, linkNum, arg_06); + goto block_01A6; + + block_01A6: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TEXTFILE/slot_22_slot_22.txt b/USECODE/EUSECODE_extracted/pseudocode/TEXTFILE/slot_22_slot_22.txt new file mode 100644 index 0000000..f00f330 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TEXTFILE/slot_22_slot_22.txt @@ -0,0 +1,35 @@ +function textfile_slot_22() /* entry=393 class_id=0x0A17 slot=0x22 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + class_0A0C_slot_2B(vel, ref); + if retval goto block_0292; + + block_01F8: + if (Item.getMapNum(arg_06) != 0) goto block_0292; + + block_020A: + if (Item.getFrame(arg_06) != 0) goto block_024E; + + block_0219: + spawn class_0A1E_slot_28(pid, 0, 0, arg_06); + suspend; + goto block_0292; + + block_024E: + if (Item.getFrame(arg_06) != 1) goto block_0292; + + block_025D: + spawn class_0A1E_slot_28(pid, 0, 0, arg_06); + suspend; + goto block_0292; + + block_0292: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TEXTFILE/slot_23_slot_23.txt b/USECODE/EUSECODE_extracted/pseudocode/TEXTFILE/slot_23_slot_23.txt new file mode 100644 index 0000000..d4ec924 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TEXTFILE/slot_23_slot_23.txt @@ -0,0 +1,566 @@ +function textfile_slot_23() /* entry=393 class_id=0x0A17 slot=0x23 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + linkNum, /* [BP+0Ah] type=0x69 */ + msgNum, /* [BP+0Ch] type=0x69 */ + passcode, /* [BP+0Eh] type=0x69 */ + textFile, /* [BP-02h] type=0x73 */ + rnge; /* [BP-04h] type=0x69 */ + + entry: + if (msgNum >= 110) goto block_02EB; + + block_02D1: + class_0A1F_slot_20(passcode, msgNum, linkNum, arg_06); + goto block_24DD; + + block_02E8: + goto block_0313; + + block_02EB: + if (msgNum >= 60) goto block_0313; + + block_02F9: + class_0A1D_slot_20(passcode, msgNum, linkNum, arg_06); + goto block_24DD; + + block_0310: + goto block_0313; + + block_0313: + if (msgNum != 0) goto block_0967; + + block_031B: + rnge = Intrinsic00DA(11, 1); + if (rnge != 1) goto block_03C9; + + block_0333: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Due to recent rebel activity, the T-300 lines have failed. *^Do NOT attempt to access the WEC network at this time.^END OF MESSAGE..."; + goto block_0964; + + block_03C9: + if (rnge != 2) goto block_0462; + + block_03D1: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "The use of WEC equipment for playing computerized entertainment software is strictly prohibited!* Return to work IMMEDIATELY!***"; + goto block_0964; + + block_0462: + if (rnge != 3) goto block_04E9; + + block_046A: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "All workers must display their badges at ALL TIMES!* Failure to comply will result in immediate termination!*^"; + goto block_0964; + + block_04E9: + if (rnge != 4) goto block_0591; + + block_04F1: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Report all unauthorized use of WEC equipment immediately! Remember, your co-workers could be rebel sympathizers! Collect big cash rewards too!*"; + goto block_0964; + + block_0591: + if (rnge != 5) goto block_0667; + + block_0599: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Unauthorized access of this terminal constitutes a violation of WEC security code 1701-D. Please report yourself to the nearest WEC security officer for correctional measures IMMEDIATELY.*^"; + goto block_0964; + + block_0667: + if (rnge != 6) goto block_06D8; + + block_066F: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "The WEC network is exp*erien^*cing*^ slight dif^*ficulties.^Please st$#@**%^#@!*)(*^%$#^"; + goto block_0964; + + block_06D8: + if (rnge != 7) goto block_07A0; + + block_06E0: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "The carrying of unregistered radiation detection devices is strictly prohibited by the WEC. Register yours today. Remember, the WEC is just like family, and we care about you!"; + goto block_0964; + + block_07A0: + if (rnge != 8) goto block_07D6; + + block_07A8: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC T-300/SYS out of disk space^"; + goto block_0964; + + block_07D6: + if (rnge != 9) goto block_0865; + + block_07DE: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Consortium-wide meeting tomorrow at 1330. WedgeRoom 1501. This is a mandatory meeting! All Branch Leaders must attend!"; + goto block_0964; + + block_0865: + if (rnge != 10) goto block_090B; + + block_086D: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "The WEC Regulatory Commission requires reports of your daily activities. Failure to submit these reports may result in immediate termination."; + goto block_0964; + + block_090B: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "The WEC network is experiencing slight difficulties.^Please stand by*.*.*.^"; + + block_0964: + goto block_24D4; + + block_0967: + if (msgNum != 1) goto block_0995; + + block_096F: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Doors have been opened.^"; + goto block_24D4; + + block_0995: + if (msgNum != 2) goto block_09C4; + + block_099D: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Force field deactivated.^"; + goto block_24D4; + + block_09C4: + if (msgNum != 3) goto block_09F6; + + block_09CC: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Electronic bridge extended.^"; + goto block_24D4; + + block_09F6: + if (msgNum != 4) goto block_0A28; + + block_09FE: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security systems activated.^"; + goto block_24D4; + + block_0A28: + if (msgNum != 5) goto block_0A5D; + + block_0A30: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security systems de-activated.^"; + goto block_24D4; + + block_0A5D: + if ((((msgNum != 6) || (msgNum != 7)) || (msgNum != 8)) || (msgNum != 9)) goto block_0AAF; + + block_0A77: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "All alarm systems have been de-activated.^"; + goto block_24D4; + + block_0AAF: + if (msgNum != 10) goto block_0B7C; + + block_0AB7: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^Remember, delete this message! Spies are everywhere!"; + goto block_24D4; + + block_0B7C: + if (msgNum != 11) goto block_0BF1; + + block_0B84: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel HQD^___________________^*^Accessing system:*.*.*.*^^Thresher Cannon: *ACTIVE"; + goto block_24D4; + + block_0BF1: + if (msgNum != 12) goto block_0CB1; + + block_0BF9: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "To all Refinery Ops^2nd Class Tech Stokes has once again started a fire in the thermalcoupler area.^We ask again that all employees smoke only in the authorized areas."; + goto block_24D4; + + block_0CB1: + if (msgNum != 13) goto block_0D59; + + block_0CB9: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "To all Refinery Ops^3rd Class Tech Brandt has contaminated the fifth level with dangerous^plutonium isotopes again. Be careful where you step.^"; + goto block_24D4; + + block_0D59: + if (msgNum != 14) goto block_0DEA; + + block_0D61: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel:^________________^Remote viewing facility.^*Thermal Coupler power system.^^Watch Station: ^*"; + goto block_24D4; + + block_0DEA: + if (msgNum != 15) goto block_0E85; + + block_0DF2: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Refinery Operations:^____________________^Now interfacing with remote service droid...*^Thermatron ZC90201^^Unit is now *-ONLINE-."; + goto block_24D4; + + block_0E85: + if (msgNum != 16) goto block_0F00; + + block_0E8D: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel: ^^Remote alarm panel^User ID ^*^Area is secured:*^Stand down from alert."; + goto block_24D4; + + block_0F00: + if (msgNum != 17) goto block_0F6C; + + block_0F08: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel:^__________________^Remote Operations^Watch Station: ^*"; + goto block_24D4; + + block_0F6C: + if (msgNum != 18) goto block_10A9; + + block_0F74: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = " is this week's passcode."; + goto block_24D4; + + block_10A9: + if (msgNum != 19) goto block_118F; + + block_10B1: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^This is the last time, Philbert!^"; + goto block_24D4; + + block_118F: + if (msgNum != 20) goto block_1200; + + block_1197: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "NOTICE:^^To: All Personnel^Please remember to keep your keycards with you at all times.^"; + goto block_24D4; + + block_1200: + if (msgNum != 21) goto block_1278; + + block_1208: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel: ^Operations Center.^User ID T*Z*1*6*^^Area is secured:*^Stand down from Alert."; + goto block_24D4; + + block_1278: + if (msgNum != 22) goto block_1342; + + block_1280: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel: ^Operations Center.*^User ID T*Z*1*6*^^Due to malfunctions within the security grid, the telepad is inoperative. Please use the backup telepad in the west wing."; + goto block_24D4; + + block_1342: + if (msgNum != 25) goto block_1396; + + block_134A: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Phase one of the impassable laser field has been de-activated."; + goto block_24D4; + + block_1396: + if (msgNum != 27) goto block_1425; + + block_139E: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^*End of Message <"; + goto block_24D4; + + block_1425: + if (((((msgNum != 23) || (msgNum != 24)) || (msgNum != 26)) || (msgNum != 28)) || (msgNum != 29)) goto block_1471; + + block_1445: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Mission 2 Generic Message 0-9^"; + goto block_24D4; + + block_1471: + if (msgNum != 30) goto block_1528; + + block_1479: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ".^*End of Message <"; + goto block_24D4; + + block_1528: + if (msgNum != 31) goto block_15BD; + + block_1530: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Thermatron Assembly Line:^_____________^Now interfacing with remote droid *.*.*.^ VTK944^^Unit is now *-ONLINE-."; + goto block_24D4; + + block_15BD: + if (msgNum != 32) goto block_1600; + + block_15C5: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Thermatron Manufacturing Plant:^_____________"; + goto block_24D4; + + block_1600: + if (msgNum != 33) goto block_166F; + + block_1608: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Refinery Operations:^____________^Remote viewing facility.^*Restricted Access*^Granted"; + goto block_24D4; + + block_166F: + if (msgNum != 34) goto block_16E2; + + block_1677: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel:^________________^Remote viewing facility.^*Production Line^*"; + goto block_24D4; + + block_16E2: + if (msgNum != 35) goto block_176C; + + block_16EA: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel:^________________^*Auxiliary Production Line^*^Shut down requires Security Card Clearance"; + goto block_24D4; + + block_176C: + if (msgNum != 36) goto block_17B0; + + block_1774: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Thermatron Auxiliary Production Line:^________"; + goto block_24D4; + + block_17B0: + if (msgNum != 37) goto block_1806; + + block_17B8: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel:^________________^*Laser Field^*"; + goto block_24D4; + + block_1806: + if (msgNum != 38) goto block_18A0; + + block_180E: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel:^________________^Remote viewing facility.^*Laser Field^*^Security card clearance required to de-activate"; + goto block_24D4; + + block_18A0: + if (msgNum != 39) goto block_196F; + + block_18A8: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^Memorize the code and delete this message immediately! <"; + goto block_24D4; + + block_196F: + if (msgNum != 40) goto block_19C5; + + block_1977: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel:^________________^*Laser Field^*"; + goto block_24D4; + + block_19C5: + if (msgNum != 41) goto block_1A54; + + block_19CD: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Remote Security Op:^_____________^Now interfacing with remote droid *.*.*.^ ATK656^^Unit is now *-ONLINE-."; + goto block_24D4; + + block_1A54: + if (msgNum != 42) goto block_1AAA; + + block_1A5C: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^Security Control:^_______________^^*Laser Field^*"; + goto block_24D4; + + block_1AAA: + if (msgNum != 43) goto block_1B1F; + + block_1AB2: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel HQD^___________________^*^Accessing system:*.*.*.*^^Thresher Cannon: *ACTIVE"; + goto block_24D4; + + block_1B1F: + if (msgNum != 44) goto block_1BB3; + + block_1B27: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Security Cartel HQD^___________________^*^Accessing system:*.*.*.*^^SORC Monitoring station security field:^^*"; + goto block_24D4; + + block_1BB3: + if (msgNum != 45) goto block_1C6F; + + block_1BBB: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^^Spies are everywhere so be alert!"; + goto block_24D4; + + block_1C6F: + if (msgNum != 46) goto block_1DFD; + + block_1C77: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^* WEC Email^^To: Prof. Coulson^^From: Sev Dorren,^Security Chief^^Professor, I have installed a force-field at the entrance to the SORC station as you instructed. If there is anything further required please let me know. ^PS: The only way to access the force-field is through the central computer, so I am sure it will be quite safe from any saboteurs. .^*End of Message <"; + goto block_24D4; + + block_1DFD: + if (msgNum != 47) goto block_1EBF; + + block_1E05: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "^*End of Message <"; + goto block_24D4; + + block_1EBF: + if (msgNum != 48) goto block_1F13; + + block_1EC7: + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = Item.hurl(passcode); + goto block_24D4; + + block_1F13: + if (msgNum != 49) goto block_1F62; + + block_1F1B: + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = Item.hurl(passcode); + goto block_24D4; + + block_1F62: + if (msgNum != 50) goto block_2069; + + block_1F6A: + if (linkNum && passcode) goto block_202C; + + block_1F7B: + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = ". J.J."; + goto block_2066; + + block_202C: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*"; + + block_2066: + goto block_24D4; + + block_2069: + if (msgNum != 52) goto block_217A; + + block_2071: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Dr. Watson:^Since we no longer produce the 37x18 Chip at the Snell Memorial Science Center, you can expect to receive the remaining chips for meltdown this afternoon. See that no chips find their way out of your facility.^L. Probst^End of Message <"; + goto block_24D4; + + block_217A: + if (msgNum != 53) goto block_225D; + + block_2182: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Ms. Ashcraft - *It has come to my attention that you have had problems with your platform elevator. Just put an Out of Order sign on it, and I'll send a maintenance worker out to fix it A.S.A.P. Larson "; + goto block_24D4; + + block_225D: + if (msgNum != 54) goto block_22B3; + + block_2265: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*^M.E.L.F. Station"; + goto block_24D4; + + block_22B3: + if (msgNum != 56) goto block_2313; + + block_22BB: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: *ACTIVE^Teleporter Room^Level Four"; + goto block_24D4; + + block_2313: + if (msgNum != 57) goto block_2370; + + block_231B: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^^Remote Camera: ACTIVE*^Security System^*ACTIVE"; + goto block_24D4; + + block_2370: + if (msgNum != 58) goto block_24D4; + + block_2378: + if (linkNum && passcode) goto block_2469; + + block_2389: + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "Now you can store your very own load!"; + goto block_24D1; + + block_2469: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = "WEC SECURITY SYSTEM:^Remote Camera: ACTIVE*^Security System^*ACTIVE^Forcefield Deactivated"; + + block_24D1: + goto block_24D4; + + block_24D4: + goto block_24DD; + + block_24DD: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/THERM/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/THERM/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..432f62a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/THERM/slot_0F_enterFastArea.txt @@ -0,0 +1,13 @@ +function therm_enterFastArea() /* entry=69 class_id=0x0167 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_010C; + + block_00FE: + + block_010C: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/THERMATR/slot_0E_calledFromAnim.txt b/USECODE/EUSECODE_extracted/pseudocode/THERMATR/slot_0E_calledFromAnim.txt new file mode 100644 index 0000000..a110a9e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/THERMATR/slot_0E_calledFromAnim.txt @@ -0,0 +1,15 @@ +function thermatr_calledFromAnim() /* entry=181 class_id=0x0338 slot=0x0E */ +{ + var + referent, /* [BP+00h] type=0x69 */ + n; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + n = *(arg_06); + set_info(1, 0); + spawn class_0A1C_slot_20(Item.getQLo(arg_06), *(arg_06), arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/THRMBCKE/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/THRMBCKE/slot_0A_equip.txt new file mode 100644 index 0000000..b4db600 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/THRMBCKE/slot_0A_equip.txt @@ -0,0 +1,96 @@ +function thrmbcke_equip() /* entry=325 class_id=0x0567 slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + ewall, /* [BP-02h] type=0x24 */ + therma, /* [BP-04h] type=0x24 */ + a, /* [BP-06h] type=0x69 */ + b; /* [BP-08h] type=0x69 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if var goto block_0344; + + block_00F3: + + block_010D: + if Item.touch(4, arg_06) goto block_0147; + + block_011E: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_010D; + + block_0147: + + block_0154: + if Item.touch(4, arg_06) goto block_018E; + + block_0165: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0154; + + block_018E: + + block_019B: + if Item.touch(4, arg_06) goto block_01D5; + + block_01AC: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_019B; + + block_01D5: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_020F: + if condition goto block_022E; + + block_0212: + /* loopnext */ + goto block_020F; + + block_022E: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFC string_bytes=0xA loop_type=0x2 */ + + block_0256: + if condition goto block_0342; + + block_0259: + if (Item.getQLo(therma) != Item.getNpcNum(arg_06)) goto block_033E; + + block_0275: + b = 3; + if (Intrinsic0029() > 2) goto block_0297; + + block_028D: + a = 10; + goto block_029E; + + block_0297: + a = 5; + + block_029E: + spawn class_0A0C_slot_32(pid, 40, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0344; + + block_033E: + /* loopnext */ + goto block_0256; + + block_0342: + + block_0344: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/THRMBCKN/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/THRMBCKN/slot_0A_equip.txt new file mode 100644 index 0000000..c829163 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/THRMBCKN/slot_0A_equip.txt @@ -0,0 +1,96 @@ +function thrmbckn_equip() /* entry=324 class_id=0x0566 slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + ewall, /* [BP-02h] type=0x24 */ + therma, /* [BP-04h] type=0x24 */ + a, /* [BP-06h] type=0x69 */ + b; /* [BP-08h] type=0x69 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if var goto block_0344; + + block_00F3: + + block_010D: + if Item.touch(4, arg_06) goto block_0147; + + block_011E: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_010D; + + block_0147: + + block_0154: + if Item.touch(4, arg_06) goto block_018E; + + block_0165: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0154; + + block_018E: + + block_019B: + if Item.touch(4, arg_06) goto block_01D5; + + block_01AC: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_019B; + + block_01D5: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_020F: + if condition goto block_022E; + + block_0212: + /* loopnext */ + goto block_020F; + + block_022E: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFC string_bytes=0xA loop_type=0x2 */ + + block_0256: + if condition goto block_0342; + + block_0259: + if (Item.getQLo(therma) != Item.getNpcNum(arg_06)) goto block_033E; + + block_0275: + b = 3; + if (Intrinsic0029() > 2) goto block_0297; + + block_028D: + a = 10; + goto block_029E; + + block_0297: + a = 5; + + block_029E: + spawn class_0A0C_slot_32(pid, 40, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0344; + + block_033E: + /* loopnext */ + goto block_0256; + + block_0342: + + block_0344: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TIMER/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/TIMER/slot_0A_equip.txt new file mode 100644 index 0000000..925fa71 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TIMER/slot_0A_equip.txt @@ -0,0 +1,27 @@ +function timer_equip() /* entry=271 class_id=0x04C9 slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A != 1) goto block_01E1; + + block_01BA: + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_01DE; + + block_01D0: + spawn class_04C9_slot_20(arg_06); + + block_01DE: + goto block_01FE; + + block_01E1: + if (arg_0A != 0) goto block_01FE; + + block_01EC: + /* bit_not */ + goto block_01FE; + + block_01FE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TIMER/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/TIMER/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..266c10c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TIMER/slot_0F_enterFastArea.txt @@ -0,0 +1,17 @@ +function timer_enterFastArea() /* entry=271 class_id=0x04C9 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Intrinsic00FB(arg_06) & 2) goto block_0127; + + block_0103: + if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_0127; + + block_0119: + spawn class_04C9_slot_20(arg_06); + + block_0127: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TIMER/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/TIMER/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..16409b4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TIMER/slot_10_leaveFastArea.txt @@ -0,0 +1,17 @@ +function timer_leaveFastArea() /* entry=271 class_id=0x04C9 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + if (Intrinsic00FB(arg_06) & 4) goto block_0185; + + block_0163: + if (Item.getStatus(arg_06) & 0x1000) goto block_0185; + + block_0176: + /* bit_not */ + + block_0185: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TIMER/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/TIMER/slot_20_slot_20.txt new file mode 100644 index 0000000..bce26e1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TIMER/slot_20_slot_20.txt @@ -0,0 +1,55 @@ +function timer_slot_20() /* entry=271 class_id=0x04C9 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + cmd, /* [BP-02h] type=0x69 */ + time, /* [BP-04h] type=0x69 */ + phase2, /* [BP-06h] type=0x69 */ + a, /* [BP-08h] type=0x69 */ + l1, /* [BP-0Ch] type=0x64 */ + l2, /* [BP-10h] type=0x64 */ + l3; /* [BP-14h] type=0x64 */ + + set_info(1, 0); + time = ((Item.getMapNum(arg_06) * 0x0100) + Item.andStatus(arg_06)); + if ((time != 0)) { + cmd = Intrinsic00FB(arg_06); + a = (cmd / 32); + if (a == 0) { + phase2 = 0; + } + else if (a == 1) { + phase2 = 10; + } + else if (a == 2) { + phase2 = 25; + } + else if (a == 3) { + phase2 = 40; + } + else if (a == 4) { + phase2 = 50; + } + else if (a == 5) { + phase2 = 60; + } + else if (a == 6) { + phase2 = 75; + } + else if (a == 7) { + phase2 = 90; + } + /* word_to_dword */ + l1 = time; + /* word_to_dword */ + l2 = phase2; + l1 = (l1 * l2); + /* word_to_dword */ + l3 = 100; + l1 = (l1 / l3); + /* dword_to_word */ + phase2 = l1; + time = (time - phase2); + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRANSFOR/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/TRANSFOR/slot_06_gotHit.txt new file mode 100644 index 0000000..b38fbf6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRANSFOR/slot_06_gotHit.txt @@ -0,0 +1,67 @@ +function transfor_gotHit() /* entry=94 class_id=0x01BF slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + damagePoints, /* [BP-04h] type=0x69 */ + item; /* [BP-06h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + fram = Item.getFrame(arg_06); + if (fram > 0) goto block_0158; + + block_0152: + goto block_02BA; + + block_0158: + class_0A0C_slot_2B(vel, ref); + damagePoints = retval; + class_0A0C_slot_2B(vel, ref); + if (!retval) goto block_0185; + + block_017F: + goto block_02BA; + + block_0185: + if ((Npc.isDead(arg_06) + damagePoints) < 100) goto block_01F0; + + block_01A0: + class_0A0C_slot_20(10); + if (retval > 5) goto block_01DD; + + block_01CD: + goto block_01EA; + + block_01DD: + + block_01EA: + goto block_02BA; + + block_01F0: + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x42 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */ + + block_026D: + if condition goto block_027F; + + block_0270: + /* loopnext */ + goto block_026D; + + block_027F: + if (Item.getMapNum(arg_06) != 0) goto block_02BA; + + block_0293: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_02BA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRANSFOR/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/TRANSFOR/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..c1994a7 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRANSFOR/slot_0F_enterFastArea.txt @@ -0,0 +1,13 @@ +function transfor_enterFastArea() /* entry=94 class_id=0x01BF slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) goto block_010C; + + block_00FE: + + block_010C: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGEGG/slot_07_hatch.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGEGG/slot_07_hatch.txt new file mode 100644 index 0000000..a87cd63 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGEGG/slot_07_hatch.txt @@ -0,0 +1,19 @@ +function trigegg_hatch() /* entry=340 class_id=0x0900 slot=0x07 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + id, /* [BP-04h] type=0x69 */ + qlo; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x0210, *(arg_06)); + process_exclude(); + id = Intrinsic003F(arg_06); + item = *(arg_06); + qlo = Item.getNpcNum(item); + spawn class_0A18_slot_20(pid, (0 + 0x0080), item, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGEGG/slot_15_unhatch.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGEGG/slot_15_unhatch.txt new file mode 100644 index 0000000..59fa5f4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGEGG/slot_15_unhatch.txt @@ -0,0 +1,19 @@ +function trigegg_unhatch() /* entry=340 class_id=0x0900 slot=0x15 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + id, /* [BP-04h] type=0x69 */ + qlo; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x0239, *(arg_06)); + process_exclude(); + id = Intrinsic003F(arg_06); + item = *(arg_06); + qlo = Item.getNpcNum(item); + spawn class_0A18_slot_20(pid, (1 + 0x0080), item, arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_20_slot_20.txt new file mode 100644 index 0000000..8ed486d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_20_slot_20.txt @@ -0,0 +1,261 @@ +function trigger_slot_20() /* entry=394 class_id=0x0A18 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + phase, /* [BP+0Ch] type=0x69 */ + lowPriorityTriggers, /* [BP-02h] type=0x6C */ + cmdphase, /* [BP-04h] type=0x69 */ + qHi, /* [BP-06h] type=0x69 */ + npcNum, /* [BP-08h] type=0x69 */ + mapNum, /* [BP-0Ah] type=0x69 */ + item, /* [BP-0Ch] type=0x24 */ + aitem, /* [BP-0Eh] type=0x24 */ + baseLink, /* [BP-10h] type=0x69 */ + newLink, /* [BP-12h] type=0x69 */ + searchtype, /* [BP-14h] type=0x69 */ + newphase; /* [BP-16h] type=0x69 */ + + entry: + set_info(0x021B, 0); + baseLink = 0; + newLink = 0; + searchtype = 0; + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + aitem = ref; + if (phase != 0x00FE) goto block_0194; + + block_0181: + baseLink = 0x00FE; + phase = 0x0080; + goto block_01CC; + + block_0194: + qHi = Intrinsic00FB(aitem); + baseLink = Item.getNpcNum(aitem); + mapNum = Item.getMapNum(aitem); + npcNum = Npc.isDead(aitem); + + block_01CC: + newLink = baseLink; + /* pop_global global_id=0x40 size=0x2 */ + if (phase < 0x0080) goto block_04C0; + + block_01E8: + searchtype = (((mapNum & 0x00E0) * 8) + npcNum); + if (mapNum != 0) goto block_020A; + + block_0204: + goto block_05E7; + + block_020A: + if (baseLink != 0) goto block_021B; + + block_0215: + goto block_05E7; + + block_021B: + cmdphase = 0; + if (mapNum & 8) goto block_0234; + + block_022D: + cmdphase = 1; + + block_0234: + if (phase != cmdphase) goto block_04C0; + + block_023F: + if (mapNum & 4) goto block_03E1; + + block_024A: + if Intrinsic00BD(searchtype) goto block_0317; + + block_0259: + if (baseLink != 0x00FF) goto block_02A0; + + block_0265: + if (searchtype != 0) goto block_029D; + + block_0270: + spawn class_0A18_slot_2A(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + + block_029D: + goto block_0314; + + block_02A0: + if (searchtype != 0x07FE) goto block_02DC; + + block_02AC: + spawn class_0A18_slot_2B(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + goto block_0314; + + block_02DC: + if (searchtype != 0) goto block_0314; + + block_02E7: + spawn class_0A18_slot_29(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + + block_0314: + goto block_03DE; + + block_0317: + if (baseLink != 0x00FF) goto block_0362; + + block_0323: + if (searchtype != 0) goto block_035F; + + block_032E: + spawn class_0A18_slot_25(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + /* dword_to_word */ + baseLink = process_result; + + block_035F: + goto block_03DE; + + block_0362: + if (searchtype != 0x07FF) goto block_03A2; + + block_036E: + spawn class_0A18_slot_24(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + /* dword_to_word */ + baseLink = process_result; + goto block_03DE; + + block_03A2: + if (searchtype != 0) goto block_03DE; + + block_03AD: + spawn class_0A18_slot_23(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + /* dword_to_word */ + baseLink = process_result; + + block_03DE: + goto block_04A8; + + block_03E1: + if (baseLink != 0x00FF) goto block_042C; + + block_03ED: + if (searchtype != 0) goto block_0429; + + block_03F8: + spawn class_0A18_slot_28(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + /* dword_to_word */ + baseLink = process_result; + + block_0429: + goto block_04A8; + + block_042C: + if (searchtype != 0x07FF) goto block_046C; + + block_0438: + spawn class_0A18_slot_27(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + /* dword_to_word */ + baseLink = process_result; + goto block_04A8; + + block_046C: + if (searchtype != 0) goto block_04A8; + + block_0477: + spawn class_0A18_slot_26(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + /* dword_to_word */ + baseLink = process_result; + + block_04A8: + if (mapNum & 16) goto block_04C0; + + block_04B3: + + block_04C0: + newphase = (phase & 1); + + block_04CA: + if 1 goto block_05E7; + + block_04D2: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF4 string_bytes=0x6 loop_type=0x2 */ + + block_04EE: + if condition goto block_057E; + + block_04F1: + if (Item.getNpcNum(item) != baseLink) goto block_057A; + + block_0503: + mapNum = Item.getMapNum(item); + cmdphase = 0; + if (mapNum & 8) goto block_052A; + + block_0523: + cmdphase = 1; + + block_052A: + if (newphase != cmdphase) goto block_057A; + + block_0535: + if (mapNum & 16) goto block_056A; + + block_0540: + spawn class_0A18_slot_21(pid, item, arg_06); + suspend; + /* dword_to_word */ + newLink = process_result; + goto block_057A; + + block_056A: + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xFE target=[BP-02h] */ + lowPriorityTriggers = item; + + block_057A: + /* loopnext */ + goto block_04EE; + + block_057E: + + block_0589: + foreach_list item -> block_05CC; + + block_058E: + spawn class_0A18_slot_21(pid, item, arg_06); + suspend; + /* dword_to_word */ + newLink = process_result; + /* create_list element_size=0x2 count=0x1 */ + /* remove_matching_inline element_size=0x2 */ + /* free_local_list bp_offset=0xFE target=[BP-02h] */ + lowPriorityTriggers = item; + goto block_0589; + + block_05CC: + if (newLink != baseLink) goto block_05DD; + + block_05D7: + goto block_05E7; + + block_05DD: + baseLink = newLink; + goto block_04CA; + + block_05E7: + /* free_local_list bp_offset=0xFE target=[BP-02h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_21_slot_21.txt new file mode 100644 index 0000000..fb0f440 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_21_slot_21.txt @@ -0,0 +1,145 @@ +function trigger_slot_21() /* entry=394 class_id=0x0A18 slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + cmd, /* [BP-02h] type=0x69 */ + qHi, /* [BP-04h] type=0x69 */ + npcNum, /* [BP-06h] type=0x69 */ + mapNum, /* [BP-08h] type=0x69 */ + searchtype, /* [BP-0Ah] type=0x69 */ + aitem, /* [BP-0Ch] type=0x24 */ + baseLink, /* [BP-0Eh] type=0x69 */ + newLink; /* [BP-10h] type=0x69 */ + + entry: + set_info(0x021B, 0); + aitem = ref; + baseLink = Item.getNpcNum(aitem); + newLink = baseLink; + qHi = Intrinsic00FB(aitem); + mapNum = Item.getMapNum(aitem); + npcNum = Npc.isDead(aitem); + searchtype = (((mapNum & 0x00E0) * 8) + npcNum); + if (mapNum != 0) goto block_0718; + + block_0712: + goto block_098B; + + block_0718: + if (mapNum & 4) goto block_08BA; + + block_0723: + if Intrinsic00BD(searchtype) goto block_07F0; + + block_0732: + if (baseLink != 0x00FF) goto block_0779; + + block_073E: + if (searchtype != 0) goto block_0776; + + block_0749: + spawn class_0A18_slot_2A(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + + block_0776: + goto block_07ED; + + block_0779: + if (searchtype != 0x07FE) goto block_07B5; + + block_0785: + spawn class_0A18_slot_2B(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + goto block_07ED; + + block_07B5: + if (searchtype != 0) goto block_07ED; + + block_07C0: + spawn class_0A18_slot_29(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + + block_07ED: + goto block_08B7; + + block_07F0: + if (baseLink != 0x00FF) goto block_083B; + + block_07FC: + if (searchtype != 0) goto block_0838; + + block_0807: + spawn class_0A18_slot_25(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + /* dword_to_word */ + newLink = process_result; + + block_0838: + goto block_08B7; + + block_083B: + if (searchtype != 0x07FF) goto block_087B; + + block_0847: + spawn class_0A18_slot_24(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + /* dword_to_word */ + newLink = process_result; + goto block_08B7; + + block_087B: + if (searchtype != 0) goto block_08B7; + + block_0886: + spawn class_0A18_slot_23(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + /* dword_to_word */ + newLink = process_result; + + block_08B7: + goto block_0981; + + block_08BA: + if (baseLink != 0x00FF) goto block_0905; + + block_08C6: + if (searchtype != 0) goto block_0902; + + block_08D1: + spawn class_0A18_slot_28(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + /* dword_to_word */ + newLink = process_result; + + block_0902: + goto block_0981; + + block_0905: + if (searchtype != 0x07FF) goto block_0945; + + block_0911: + spawn class_0A18_slot_27(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + /* dword_to_word */ + newLink = process_result; + goto block_0981; + + block_0945: + if (searchtype != 0) goto block_0981; + + block_0950: + spawn class_0A18_slot_26(pid, searchtype, baseLink, mapNum, npcNum, qHi, ref, arg_06); + suspend; + /* dword_to_word */ + newLink = process_result; + + block_0981: + /* word_to_dword */ + /* pop_result */ + goto block_098B; + + block_098B: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_22_slot_22.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_22_slot_22.txt new file mode 100644 index 0000000..a190476 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_22_slot_22.txt @@ -0,0 +1,38 @@ +function trigger_slot_22() /* entry=394 class_id=0x0A18 slot=0x22 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + num, /* [BP+0Ch] type=0x69 */ + door; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x021B, 0); + door = ref; + + block_0A1C: + if 1 goto block_0AAC; + + block_0A24: + if ((Item.getStatus(door) & 0x1000) != 0) goto block_0A83; + + block_0A3A: + spawn class_0A06_slot_21(pid, num, door); + suspend; + /* bit_not */ + goto block_0AAC; + + block_0A80: + goto block_0AA9; + + block_0A83: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + + block_0AA9: + goto block_0A1C; + + block_0AAC: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_23_slot_23.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_23_slot_23.txt new file mode 100644 index 0000000..02779ba --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_23_slot_23.txt @@ -0,0 +1,312 @@ +function trigger_slot_23() /* entry=394 class_id=0x0A18 slot=0x23 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + qHi, /* [BP+0Ch] type=0x69 */ + npcNum, /* [BP+0Eh] type=0x69 */ + mapNum, /* [BP+10h] type=0x69 */ + baseLink, /* [BP+12h] type=0x69 */ + searchtype, /* [BP+14h] type=0x69 */ + scmd, /* [BP-02h] type=0x69 */ + cmd, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + b, /* [BP-08h] type=0x69 */ + c, /* [BP-0Ah] type=0x69 */ + d, /* [BP-0Ch] type=0x69 */ + item, /* [BP-0Eh] type=0x24 */ + aitem, /* [BP-10h] type=0x24 */ + newLink, /* [BP-12h] type=0x69 */ + item2; /* [BP-14h] type=0x24 */ + + entry: + set_info(0x021B, 0); + newLink = baseLink; + aitem = ref; + cmd = (mapNum & 3); + if (cmd != 0) goto block_0B62; + + block_0B0F: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_0B2C: + if condition goto block_0B5D; + + block_0B2F: + if (Item.getNpcNum(item) != baseLink) goto block_0B59; + + block_0B41: + if (ref != item) goto block_0B59; + + block_0B4C: + + block_0B59: + /* loopnext */ + goto block_0B2C; + + block_0B5D: + goto block_1056; + + block_0B62: + if (cmd != 1) goto block_0BBD; + + block_0B6A: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_0B87: + if condition goto block_0BB8; + + block_0B8A: + if (Item.getNpcNum(item) != baseLink) goto block_0BB4; + + block_0B9C: + if (ref != item) goto block_0BB4; + + block_0BA7: + + block_0BB4: + /* loopnext */ + goto block_0B87; + + block_0BB8: + goto block_1056; + + block_0BBD: + if (cmd != 2) goto block_0C1A; + + block_0BC5: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_0BE2: + if condition goto block_0C15; + + block_0BE5: + if (Item.getNpcNum(item) != baseLink) goto block_0C11; + + block_0BF7: + if (ref != item) goto block_0C11; + + block_0C02: + + block_0C11: + /* loopnext */ + goto block_0BE2; + + block_0C15: + goto block_1056; + + block_0C1A: + if (cmd != 3) goto block_1056; + + block_0C22: + scmd = (qHi & 7); + if (scmd != 0) goto block_0CC3; + + block_0C34: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_0C5C: + if condition goto block_0CBE; + + block_0C5F: + if (Item.getNpcNum(item) != baseLink) goto block_0CBA; + + block_0C71: + a = Intrinsic00DA(item); + c = (a & 15); + b = Item.getMapNum(item); + b = (((a & 0x00E0) * 8) + b); + class_0A0C_slot_30(d, c, b, item); + + block_0CBA: + /* loopnext */ + goto block_0C5C; + + block_0CBE: + goto block_1053; + + block_0CC3: + if (scmd != 1) goto block_0E2E; + + block_0CCB: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_0CF2: + if condition goto block_0E29; + + block_0CF5: + if (Item.getNpcNum(item) != baseLink) goto block_0E25; + + block_0D07: + if (ref != item) goto block_0E25; + + block_0D12: + if (d != 31) goto block_0D58; + + block_0D2A: + suspend; + goto block_0E25; + + block_0D58: + c = Item.getFrame(item); + b = Intrinsic0016(item); + a = (b & 0x00FF); + b = (b & 0x0700); + b = (b / 8); + b = (b + c); + suspend; + /* bit_not */ + + block_0E25: + /* loopnext */ + goto block_0CF2; + + block_0E29: + goto block_1053; + + block_0E2E: + if (scmd != 2) goto block_0E93; + + block_0E36: + a = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_0E5D: + if condition goto block_0E8E; + + block_0E60: + if (Item.getNpcNum(item) != baseLink) goto block_0E8A; + + block_0E72: + if (ref != item) goto block_0E8A; + + block_0E7D: + + block_0E8A: + /* loopnext */ + goto block_0E5D; + + block_0E8E: + goto block_1053; + + block_0E93: + if (scmd != 3) goto block_0EFF; + + block_0E9B: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_0EB8: + if condition goto block_0EFA; + + block_0EBB: + if (Item.getNpcNum(item) != baseLink) goto block_0EF6; + + block_0ECD: + if (ref != item) goto block_0EF6; + + block_0ED8: + a = (qHi / 8); + spawn class_0A18_slot_22(a, item, arg_06); + + block_0EF6: + /* loopnext */ + goto block_0EB8; + + block_0EFA: + goto block_1053; + + block_0EFF: + if (scmd != 4) goto block_0F1E; + + block_0F07: + a = (qHi / 8); + newLink = (newLink + a); + goto block_1053; + + block_0F1E: + if (scmd != 5) goto block_0F3D; + + block_0F26: + a = (qHi / 8); + newLink = (newLink - a); + goto block_1053; + + block_0F3D: + if (scmd != 6) goto block_1053; + + block_0F45: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_0F6D: + if condition goto block_104E; + + block_0F70: + if (Item.getNpcNum(item) != baseLink) goto block_104A; + + block_0F82: + a = Item.getQLo(item); + c = (a & 15); + b = Item.getMapNum(item); + b = (((a & 0x00E0) * 8) + b); + if (b != 0) goto block_104A; + + block_0FC4: + if (Item.getQLo(c, b, item2) != 1) goto block_104A; + + block_0FDA: + suspend; + + block_104A: + /* loopnext */ + goto block_0F6D; + + block_104E: + goto block_1053; + + block_1053: + goto block_1056; + + block_1056: + /* word_to_dword */ + /* pop_result */ + goto block_1060; + + block_1060: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_24_slot_24.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_24_slot_24.txt new file mode 100644 index 0000000..dcebf3d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_24_slot_24.txt @@ -0,0 +1,323 @@ +function trigger_slot_24() /* entry=394 class_id=0x0A18 slot=0x24 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + qHi, /* [BP+0Ch] type=0x69 */ + npcNum, /* [BP+0Eh] type=0x69 */ + mapNum, /* [BP+10h] type=0x69 */ + baseLink, /* [BP+12h] type=0x69 */ + searchtype, /* [BP+14h] type=0x69 */ + scmd, /* [BP-02h] type=0x69 */ + cmd, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + b, /* [BP-08h] type=0x69 */ + c, /* [BP-0Ah] type=0x69 */ + d, /* [BP-0Ch] type=0x69 */ + item, /* [BP-0Eh] type=0x24 */ + aitem, /* [BP-10h] type=0x24 */ + newLink, /* [BP-12h] type=0x69 */ + distance, /* [BP-14h] type=0x69 */ + item2; /* [BP-16h] type=0x24 */ + + entry: + set_info(0x021B, 0); + newLink = baseLink; + aitem = ref; + cmd = (mapNum & 3); + if (cmd != 0) goto block_1191; + + block_113E: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_115B: + if condition goto block_118C; + + block_115E: + if (Item.getNpcNum(item) != baseLink) goto block_1188; + + block_1170: + if (ref != item) goto block_1188; + + block_117B: + + block_1188: + /* loopnext */ + goto block_115B; + + block_118C: + goto block_16A3; + + block_1191: + if (cmd != 1) goto block_11EC; + + block_1199: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_11B6: + if condition goto block_11E7; + + block_11B9: + if (Item.getNpcNum(item) != baseLink) goto block_11E3; + + block_11CB: + if (ref != item) goto block_11E3; + + block_11D6: + + block_11E3: + /* loopnext */ + goto block_11B6; + + block_11E7: + goto block_16A3; + + block_11EC: + if (cmd != 2) goto block_1249; + + block_11F4: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1211: + if condition goto block_1244; + + block_1214: + if (Item.getNpcNum(item) != baseLink) goto block_1240; + + block_1226: + if (ref != item) goto block_1240; + + block_1231: + + block_1240: + /* loopnext */ + goto block_1211; + + block_1244: + goto block_16A3; + + block_1249: + if (cmd != 3) goto block_16A3; + + block_1251: + scmd = (qHi & 7); + if (scmd != 0) goto block_12F2; + + block_1263: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_128B: + if condition goto block_12ED; + + block_128E: + if (Item.getNpcNum(item) != baseLink) goto block_12E9; + + block_12A0: + a = Item.getQLo(item); + c = (a & 15); + b = Item.getMapNum(item); + b = (((a & 0x00E0) * 8) + b); + class_0A0C_slot_30(d, c, b, item); + + block_12E9: + /* loopnext */ + goto block_128B; + + block_12ED: + goto block_16A0; + + block_12F2: + if (scmd != 1) goto block_145D; + + block_12FA: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1321: + if condition goto block_1458; + + block_1324: + if (Item.getNpcNum(item) != baseLink) goto block_1454; + + block_1336: + if (ref != item) goto block_1454; + + block_1341: + if (d != 31) goto block_1387; + + block_1359: + suspend; + goto block_1454; + + block_1387: + c = Item.getFrame(item); + b = Intrinsic0016(item); + a = (b & 0x00FF); + b = (b & 0x0700); + b = (b / 8); + b = (b + c); + suspend; + /* bit_not */ + + block_1454: + /* loopnext */ + goto block_1321; + + block_1458: + goto block_16A0; + + block_145D: + if (scmd != 2) goto block_14C2; + + block_1465: + a = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_148C: + if condition goto block_14BD; + + block_148F: + if (Item.getNpcNum(item) != baseLink) goto block_14B9; + + block_14A1: + if (ref != item) goto block_14B9; + + block_14AC: + + block_14B9: + /* loopnext */ + goto block_148C; + + block_14BD: + goto block_16A0; + + block_14C2: + if (scmd != 3) goto block_154C; + + block_14CA: + if (global[0x0040] != 100) goto block_14E1; + + block_14D7: + distance = 32; + goto block_14EA; + + block_14E1: + distance = global[0x0040]; + + block_14EA: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1505: + if condition goto block_1547; + + block_1508: + if (Item.getNpcNum(item) != baseLink) goto block_1543; + + block_151A: + if (ref != item) goto block_1543; + + block_1525: + a = (qHi / 8); + spawn class_0A18_slot_22(a, item, arg_06); + + block_1543: + /* loopnext */ + goto block_1505; + + block_1547: + goto block_16A0; + + block_154C: + if (scmd != 4) goto block_156B; + + block_1554: + a = (qHi / 8); + newLink = (newLink + a); + goto block_16A0; + + block_156B: + if (scmd != 5) goto block_158A; + + block_1573: + a = (qHi / 8); + newLink = (newLink - a); + goto block_16A0; + + block_158A: + if (scmd != 6) goto block_16A0; + + block_1592: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_15BA: + if condition goto block_169B; + + block_15BD: + if (Item.getNpcNum(item) != baseLink) goto block_1697; + + block_15CF: + a = Item.getQHi(item); + c = (a & 15); + b = Item.getMapNum(item); + b = (((a & 0x00E0) * 8) + b); + if (b != 0) goto block_1697; + + block_1611: + if (Item.getQLo(c, b, item2) != 1) goto block_1697; + + block_1627: + suspend; + + block_1697: + /* loopnext */ + goto block_15BA; + + block_169B: + goto block_16A0; + + block_16A0: + goto block_16A3; + + block_16A3: + /* word_to_dword */ + /* pop_result */ + goto block_16AD; + + block_16AD: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_25_slot_25.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_25_slot_25.txt new file mode 100644 index 0000000..ee8b9b4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_25_slot_25.txt @@ -0,0 +1,286 @@ +function trigger_slot_25() /* entry=394 class_id=0x0A18 slot=0x25 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + qHi, /* [BP+0Ch] type=0x69 */ + npcNum, /* [BP+0Eh] type=0x69 */ + mapNum, /* [BP+10h] type=0x69 */ + baseLink, /* [BP+12h] type=0x69 */ + searchtype, /* [BP+14h] type=0x69 */ + scmd, /* [BP-02h] type=0x69 */ + cmd, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + b, /* [BP-08h] type=0x69 */ + c, /* [BP-0Ah] type=0x69 */ + d, /* [BP-0Ch] type=0x69 */ + item, /* [BP-0Eh] type=0x24 */ + aitem, /* [BP-10h] type=0x24 */ + newLink, /* [BP-12h] type=0x69 */ + item2; /* [BP-14h] type=0x24 */ + + entry: + set_info(0x021B, 0); + newLink = baseLink; + aitem = ref; + cmd = (mapNum & 3); + if (cmd != 0) goto block_17D9; + + block_1798: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_17B5: + if condition goto block_17D4; + + block_17B8: + if (ref != item) goto block_17D0; + + block_17C3: + + block_17D0: + /* loopnext */ + goto block_17B5; + + block_17D4: + goto block_1C4F; + + block_17D9: + if (cmd != 1) goto block_1822; + + block_17E1: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_17FE: + if condition goto block_181D; + + block_1801: + if (ref != item) goto block_1819; + + block_180C: + + block_1819: + /* loopnext */ + goto block_17FE; + + block_181D: + goto block_1C4F; + + block_1822: + if (cmd != 2) goto block_186D; + + block_182A: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1847: + if condition goto block_1868; + + block_184A: + if (ref != item) goto block_1864; + + block_1855: + + block_1864: + /* loopnext */ + goto block_1847; + + block_1868: + goto block_1C4F; + + block_186D: + if (cmd != 3) goto block_1C4F; + + block_1875: + scmd = (qHi & 7); + if (scmd != 0) goto block_1904; + + block_1887: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_18AF: + if condition goto block_18FF; + + block_18B2: + a = Item.getQHi(item); + c = (a & 15); + b = Item.getMapNum(item); + b = (((a & 0x00E0) * 8) + b); + class_0A0C_slot_30(d, c, b, item); + /* loopnext */ + goto block_18AF; + + block_18FF: + goto block_1C4C; + + block_1904: + if (scmd != 1) goto block_1A5D; + + block_190C: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1933: + if condition goto block_1A58; + + block_1936: + if (ref != item) goto block_1A54; + + block_1941: + if (d != 31) goto block_1987; + + block_1959: + suspend; + goto block_1A54; + + block_1987: + c = Item.getFrame(item); + b = Intrinsic0016(item); + a = (b & 0x00FF); + b = (b & 0x0700); + b = (b / 8); + b = (b + c); + suspend; + /* bit_not */ + + block_1A54: + /* loopnext */ + goto block_1933; + + block_1A58: + goto block_1C4C; + + block_1A5D: + if (scmd != 2) goto block_1AB0; + + block_1A65: + a = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1A8C: + if condition goto block_1AAB; + + block_1A8F: + if (ref != item) goto block_1AA7; + + block_1A9A: + + block_1AA7: + /* loopnext */ + goto block_1A8C; + + block_1AAB: + goto block_1C4C; + + block_1AB0: + if (scmd != 3) goto block_1B0A; + + block_1AB8: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1AD5: + if condition goto block_1B05; + + block_1AD8: + if (ref != item) goto block_1B01; + + block_1AE3: + a = (qHi / 8); + spawn class_0A18_slot_22(a, item, arg_06); + + block_1B01: + /* loopnext */ + goto block_1AD5; + + block_1B05: + goto block_1C4C; + + block_1B0A: + if (scmd != 4) goto block_1B29; + + block_1B12: + a = (qHi / 8); + newLink = (newLink + a); + goto block_1C4C; + + block_1B29: + if (scmd != 5) goto block_1B48; + + block_1B31: + a = (qHi / 8); + newLink = (newLink - a); + goto block_1C4C; + + block_1B48: + if (scmd != 6) goto block_1C4C; + + block_1B50: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1B78: + if condition goto block_1C47; + + block_1B7B: + a = Item.getQHi(item); + c = (a & 15); + b = Item.getMapNum(item); + b = (((a & 0x00E0) * 8) + b); + if (b != 0) goto block_1C43; + + block_1BBD: + if (Item.getQLo(c, b, item2) != 1) goto block_1C43; + + block_1BD3: + suspend; + + block_1C43: + /* loopnext */ + goto block_1B78; + + block_1C47: + goto block_1C4C; + + block_1C4C: + goto block_1C4F; + + block_1C4F: + /* word_to_dword */ + /* pop_result */ + goto block_1C59; + + block_1C59: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_26_slot_26.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_26_slot_26.txt new file mode 100644 index 0000000..7d07caf --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_26_slot_26.txt @@ -0,0 +1,294 @@ +function trigger_slot_26() /* entry=394 class_id=0x0A18 slot=0x26 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + qHi, /* [BP+0Ch] type=0x69 */ + npcNum, /* [BP+0Eh] type=0x69 */ + mapNum, /* [BP+10h] type=0x69 */ + baseLink, /* [BP+12h] type=0x69 */ + searchtype, /* [BP+14h] type=0x69 */ + scmd, /* [BP-02h] type=0x69 */ + cmd, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + b, /* [BP-08h] type=0x69 */ + c, /* [BP-0Ah] type=0x69 */ + d, /* [BP-0Ch] type=0x69 */ + item, /* [BP-0Eh] type=0x24 */ + aitem, /* [BP-10h] type=0x24 */ + newLink, /* [BP-12h] type=0x69 */ + item2; /* [BP-14h] type=0x24 */ + + entry: + set_info(0x021B, 0); + newLink = baseLink; + aitem = ref; + cmd = (mapNum & 3); + if (cmd != 0) goto block_1D7F; + + block_1D37: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1D54: + if condition goto block_1D7A; + + block_1D57: + if (Item.getNpcNum(item) != baseLink) goto block_1D76; + + block_1D69: + + block_1D76: + /* loopnext */ + goto block_1D54; + + block_1D7A: + goto block_223C; + + block_1D7F: + if (cmd != 1) goto block_1DCF; + + block_1D87: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1DA4: + if condition goto block_1DCA; + + block_1DA7: + if (Item.getNpcNum(item) != baseLink) goto block_1DC6; + + block_1DB9: + + block_1DC6: + /* loopnext */ + goto block_1DA4; + + block_1DCA: + goto block_223C; + + block_1DCF: + if (cmd != 2) goto block_1E21; + + block_1DD7: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1DF4: + if condition goto block_1E1C; + + block_1DF7: + if (Item.getNpcNum(item) != baseLink) goto block_1E18; + + block_1E09: + + block_1E18: + /* loopnext */ + goto block_1DF4; + + block_1E1C: + goto block_223C; + + block_1E21: + if (cmd != 3) goto block_223C; + + block_1E29: + scmd = (qHi & 7); + if (scmd != 0) goto block_1ECA; + + block_1E3B: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1E63: + if condition goto block_1EC5; + + block_1E66: + if (Item.getNpcNum(item) != baseLink) goto block_1EC1; + + block_1E78: + a = Item.getQHi(item); + c = (a & 15); + b = Item.getMapNum(item); + b = (((a & 0x00E0) * 8) + b); + class_0A0C_slot_30(d, c, b, item); + + block_1EC1: + /* loopnext */ + goto block_1E63; + + block_1EC5: + goto block_2239; + + block_1ECA: + if (scmd != 1) goto block_202A; + + block_1ED2: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_1EF9: + if condition goto block_2025; + + block_1EFC: + if (Item.getNpcNum(item) != baseLink) goto block_2021; + + block_1F0E: + if (d != 31) goto block_1F54; + + block_1F26: + suspend; + goto block_2021; + + block_1F54: + c = Item.getFrame(item); + b = Intrinsic0016(item); + a = (b & 0x00FF); + b = (b & 0x0700); + b = (b / 8); + b = (b + c); + suspend; + /* bit_not */ + + block_2021: + /* loopnext */ + goto block_1EF9; + + block_2025: + goto block_2239; + + block_202A: + if (scmd != 2) goto block_2084; + + block_2032: + a = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2059: + if condition goto block_207F; + + block_205C: + if (Item.getNpcNum(item) != baseLink) goto block_207B; + + block_206E: + + block_207B: + /* loopnext */ + goto block_2059; + + block_207F: + goto block_2239; + + block_2084: + if (scmd != 3) goto block_20E5; + + block_208C: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_20A9: + if condition goto block_20E0; + + block_20AC: + if (Item.getNpcNum(item) != baseLink) goto block_20DC; + + block_20BE: + a = (qHi / 8); + spawn class_0A18_slot_22(a, item, arg_06); + + block_20DC: + /* loopnext */ + goto block_20A9; + + block_20E0: + goto block_2239; + + block_20E5: + if (scmd != 4) goto block_2104; + + block_20ED: + a = (qHi / 8); + newLink = (newLink + a); + goto block_2239; + + block_2104: + if (scmd != 5) goto block_2123; + + block_210C: + a = (qHi / 8); + newLink = (newLink - a); + goto block_2239; + + block_2123: + if (scmd != 6) goto block_2239; + + block_212B: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2153: + if condition goto block_2234; + + block_2156: + if (Item.getNpcNum(item) != baseLink) goto block_2230; + + block_2168: + a = Item.getNpcNum(item); + c = (a & 15); + b = Item.getMapNum(item); + b = (((a & 0x00E0) * 8) + b); + if (b != 0) goto block_2230; + + block_21AA: + if (Item.getQLo(c, b, item2) != 1) goto block_2230; + + block_21C0: + suspend; + + block_2230: + /* loopnext */ + goto block_2153; + + block_2234: + goto block_2239; + + block_2239: + goto block_223C; + + block_223C: + /* word_to_dword */ + /* pop_result */ + goto block_2246; + + block_2246: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_27_slot_27.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_27_slot_27.txt new file mode 100644 index 0000000..ee5a2fd --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_27_slot_27.txt @@ -0,0 +1,305 @@ +function trigger_slot_27() /* entry=394 class_id=0x0A18 slot=0x27 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + qHi, /* [BP+0Ch] type=0x69 */ + npcNum, /* [BP+0Eh] type=0x69 */ + mapNum, /* [BP+10h] type=0x69 */ + baseLink, /* [BP+12h] type=0x69 */ + searchtype, /* [BP+14h] type=0x69 */ + scmd, /* [BP-02h] type=0x69 */ + cmd, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + b, /* [BP-08h] type=0x69 */ + c, /* [BP-0Ah] type=0x69 */ + d, /* [BP-0Ch] type=0x69 */ + item, /* [BP-0Eh] type=0x24 */ + aitem, /* [BP-10h] type=0x24 */ + newLink, /* [BP-12h] type=0x69 */ + distance, /* [BP-14h] type=0x69 */ + item2; /* [BP-16h] type=0x24 */ + + entry: + set_info(0x021B, 0); + newLink = baseLink; + aitem = ref; + cmd = (mapNum & 3); + if (cmd != 0) goto block_236C; + + block_2324: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2341: + if condition goto block_2367; + + block_2344: + if (Item.getNpcNum(item) != baseLink) goto block_2363; + + block_2356: + + block_2363: + /* loopnext */ + goto block_2341; + + block_2367: + goto block_2847; + + block_236C: + if (cmd != 1) goto block_23BC; + + block_2374: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2391: + if condition goto block_23B7; + + block_2394: + if (Item.getNpcNum(item) != baseLink) goto block_23B3; + + block_23A6: + + block_23B3: + /* loopnext */ + goto block_2391; + + block_23B7: + goto block_2847; + + block_23BC: + if (cmd != 2) goto block_240E; + + block_23C4: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_23E1: + if condition goto block_2409; + + block_23E4: + if (Item.getNpcNum(item) != baseLink) goto block_2405; + + block_23F6: + + block_2405: + /* loopnext */ + goto block_23E1; + + block_2409: + goto block_2847; + + block_240E: + if (cmd != 3) goto block_2847; + + block_2416: + scmd = (qHi & 7); + if (scmd != 0) goto block_24B7; + + block_2428: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2450: + if condition goto block_24B2; + + block_2453: + if (Item.getNpcNum(item) != baseLink) goto block_24AE; + + block_2465: + a = Item.getNpcNum(item); + c = (a & 15); + b = Item.getMapNum(item); + b = (((a & 0x00E0) * 8) + b); + class_0A0C_slot_30(d, c, b, item); + + block_24AE: + /* loopnext */ + goto block_2450; + + block_24B2: + goto block_2844; + + block_24B7: + if (scmd != 1) goto block_2617; + + block_24BF: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_24E6: + if condition goto block_2612; + + block_24E9: + if (Item.getNpcNum(item) != baseLink) goto block_260E; + + block_24FB: + if (d != 31) goto block_2541; + + block_2513: + suspend; + goto block_260E; + + block_2541: + c = Item.getFrame(item); + b = Intrinsic0016(item); + a = (b & 0x00FF); + b = (b & 0x0700); + b = (b / 8); + b = (b + c); + suspend; + /* bit_not */ + + block_260E: + /* loopnext */ + goto block_24E6; + + block_2612: + goto block_2844; + + block_2617: + if (scmd != 2) goto block_2671; + + block_261F: + a = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2646: + if condition goto block_266C; + + block_2649: + if (Item.getNpcNum(item) != baseLink) goto block_2668; + + block_265B: + + block_2668: + /* loopnext */ + goto block_2646; + + block_266C: + goto block_2844; + + block_2671: + if (scmd != 3) goto block_26F0; + + block_2679: + if (global[0x0040] != 100) goto block_2690; + + block_2686: + distance = 32; + goto block_2699; + + block_2690: + distance = global[0x0040]; + + block_2699: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_26B4: + if condition goto block_26EB; + + block_26B7: + if (Item.getNpcNum(item) != baseLink) goto block_26E7; + + block_26C9: + a = (qHi / 8); + spawn class_0A18_slot_22(a, item, arg_06); + + block_26E7: + /* loopnext */ + goto block_26B4; + + block_26EB: + goto block_2844; + + block_26F0: + if (scmd != 4) goto block_270F; + + block_26F8: + a = (qHi / 8); + newLink = (newLink + a); + goto block_2844; + + block_270F: + if (scmd != 5) goto block_272E; + + block_2717: + a = (qHi / 8); + newLink = (newLink - a); + goto block_2844; + + block_272E: + if (scmd != 6) goto block_2844; + + block_2736: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_275E: + if condition goto block_283F; + + block_2761: + if (Item.getNpcNum(item) != baseLink) goto block_283B; + + block_2773: + a = Item.hurl(item); + c = (a & 15); + b = Item.getMapNum(item); + b = (((a & 0x00E0) * 8) + b); + if (b != 0) goto block_283B; + + block_27B5: + if (Item.getQLo(c, b, item2) != 1) goto block_283B; + + block_27CB: + suspend; + + block_283B: + /* loopnext */ + goto block_275E; + + block_283F: + goto block_2844; + + block_2844: + goto block_2847; + + block_2847: + /* word_to_dword */ + /* pop_result */ + goto block_2851; + + block_2851: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_28_slot_28.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_28_slot_28.txt new file mode 100644 index 0000000..ecd0ae0 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_28_slot_28.txt @@ -0,0 +1,258 @@ +function trigger_slot_28() /* entry=394 class_id=0x0A18 slot=0x28 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + qHi, /* [BP+0Ch] type=0x69 */ + npcNum, /* [BP+0Eh] type=0x69 */ + mapNum, /* [BP+10h] type=0x69 */ + baseLink, /* [BP+12h] type=0x69 */ + searchtype, /* [BP+14h] type=0x69 */ + scmd, /* [BP-02h] type=0x69 */ + cmd, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + b, /* [BP-08h] type=0x69 */ + c, /* [BP-0Ah] type=0x69 */ + d, /* [BP-0Ch] type=0x69 */ + item, /* [BP-0Eh] type=0x24 */ + aitem, /* [BP-10h] type=0x24 */ + newLink, /* [BP-12h] type=0x69 */ + item2; /* [BP-14h] type=0x24 */ + + entry: + set_info(0x021B, 0); + newLink = baseLink; + aitem = ref; + cmd = (mapNum & 3); + if (cmd != 0) goto block_2972; + + block_293C: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2959: + if condition goto block_296D; + + block_295C: + /* loopnext */ + goto block_2959; + + block_296D: + goto block_2DB1; + + block_2972: + if (cmd != 1) goto block_29B0; + + block_297A: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2997: + if condition goto block_29AB; + + block_299A: + /* loopnext */ + goto block_2997; + + block_29AB: + goto block_2DB1; + + block_29B0: + if (cmd != 2) goto block_29F0; + + block_29B8: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_29D5: + if condition goto block_29EB; + + block_29D8: + /* loopnext */ + goto block_29D5; + + block_29EB: + goto block_2DB1; + + block_29F0: + if (cmd != 3) goto block_2DB1; + + block_29F8: + scmd = (qHi & 7); + if (scmd != 0) goto block_2A87; + + block_2A0A: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2A32: + if condition goto block_2A82; + + block_2A35: + a = Item.hurl(item); + c = (a & 15); + b = Item.getMapNum(item); + b = (((a & 0x00E0) * 8) + b); + class_0A0C_slot_30(d, c, b, item); + /* loopnext */ + goto block_2A32; + + block_2A82: + goto block_2DAE; + + block_2A87: + if (scmd != 1) goto block_2BD5; + + block_2A8F: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2AB6: + if condition goto block_2BD0; + + block_2AB9: + if (d != 31) goto block_2AFF; + + block_2AD1: + suspend; + goto block_2BCC; + + block_2AFF: + c = Item.getFrame(item); + b = Intrinsic0016(item); + a = (b & 0x00FF); + b = (b & 0x0700); + b = (b / 8); + b = (b + c); + suspend; + /* bit_not */ + + block_2BCC: + /* loopnext */ + goto block_2AB6; + + block_2BD0: + goto block_2DAE; + + block_2BD5: + if (scmd != 2) goto block_2C1D; + + block_2BDD: + a = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2C04: + if condition goto block_2C18; + + block_2C07: + /* loopnext */ + goto block_2C04; + + block_2C18: + goto block_2DAE; + + block_2C1D: + if (scmd != 3) goto block_2C6C; + + block_2C25: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2C42: + if condition goto block_2C67; + + block_2C45: + a = (qHi / 8); + spawn class_0A18_slot_22(a, item, arg_06); + /* loopnext */ + goto block_2C42; + + block_2C67: + goto block_2DAE; + + block_2C6C: + if (scmd != 4) goto block_2C8B; + + block_2C74: + a = (qHi / 8); + newLink = (newLink + a); + goto block_2DAE; + + block_2C8B: + if (scmd != 5) goto block_2CAA; + + block_2C93: + a = (qHi / 8); + newLink = (newLink - a); + goto block_2DAE; + + block_2CAA: + if (scmd != 6) goto block_2DAE; + + block_2CB2: + d = (qHi / 8); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF2 string_bytes=0x6 loop_type=0x2 */ + + block_2CDA: + if condition goto block_2DA9; + + block_2CDD: + a = Intrinsic0111(item); + c = (a & 15); + b = Item.getMapNum(item); + b = (((a & 0x00E0) * 8) + b); + if (b != 0) goto block_2DA5; + + block_2D1F: + if (Item.getQLo(c, b, item2) != 1) goto block_2DA5; + + block_2D35: + suspend; + + block_2DA5: + /* loopnext */ + goto block_2CDA; + + block_2DA9: + goto block_2DAE; + + block_2DAE: + goto block_2DB1; + + block_2DB1: + /* word_to_dword */ + /* pop_result */ + goto block_2DBB; + + block_2DBB: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_29_slot_29.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_29_slot_29.txt new file mode 100644 index 0000000..3aaf529 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_29_slot_29.txt @@ -0,0 +1,345 @@ +function trigger_slot_29() /* entry=394 class_id=0x0A18 slot=0x29 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + qHi, /* [BP+0Ch] type=0x69 */ + npcNum, /* [BP+0Eh] type=0x69 */ + mapNum, /* [BP+10h] type=0x69 */ + baseLink, /* [BP+12h] type=0x69 */ + searchtype, /* [BP+14h] type=0x69 */ + scmd, /* [BP-02h] type=0x69 */ + cmd, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + b, /* [BP-08h] type=0x69 */ + c, /* [BP-0Ah] type=0x69 */ + d, /* [BP-0Ch] type=0x69 */ + aitem, /* [BP-0Eh] type=0x24 */ + npc, /* [BP-10h] type=0x24 */ + e, /* [BP-12h] type=0x69 */ + f, /* [BP-14h] type=0x69 */ + g, /* [BP-16h] type=0x69 */ + counter, /* [BP-18h] type=0x69 */ + h, /* [BP-1Ah] type=0x69 */ + i, /* [BP-1Ch] type=0x69 */ + k; /* [BP-1Eh] type=0x69 */ + + entry: + set_info(0x021B, 0); + aitem = ref; + cmd = (mapNum & 3); + if (cmd != 0) goto block_30BA; + + block_2E92: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_2EAF: + if condition goto block_30B5; + + block_2EB2: + if (Item.getQLo(npc) != baseLink) goto block_30B1; + + block_2EC4: + a = (qHi / 16); + b = (qHi & 15); + if (a != 0) goto block_2F76; + + block_2EE3: + if (Intrinsic0050(npc) != 1) goto block_2F02; + + block_2EF5: + + block_2F02: + e = Item.getQHi(npc); + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + f = Item.getQHi(npc); + goto block_30B1; + + block_2F76: + if (Intrinsic0050(npc) != 1) goto block_2F95; + + block_2F88: + + block_2F95: + g = Item.getQHi(npc); + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + if (Kernel.resetRef(npc) != 1) goto block_3003; + + block_2FFD: + goto block_3456; + + block_3003: + counter = 1; + + block_300A: + if (counter <= a) goto block_3081; + + block_3015: + if (Kernel.resetRef(npc) != 0) goto block_304E; + + block_3027: + suspend; + + block_304E: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + counter = (1 + counter); + goto block_300A; + + block_3081: + h = Item.getQHi(npc); + i = Intrinsic0050(npc); + + block_30B1: + /* loopnext */ + goto block_2EAF; + + block_30B5: + goto block_3456; + + block_30BA: + if (cmd != 1) goto block_310A; + + block_30C2: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_30DF: + if condition goto block_3105; + + block_30E2: + if (Item.getQLo(npc) != baseLink) goto block_3101; + + block_30F4: + + block_3101: + /* loopnext */ + goto block_30DF; + + block_3105: + goto block_3456; + + block_310A: + if (cmd != 2) goto block_316A; + + block_3112: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_312F: + if condition goto block_3165; + + block_3132: + if (Item.getQLo(npc) != baseLink) goto block_3161; + + block_3144: + + block_3161: + /* loopnext */ + goto block_312F; + + block_3165: + goto block_3456; + + block_316A: + if (cmd != 3) goto block_3456; + + block_3172: + scmd = (qHi & 7); + a = (qHi / 8); + if (scmd != 0) goto block_321E; + + block_318E: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_31AB: + if condition goto block_3219; + + block_31AE: + if (Item.getQLo(npc) != baseLink) goto block_3215; + + block_31C0: + if (a != 1) goto block_31D8; + + block_31C8: + goto block_3215; + + block_31D8: + if (a != 2) goto block_31F0; + + block_31E0: + goto block_3215; + + block_31F0: + if (a != 3) goto block_3208; + + block_31F8: + goto block_3215; + + block_3208: + + block_3215: + /* loopnext */ + goto block_31AB; + + block_3219: + goto block_3453; + + block_321E: + if (scmd != 1) goto block_32A1; + + block_3226: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_3243: + if condition goto block_329C; + + block_3246: + if (Item.getQLo(npc) != baseLink) goto block_3298; + + block_3258: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + + block_3298: + /* loopnext */ + goto block_3243; + + block_329C: + goto block_3453; + + block_32A1: + if (scmd != 2) goto block_3324; + + block_32A9: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_32C6: + if condition goto block_331F; + + block_32C9: + if (Item.getQLo(npc) != baseLink) goto block_331B; + + block_32DB: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + + block_331B: + /* loopnext */ + goto block_32C6; + + block_331F: + goto block_3453; + + block_3324: + if (scmd != 3) goto block_33A7; + + block_332C: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_3349: + if condition goto block_33A2; + + block_334C: + if (Item.getQLo(npc) != baseLink) goto block_339E; + + block_335E: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + + block_339E: + /* loopnext */ + goto block_3349; + + block_33A2: + goto block_3453; + + block_33A7: + if (scmd != 4) goto block_33FE; + + block_33AF: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_33CC: + if condition goto block_33F9; + + block_33CF: + if (Item.getQLo(npc) != baseLink) goto block_33F5; + + block_33E1: + k = a; + + block_33F5: + /* loopnext */ + goto block_33CC; + + block_33F9: + goto block_3453; + + block_33FE: + if (scmd != 5) goto block_3453; + + block_3406: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_3423: + if condition goto block_344E; + + block_3426: + if (Item.getQLo(npc) != baseLink) goto block_344A; + + block_3438: + spawn class_0A11_equip(a, npc); + + block_344A: + /* loopnext */ + goto block_3423; + + block_344E: + goto block_3453; + + block_3453: + goto block_3456; + + block_3456: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_2A_slot_2A.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_2A_slot_2A.txt new file mode 100644 index 0000000..a40923a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_2A_slot_2A.txt @@ -0,0 +1,284 @@ +function trigger_slot_2A() /* entry=394 class_id=0x0A18 slot=0x2A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + qHi, /* [BP+0Ch] type=0x69 */ + npcNum, /* [BP+0Eh] type=0x69 */ + mapNum, /* [BP+10h] type=0x69 */ + baseLink, /* [BP+12h] type=0x69 */ + searchtype, /* [BP+14h] type=0x69 */ + scmd, /* [BP-02h] type=0x69 */ + cmd, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + b, /* [BP-08h] type=0x69 */ + c, /* [BP-0Ah] type=0x69 */ + d, /* [BP-0Ch] type=0x69 */ + aitem, /* [BP-0Eh] type=0x24 */ + npc, /* [BP-10h] type=0x24 */ + counter, /* [BP-12h] type=0x69 */ + k; /* [BP-14h] type=0x69 */ + + entry: + set_info(0x021B, 0); + aitem = ref; + cmd = (mapNum & 3); + if (cmd != 0) goto block_36F9; + + block_3546: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_3563: + if condition goto block_36F4; + + block_3566: + a = (qHi / 16); + b = (qHi & 15); + if (a != 0) goto block_35F1; + + block_3585: + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_36F0; + + block_35F1: + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + if (Kernel.resetRef(npc) != 1) goto block_365E; + + block_3658: + goto block_3A05; + + block_365E: + counter = 1; + + block_3665: + if (counter <= a) goto block_36DC; + + block_3670: + if (Kernel.resetRef(npc) != 0) goto block_36A9; + + block_3682: + suspend; + + block_36A9: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + counter = (1 + counter); + goto block_3665; + + block_36DC: + + block_36F0: + /* loopnext */ + goto block_3563; + + block_36F4: + goto block_3A05; + + block_36F9: + if (cmd != 1) goto block_3737; + + block_3701: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_371E: + if condition goto block_3732; + + block_3721: + /* loopnext */ + goto block_371E; + + block_3732: + goto block_3A05; + + block_3737: + if (cmd != 2) goto block_3785; + + block_373F: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_375C: + if condition goto block_3780; + + block_375F: + /* loopnext */ + goto block_375C; + + block_3780: + goto block_3A05; + + block_3785: + if (cmd != 3) goto block_3A05; + + block_378D: + scmd = (qHi & 7); + a = (qHi / 8); + if (scmd != 0) goto block_3827; + + block_37A9: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_37C6: + if condition goto block_3822; + + block_37C9: + if (a != 1) goto block_37E1; + + block_37D1: + goto block_381E; + + block_37E1: + if (a != 2) goto block_37F9; + + block_37E9: + goto block_381E; + + block_37F9: + if (a != 3) goto block_3811; + + block_3801: + goto block_381E; + + block_3811: + + block_381E: + /* loopnext */ + goto block_37C6; + + block_3822: + goto block_3A02; + + block_3827: + if (scmd != 1) goto block_3898; + + block_382F: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_384C: + if condition goto block_3893; + + block_384F: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + /* loopnext */ + goto block_384C; + + block_3893: + goto block_3A02; + + block_3898: + if (scmd != 2) goto block_3909; + + block_38A0: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_38BD: + if condition goto block_3904; + + block_38C0: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + /* loopnext */ + goto block_38BD; + + block_3904: + goto block_3A02; + + block_3909: + if (scmd != 3) goto block_397A; + + block_3911: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_392E: + if condition goto block_3975; + + block_3931: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + /* loopnext */ + goto block_392E; + + block_3975: + goto block_3A02; + + block_397A: + if (scmd != 4) goto block_39BF; + + block_3982: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_399F: + if condition goto block_39BA; + + block_39A2: + k = a; + /* loopnext */ + goto block_399F; + + block_39BA: + goto block_3A02; + + block_39BF: + if (scmd != 5) goto block_3A02; + + block_39C7: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_39E4: + if condition goto block_39FD; + + block_39E7: + spawn class_0A11_equip(a, npc); + /* loopnext */ + goto block_39E4; + + block_39FD: + goto block_3A02; + + block_3A02: + goto block_3A05; + + block_3A05: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_2B_slot_2B.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_2B_slot_2B.txt new file mode 100644 index 0000000..80de770 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGGER/slot_2B_slot_2B.txt @@ -0,0 +1,352 @@ +function trigger_slot_2B() /* entry=394 class_id=0x0A18 slot=0x2B */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + qHi, /* [BP+0Ch] type=0x69 */ + npcNum, /* [BP+0Eh] type=0x69 */ + mapNum, /* [BP+10h] type=0x69 */ + baseLink, /* [BP+12h] type=0x69 */ + searchtype, /* [BP+14h] type=0x69 */ + scmd, /* [BP-02h] type=0x69 */ + cmd, /* [BP-04h] type=0x69 */ + a, /* [BP-06h] type=0x69 */ + b, /* [BP-08h] type=0x69 */ + c, /* [BP-0Ah] type=0x69 */ + d, /* [BP-0Ch] type=0x69 */ + aitem, /* [BP-0Eh] type=0x24 */ + npc, /* [BP-10h] type=0x24 */ + counter, /* [BP-12h] type=0x69 */ + k; /* [BP-14h] type=0x69 */ + + entry: + set_info(0x021B, 0); + aitem = ref; + cmd = (mapNum & 3); + if (cmd != 0) goto block_3CB2; + + block_3AD7: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_3AF4: + if condition goto block_3CAD; + + block_3AF7: + if Intrinsic00BD(Intrinsic0016(npc)) goto block_3CA9; + + block_3B0D: + if (Item.getQLo(npc) != baseLink) goto block_3CA9; + + block_3B1F: + a = (qHi / 16); + b = (qHi & 15); + if (a != 0) goto block_3BAA; + + block_3B3E: + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_3CA9; + + block_3BAA: + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + if (Kernel.resetRef(npc) != 1) goto block_3C17; + + block_3C11: + goto block_40FE; + + block_3C17: + counter = 1; + + block_3C1E: + if (counter <= a) goto block_3C95; + + block_3C29: + if (Kernel.resetRef(npc) != 0) goto block_3C62; + + block_3C3B: + suspend; + + block_3C62: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + counter = (1 + counter); + goto block_3C1E; + + block_3C95: + + block_3CA9: + /* loopnext */ + goto block_3AF4; + + block_3CAD: + goto block_40FE; + + block_3CB2: + if (cmd != 1) goto block_3D18; + + block_3CBA: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_3CD7: + if condition goto block_3D13; + + block_3CDA: + if Intrinsic00BD(Intrinsic0016(npc)) goto block_3D0F; + + block_3CF0: + if (Item.getQLo(npc) != baseLink) goto block_3D0F; + + block_3D02: + + block_3D0F: + /* loopnext */ + goto block_3CD7; + + block_3D13: + goto block_40FE; + + block_3D18: + if (cmd != 2) goto block_3D8E; + + block_3D20: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_3D3D: + if condition goto block_3D89; + + block_3D40: + if Intrinsic00BD(Intrinsic0016(npc)) goto block_3D85; + + block_3D56: + if (Item.getQLo(npc) != baseLink) goto block_3D85; + + block_3D68: + + block_3D85: + /* loopnext */ + goto block_3D3D; + + block_3D89: + goto block_40FE; + + block_3D8E: + if (cmd != 3) goto block_40FE; + + block_3D96: + scmd = (qHi & 7); + a = (qHi / 8); + if (scmd != 0) goto block_3E58; + + block_3DB2: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_3DCF: + if condition goto block_3E53; + + block_3DD2: + if Intrinsic00BD(Intrinsic0016(npc)) goto block_3E4F; + + block_3DE8: + if (Item.getQLo(npc) != baseLink) goto block_3E4F; + + block_3DFA: + if (a != 1) goto block_3E12; + + block_3E02: + goto block_3E4F; + + block_3E12: + if (a != 2) goto block_3E2A; + + block_3E1A: + goto block_3E4F; + + block_3E2A: + if (a != 3) goto block_3E42; + + block_3E32: + goto block_3E4F; + + block_3E42: + + block_3E4F: + /* loopnext */ + goto block_3DCF; + + block_3E53: + goto block_40FB; + + block_3E58: + if (scmd != 1) goto block_3EF1; + + block_3E60: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_3E7D: + if condition goto block_3EEC; + + block_3E80: + if Intrinsic00BD(Intrinsic0016(npc)) goto block_3EE8; + + block_3E96: + if (Item.getQLo(npc) != baseLink) goto block_3EE8; + + block_3EA8: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + + block_3EE8: + /* loopnext */ + goto block_3E7D; + + block_3EEC: + goto block_40FB; + + block_3EF1: + if (scmd != 2) goto block_3F8A; + + block_3EF9: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_3F16: + if condition goto block_3F85; + + block_3F19: + if Intrinsic00BD(Intrinsic0016(npc)) goto block_3F81; + + block_3F2F: + if (Item.getQLo(npc) != baseLink) goto block_3F81; + + block_3F41: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + + block_3F81: + /* loopnext */ + goto block_3F16; + + block_3F85: + goto block_40FB; + + block_3F8A: + if (scmd != 3) goto block_4023; + + block_3F92: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_3FAF: + if condition goto block_401E; + + block_3FB2: + if Intrinsic00BD(Intrinsic0016(npc)) goto block_401A; + + block_3FC8: + if (Item.getQLo(npc) != baseLink) goto block_401A; + + block_3FDA: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + + block_401A: + /* loopnext */ + goto block_3FAF; + + block_401E: + goto block_40FB; + + block_4023: + if (scmd != 4) goto block_4090; + + block_402B: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_4048: + if condition goto block_408B; + + block_404B: + if Intrinsic00BD(Intrinsic0016(npc)) goto block_4087; + + block_4061: + if (Item.getQLo(npc) != baseLink) goto block_4087; + + block_4073: + k = a; + + block_4087: + /* loopnext */ + goto block_4048; + + block_408B: + goto block_40FB; + + block_4090: + if (scmd != 5) goto block_40FB; + + block_4098: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */ + + block_40B5: + if condition goto block_40F6; + + block_40B8: + if Intrinsic00BD(Intrinsic0016(npc)) goto block_40F2; + + block_40CE: + if (Item.getQLo(npc) != baseLink) goto block_40F2; + + block_40E0: + spawn class_0A11_equip(a, npc); + + block_40F2: + /* loopnext */ + goto block_40B5; + + block_40F6: + goto block_40FB; + + block_40FB: + goto block_40FE; + + block_40FE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/TRIGPAD/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/TRIGPAD/slot_06_gotHit.txt new file mode 100644 index 0000000..d28fbcd --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/TRIGPAD/slot_06_gotHit.txt @@ -0,0 +1,96 @@ +function trigpad_gotHit() /* entry=273 class_id=0x04CD slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + a, /* [BP-02h] type=0x69 */ + item, /* [BP-04h] type=0x24 */ + elev; /* [BP-06h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + a = ref; + class_0A0C_slot_2B(vel, ref); + if retval goto block_010A; + + block_0104: + goto block_0321; + + block_010A: + item = ref; + if (Item.getMapNum(arg_06) != 0) goto block_0321; + + block_0123: + if ((Intrinsic0057(arg_06) != 0) || (Item.isInNpc(*(arg_06), item) != 0)) goto block_014F; + + block_0149: + goto block_0321; + + block_014F: + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_01A9: + if 1 goto block_0321; + + block_01B1: + if (Intrinsic0057(arg_06) != 0) goto block_01EC; + + block_01C3: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_031E; + + block_01EC: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x6 */ + + block_0262: + if condition goto block_0316; + + block_0265: + if (Item.getStatus(elev) & 0x1000) goto block_02A1; + + block_0278: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_0265; + + block_02A1: + spawn class_0A0C_slot_32(pid, 120, 0x00000000); + suspend; + /* global_address global_id=0x3C */ + if (Item.getZ() < (Item.getZ(elev) - 5)) goto block_0312; + + block_02E7: + class_0A09_slot_21(Item.getZ(elev), elev); + if retval goto block_0312; + + block_0304: + spawn class_0A09_slot_20(elev); + + block_0312: + /* loopnext */ + goto block_0262; + + block_0316: + goto block_0321; + + block_031E: + goto block_01A9; + + block_0321: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/UPPLATE/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/UPPLATE/slot_06_gotHit.txt new file mode 100644 index 0000000..44db9df --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/UPPLATE/slot_06_gotHit.txt @@ -0,0 +1,21 @@ +function upplate_gotHit() /* entry=241 class_id=0x0447 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if (retval) { + item = ref; + if (Item.getFrame(arg_06) == 2) { + } + else if ((Intrinsic0057(arg_06) != 0) || (Item.use(*(arg_06), item) == 0)) { + } + return; + } + return; +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VALBOX/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/VALBOX/slot_20_slot_20.txt new file mode 100644 index 0000000..f983af9 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VALBOX/slot_20_slot_20.txt @@ -0,0 +1,28 @@ +function valbox_slot_20() /* entry=395 class_id=0x0A19 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + lowByte, /* [BP-02h] type=0x69 */ + highByte, /* [BP-04h] type=0x69 */ + keypadCode; /* [BP-06h] type=0x69 */ + + entry: + lowByte = (Intrinsic0111(arg_06) & 0x00FF); + /* lsh */ + highByte = 8; + keypadCode = (lowByte + highByte); + if (keypadCode > 0x03E7) goto block_0134; + + block_0127: + goto block_013D; + + block_0131: + goto block_013D; + + block_0134: + goto block_013D; + + block_013D: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VALUEBOX/slot_04_cachein.txt b/USECODE/EUSECODE_extracted/pseudocode/VALUEBOX/slot_04_cachein.txt new file mode 100644 index 0000000..5ae8b76 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VALUEBOX/slot_04_cachein.txt @@ -0,0 +1,21 @@ +function valuebox_cachein() /* entry=130 class_id=0x0251 slot=0x04 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + randNum; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x0213, *(arg_06)); + process_exclude(); + class_0A19_slot_20(arg_06); + if (retval != 0) goto block_0125; + + block_0104: + class_0A0C_slot_20(0x0383); + randNum = (retval + 100); + class_0251_slot_20(randNum, arg_06); + + block_0125: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VALUEBOX/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/VALUEBOX/slot_20_slot_20.txt new file mode 100644 index 0000000..5a9e7ee --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VALUEBOX/slot_20_slot_20.txt @@ -0,0 +1,15 @@ +function valuebox_slot_20() /* entry=130 class_id=0x0251 slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + rand, /* [BP+0Ah] type=0x69 */ + lowByte, /* [BP-02h] type=0x69 */ + highByte; /* [BP-04h] type=0x69 */ + + entry: + lowByte = (rand & 0x00FF); + /* rsh */ + highByte = (8 & 3); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VALVE/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/VALVE/slot_01_use.txt new file mode 100644 index 0000000..dbedf8b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VALVE/slot_01_use.txt @@ -0,0 +1,73 @@ +function valve_use() /* entry=6 class_id=0x0030 slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter, /* [BP-02h] type=0x69 */ + item; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) < 4) goto block_01D5; + + block_010D: + counter = 0; + + block_0114: + if (counter <= 4) goto block_015C; + + block_011C: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0114; + + block_015C: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + counter = 0; + + block_018A: + if (counter <= 4) goto block_01D2; + + block_0192: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_018A; + + block_01D2: + goto block_02A0; + + block_01D5: + counter = 0; + + block_01DC: + if (counter <= 4) goto block_0227; + + block_01E4: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_01DC; + + block_0227: + spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06); + suspend; + counter = 0; + + block_0255: + if (counter <= 4) goto block_02A0; + + block_025D: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0255; + + block_02A0: + spawn class_0A0C_slot_32(pid, 15, 0x00000000); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VARDESK/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/VARDESK/slot_01_use.txt new file mode 100644 index 0000000..d0946c9 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VARDESK/slot_01_use.txt @@ -0,0 +1,105 @@ +function vardesk_use() /* entry=238 class_id=0x0442 slot=0x01 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + counter; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + + block_0125: + if (Item.getFrame(arg_06) < 4) goto block_017A; + + block_013A: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_0125; + + block_017A: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + if (global[0x001F] != 9) goto block_01DA; + + block_01AA: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_02F4; + + block_01DA: + if (global[0x001F] != 10) goto block_0215; + + block_01E4: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_02F4; + + block_0215: + if (global[0x001F] != 11) goto block_0250; + + block_021F: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_02F4; + + block_0250: + if (global[0x001F] != 12) goto block_028B; + + block_025A: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_02F4; + + block_028B: + if (global[0x001F] != 13) goto block_02C6; + + block_0295: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_02F4; + + block_02C6: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + + block_02F4: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0312: + if condition goto block_0335; + + block_0315: + /* loopnext */ + goto block_0312; + + block_0335: + counter = 0; + + block_033E: + if (counter <= 4) goto block_0389; + + block_0346: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_033E; + + block_0389: + spawn class_0442_enterFastArea(arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VARDESK/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/VARDESK/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..fc9aac4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VARDESK/slot_0F_enterFastArea.txt @@ -0,0 +1,76 @@ +function vardesk_enterFastArea() /* entry=238 class_id=0x0442 slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter, /* [BP-02h] type=0x69 */ + ran; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) != 6) goto block_03FC; + + block_03F6: + goto block_05A1; + + block_03FC: + suspend; + class_0A0C_slot_20(pid, 100); + spawn class_0A0C_slot_32((retval + 60), 0x00000000); + suspend; + if (!Item.getFrame(arg_06)) goto block_049C; + + block_044D: + counter = 0; + + block_0454: + if (counter <= 4) goto block_049C; + + block_045C: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0454; + + block_049C: + class_0A0C_slot_20(100); + if (retval > 50) goto block_0507; + + block_04B2: + counter = 0; + + block_04B9: + if (counter <= 4) goto block_0504; + + block_04C1: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_04B9; + + block_0504: + goto block_059E; + + block_0507: + class_0A0C_slot_20(3); + ran = (retval + 3); + counter = 0; + + block_0520: + if (counter <= ran) goto block_059E; + + block_052B: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0520; + + block_059E: + goto block_03FC; + + block_05A1: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VARDESK/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/VARDESK/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..bf9eecf --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VARDESK/slot_10_leaveFastArea.txt @@ -0,0 +1,9 @@ +function vardesk_leaveFastArea() /* entry=238 class_id=0x0442 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VARGAS/slot_0E_calledFromAnim.txt b/USECODE/EUSECODE_extracted/pseudocode/VARGAS/slot_0E_calledFromAnim.txt new file mode 100644 index 0000000..c3b9a00 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VARGAS/slot_0E_calledFromAnim.txt @@ -0,0 +1,10 @@ +function vargas_calledFromAnim() /* entry=212 class_id=0x03AC slot=0x0E */ +{ + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + set_info(1, 0); + spawn class_0A1C_slot_20(Item.getQLo(arg_06), *(arg_06), arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VAR_BOOT/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/VAR_BOOT/slot_0A_equip.txt new file mode 100644 index 0000000..ce6d2f3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VAR_BOOT/slot_0A_equip.txt @@ -0,0 +1,94 @@ +function var_boot_equip() /* entry=252 class_id=0x045C slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + event, /* [BP+0Ah] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) != 5) goto block_0106; + + block_0100: + goto block_0345; + + block_0106: + class_0A0C_slot_33(0x021B, *(arg_06)); + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + + block_0140: + if (Item.getFrame(arg_06) != 4) goto block_0192; + + block_0152: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_0140; + + block_0192: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + if (global[0x001F] != 3) goto block_01F2; + + block_01C2: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_02DA; + + block_01F2: + if (global[0x001F] != 4) goto block_022C; + + block_01FC: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_02DA; + + block_022C: + if (global[0x001F] != 6) goto block_0266; + + block_0236: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_02DA; + + block_0266: + if (global[0x001F] != 7) goto block_02A0; + + block_0270: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_02DA; + + block_02A0: + if (global[0x001F] != 9) goto block_02DA; + + block_02AA: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_02DA; + + block_02DA: + counter = 0; + + block_02E1: + if (counter <= 4) goto block_032C; + + block_02E9: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_02E1; + + block_032C: + spawn class_045C_enterFastArea(arg_06); + + block_0345: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VAR_BOOT/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/VAR_BOOT/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..59b451b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VAR_BOOT/slot_0F_enterFastArea.txt @@ -0,0 +1,96 @@ +function var_boot_enterFastArea() /* entry=252 class_id=0x045C slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + counter; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (((((global[0x001F] != 3) || (global[0x001F] != 4)) || (global[0x001F] != 6)) || (global[0x001F] != 7)) || (global[0x001F] != 9)) goto block_0411; + + block_03AF: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_03DA: + if condition goto block_040C; + + block_03DD: + if (Item.getNpcNum(item) != Item.getNpcNum(arg_06)) goto block_0408; + + block_03F9: + class_0A1E_slot_24(0x1000, item); + + block_0408: + /* loopnext */ + goto block_03DA; + + block_040C: + goto block_0476; + + block_0411: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_042F: + if condition goto block_0461; + + block_0432: + if (Item.getNpcNum(item) != Item.getNpcNum(arg_06)) goto block_045D; + + block_044E: + class_0A1E_slot_23(0x1000, item); + + block_045D: + /* loopnext */ + goto block_042F; + + block_0461: + goto block_058A; + + block_0476: + suspend; + class_0A0C_slot_20(pid, 120); + spawn class_0A0C_slot_32((retval + 0x00DC), 0x00000000); + suspend; + counter = 0; + + block_04BC: + if (counter <= 4) goto block_0504; + + block_04C4: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_04BC; + + block_0504: + class_0A0C_slot_20(pid, 120); + spawn class_0A0C_slot_32((retval + 120), 0x00000000); + suspend; + counter = 0; + + block_053C: + if (counter <= 4) goto block_0587; + + block_0544: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_053C; + + block_0587: + goto block_0476; + + block_058A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VAR_BOOT/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/VAR_BOOT/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..a456b89 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VAR_BOOT/slot_10_leaveFastArea.txt @@ -0,0 +1,9 @@ +function var_boot_leaveFastArea() /* entry=252 class_id=0x045C slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VETRON/slot_0E_calledFromAnim.txt b/USECODE/EUSECODE_extracted/pseudocode/VETRON/slot_0E_calledFromAnim.txt new file mode 100644 index 0000000..1116b45 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VETRON/slot_0E_calledFromAnim.txt @@ -0,0 +1,14 @@ +function vetron_calledFromAnim() /* entry=288 class_id=0x04E6 slot=0x0E */ +{ + var + referent, /* [BP+00h] type=0x69 */ + n; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + n = *(arg_06); + spawn class_0A1C_slot_20(Item.getQLo(arg_06), *(arg_06), n); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/VMAIL/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/VMAIL/slot_0A_equip.txt new file mode 100644 index 0000000..72080c5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/VMAIL/slot_0A_equip.txt @@ -0,0 +1,103 @@ +function vmail_equip() /* entry=195 class_id=0x0367 slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + textFile; /* [BP-02h] type=0x73 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + suspend; + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + textFile = Npc.isDead(global[0x001B]); + spawn class_0A0C_slot_32("KILL BOARD:^-----------^Guards: ", Npc.isDead(global[0x000B]), "^Soldiers: ", Npc.isDead(global[0x000D]), "^Storm troopers: ", Npc.isDead(global[0x000F]), "^Elite troopers: ", Npc.isDead(global[0x0011]), "^Enforcers: ", Npc.isDead(global[0x0013]), "^^Androids: ", Npc.isDead(global[0x0015]), "^Thermatrons: ", Npc.isDead(global[0x0017]), "^Vetrons: ", Npc.isDead(global[0x0019]), "^Solartrons: ", pid, 10, 0x00000000); + suspend; + if (global[0x001F] != 4) goto block_02E4; + + block_02B4: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0450; + + block_02E4: + if (global[0x001F] != 6) goto block_031E; + + block_02EE: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0450; + + block_031E: + if (global[0x001F] != 7) goto block_0358; + + block_0328: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0450; + + block_0358: + if (global[0x001F] != 8) goto block_0392; + + block_0362: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0450; + + block_0392: + if (global[0x001F] != 11) goto block_03CD; + + block_039C: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0450; + + block_03CD: + if (global[0x001F] != 12) goto block_0408; + + block_03D7: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0450; + + block_0408: + if (global[0x001F] != 14) goto block_0443; + + block_0412: + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + goto block_0450; + + block_0443: + + block_0450: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_06_gotHit.txt new file mode 100644 index 0000000..7e584c7 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_06_gotHit.txt @@ -0,0 +1,14 @@ +function walgunew_gotHit() /* entry=197 class_id=0x0373 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1A_slot_49(vel, ref, arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_0A_equip.txt new file mode 100644 index 0000000..6ce9c9b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_0A_equip.txt @@ -0,0 +1,20 @@ +function walgunew_equip() /* entry=197 class_id=0x0373 slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.pop() != 0) goto block_0290; + + block_0265: + spawn class_0A1A_slot_24(pid, arg_0A, Item.pop(), arg_06); + suspend; + goto block_02B7; + + block_0290: + spawn class_0A1A_slot_24(pid, arg_0A, global[0x003C], arg_06); + suspend; + + block_02B7: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_0B_unequip.txt new file mode 100644 index 0000000..23e1035 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_0B_unequip.txt @@ -0,0 +1,17 @@ +function walgunew_unequip() /* entry=197 class_id=0x0373 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 4) goto block_0160; + + block_015A: + goto block_017B; + + block_0160: + spawn class_0A1A_slot_27(arg_06); + + block_017B: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..192b2ec --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_0F_enterFastArea.txt @@ -0,0 +1,17 @@ +function walgunew_enterFastArea() /* entry=197 class_id=0x0373 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 4) goto block_0103; + + block_00FD: + goto block_011E; + + block_0103: + spawn class_0A1A_slot_27(arg_06); + + block_011E: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..b8c0b84 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALGUNEW/slot_10_leaveFastArea.txt @@ -0,0 +1,11 @@ +function walgunew_leaveFastArea() /* entry=197 class_id=0x0373 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + class_0A0C_slot_33(1, *(arg_06)); + class_0A0C_slot_33(0x020A, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_06_gotHit.txt new file mode 100644 index 0000000..4e697cb --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_06_gotHit.txt @@ -0,0 +1,14 @@ +function walgunns_gotHit() /* entry=162 class_id=0x02F0 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1A_slot_49(vel, ref, arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_0A_equip.txt new file mode 100644 index 0000000..f333522 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_0A_equip.txt @@ -0,0 +1,20 @@ +function walgunns_equip() /* entry=162 class_id=0x02F0 slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.pop() != 0) goto block_0290; + + block_0265: + spawn class_0A1A_slot_24(pid, arg_0A, Item.pop(), arg_06); + suspend; + goto block_02B7; + + block_0290: + spawn class_0A1A_slot_24(pid, arg_0A, global[0x003C], arg_06); + suspend; + + block_02B7: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_0B_unequip.txt new file mode 100644 index 0000000..d182a29 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_0B_unequip.txt @@ -0,0 +1,17 @@ +function walgunns_unequip() /* entry=162 class_id=0x02F0 slot=0x0B */ +{ + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 4) goto block_0160; + + block_015A: + goto block_017B; + + block_0160: + spawn class_0A1A_slot_27(arg_06); + + block_017B: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..a4fe214 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_0F_enterFastArea.txt @@ -0,0 +1,17 @@ +function walgunns_enterFastArea() /* entry=162 class_id=0x02F0 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getStatus(arg_06) & 4) goto block_0103; + + block_00FD: + goto block_011E; + + block_0103: + spawn class_0A1A_slot_27(arg_06); + + block_011E: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..0ea4cb3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALGUNNS/slot_10_leaveFastArea.txt @@ -0,0 +1,11 @@ +function walgunns_leaveFastArea() /* entry=162 class_id=0x02F0 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + class_0A0C_slot_33(1, *(arg_06)); + class_0A0C_slot_33(0x020A, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_20_slot_20.txt new file mode 100644 index 0000000..0ea8349 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_20_slot_20.txt @@ -0,0 +1,20 @@ +function wallgun_slot_20() /* entry=396 class_id=0x0A1A slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + num; /* [BP-02h] type=0x69 */ + + entry: + num = Intrinsic00FB(arg_06); + if (num > 99) goto block_020D; + + block_0203: + num = (num - 100); + + block_020D: + goto block_0219; + + block_0219: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_21_slot_21.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_21_slot_21.txt new file mode 100644 index 0000000..16a7b55 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_21_slot_21.txt @@ -0,0 +1,21 @@ +function wallgun_slot_21() /* entry=396 class_id=0x0A1A slot=0x21 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + num; /* [BP-02h] type=0x69 */ + + entry: + num = Intrinsic00FB(arg_06); + if (num > 99) goto block_0265; + + block_025B: + num = (num - 100); + + block_0265: + /* mod */ + goto block_0271; + + block_0271: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_22_slot_22.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_22_slot_22.txt new file mode 100644 index 0000000..d4e47a5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_22_slot_22.txt @@ -0,0 +1,7 @@ +function wallgun_slot_22() /* entry=396 class_id=0x0A1A slot=0x22 */ +{ + entry: + class_0A1A_slot_21(arg_0A, arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_23_slot_23.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_23_slot_23.txt new file mode 100644 index 0000000..72de22d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_23_slot_23.txt @@ -0,0 +1,7 @@ +function wallgun_slot_23() /* entry=396 class_id=0x0A1A slot=0x23 */ +{ + entry: + class_0A1A_slot_20((arg_0A * 10), arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_24_slot_24.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_24_slot_24.txt new file mode 100644 index 0000000..ffdcad6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_24_slot_24.txt @@ -0,0 +1,49 @@ +function wallgun_slot_24() /* entry=396 class_id=0x0A1A slot=0x24 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + var; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + class_0A1A_slot_25(Item.getFrame(arg_06), Intrinsic0016(arg_06), arg_06); + if ((retval != 1) || (Intrinsic002C(arg_06) != 0)) goto block_0365; + + block_035F: + goto block_0409; + + block_0365: + if ((var < 90) || (var > 99)) goto block_03B1; + + block_0379: + class_0A0C_slot_33(1, *(arg_06)); + class_0A0C_slot_33(0x020A, *(arg_06)); + spawn class_0A1A_slot_28(var, target, arg_06); + goto block_0409; + + block_03B1: + if (var != 90) goto block_03CD; + + block_03BC: + spawn class_0A1A_slot_34(arg_06); + goto block_0409; + + block_03CD: + if (var != 91) goto block_03E9; + + block_03D8: + spawn class_0A1A_slot_35(arg_06); + goto block_0409; + + block_03E9: + if (var != 92) goto block_0409; + + block_03F4: + spawn class_0A1A_slot_4A(target, arg_06); + goto block_0409; + + block_0409: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_25_slot_25.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_25_slot_25.txt new file mode 100644 index 0000000..fe89bea --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_25_slot_25.txt @@ -0,0 +1,65 @@ +function wallgun_slot_25() /* entry=396 class_id=0x0A1A slot=0x25 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + t, /* [BP+0Ah] type=0x69 */ + f; /* [BP+0Ch] type=0x69 */ + + entry: + if ((((t != 0x0113) || (t != 0x0108)) || (t != 0x02F0)) || (t != 0x0373)) goto block_048D; + + block_0467: + if (f != 27) goto block_0481; + + block_0475: + goto block_0501; + + block_047E: + goto block_048A; + + block_0481: + goto block_0501; + + block_048A: + goto block_04F8; + + block_048D: + if ((t != 0x0399) || (t != 0x03A1)) goto block_04CF; + + block_04A3: + if ((f != 18) || (f != 19)) goto block_04C3; + + block_04B7: + goto block_0501; + + block_04C0: + goto block_04CC; + + block_04C3: + goto block_0501; + + block_04CC: + goto block_04F8; + + block_04CF: + if (t != 0x04C8) goto block_04E7; + + block_04DB: + goto block_0501; + + block_04E4: + goto block_04F8; + + block_04E7: + if (f != 9) goto block_04F8; + + block_04F2: + goto block_0501; + + block_04F8: + goto block_0501; + + block_0501: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_26_slot_26.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_26_slot_26.txt new file mode 100644 index 0000000..9fa400a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_26_slot_26.txt @@ -0,0 +1,17 @@ +function wallgun_slot_26() /* entry=396 class_id=0x0A1A slot=0x26 */ +{ + entry: + set_info(0x0001, *(arg_06)); + + block_0536: + if (Intrinsic0007(arg_06) != 0) goto block_0577; + + block_054E: + spawn class_0A0C_slot_32(pid, 20, 0x00000000); + suspend; + goto block_0536; + + block_0577: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_27_slot_27.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_27_slot_27.txt new file mode 100644 index 0000000..3eff10e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_27_slot_27.txt @@ -0,0 +1,43 @@ +function wallgun_slot_27() /* entry=396 class_id=0x0A1A slot=0x27 */ +{ + entry: + set_info(0x0001, *(arg_06)); + class_0A1A_slot_25(Item.getFrame(arg_06), Intrinsic0016(arg_06), arg_06); + if retval goto block_05C8; + + block_05C2: + goto block_06A2; + + block_05C8: + class_0A1A_slot_29(arg_06); + if retval goto block_0606; + + block_05D8: + if (Item.getFrame(arg_06) > 15) goto block_0603; + + block_05ED: + + block_0603: + goto block_0631; + + block_0606: + if (Item.getFrame(arg_06) > 8) goto block_0631; + + block_061B: + + block_0631: + if (Item.pop() != 0) goto block_0674; + + block_0642: + spawn class_0A1A_slot_28(pid, Intrinsic00C1(arg_06), Item.pop(), arg_06); + suspend; + goto block_06A2; + + block_0674: + spawn class_0A1A_slot_28(pid, Intrinsic00C1(arg_06), global[0x003C], arg_06); + suspend; + + block_06A2: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_28_slot_28.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_28_slot_28.txt new file mode 100644 index 0000000..f4c7dcd --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_28_slot_28.txt @@ -0,0 +1,246 @@ +function wallgun_slot_28() /* entry=396 class_id=0x0A1A slot=0x28 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + brain, /* [BP+0Ch] type=0x69 */ + h, /* [BP-02h] type=0x69 */ + delay; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x020A, *(arg_06)); + if (brain > 99) goto block_06ED; + + block_06E3: + brain = (brain - 100); + + block_06ED: + h = Intrinsic00FB(arg_06); + if (h != 0) goto block_0713; + + block_0706: + + block_0713: + if (((h != 99) || (h != 0x00C7)) || (brain != 6)) goto block_0734; + + block_072E: + goto block_0BFE; + + block_0734: + class_0A1A_slot_25(Item.getFrame(arg_06), Intrinsic0016(arg_06), arg_06); + if (retval != 1) goto block_075F; + + block_0759: + goto block_0BFE; + + block_075F: + if 1 goto block_0BFE; + + block_0767: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + if (brain != 7) goto block_07B0; + + block_078E: + spawn class_0A1A_slot_36(pid, arg_06); + suspend; + goto block_0BD5; + + block_07B0: + if (brain != 9) goto block_07DA; + + block_07B8: + spawn class_0A1A_slot_37(pid, arg_06); + suspend; + goto block_0BD5; + + block_07DA: + if (brain != 8) goto block_0808; + + block_07E2: + spawn class_0A1A_slot_32(pid, target, arg_06); + suspend; + goto block_0BD5; + + block_0808: + if (brain != 10) goto block_0836; + + block_0810: + spawn class_0A1A_slot_33(pid, target, arg_06); + suspend; + goto block_0BD5; + + block_0836: + if (brain != 11) goto block_0900; + + block_083E: + if 1 goto block_08FD; + + block_0846: + if (Item.pop() != 0) goto block_0864; + + block_0857: + target = Item.pop(); + goto block_086B; + + block_0864: + target = 1; + + block_086B: + spawn class_0A1A_slot_3C(pid, brain, target, arg_06); + suspend; + spawn class_0A1A_slot_2F(pid, brain, target, arg_06); + suspend; + spawn class_0A0C_slot_32(pid, 3, 0x00000000); + suspend; + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + goto block_083E; + + block_08FD: + goto block_0BD5; + + block_0900: + if (brain != 1) goto block_0955; + + block_0908: + if (Item.pop() != 0) goto block_0926; + + block_0919: + target = Item.pop(); + goto block_092D; + + block_0926: + target = 1; + + block_092D: + spawn class_0A1A_slot_3D(pid, brain, target, arg_06); + suspend; + goto block_0BD5; + + block_0955: + if (brain != 2) goto block_0A04; + + block_095D: + if 1 goto block_09DC; + + block_0965: + if (Item.pop() != 0) goto block_0983; + + block_0976: + target = Item.pop(); + goto block_098A; + + block_0983: + target = 1; + + block_098A: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + spawn class_0A1A_slot_31(pid, brain, target, arg_06); + suspend; + /* dword_to_word */ + if process_result goto block_09D9; + + block_09D3: + goto block_09DC; + + block_09D9: + goto block_095D; + + block_09DC: + spawn class_0A1A_slot_3D(pid, brain, target, arg_06); + suspend; + goto block_0BD5; + + block_0A04: + if (brain != 5) goto block_0A35; + + block_0A0C: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + goto block_0BD5; + + block_0A35: + if (brain != 12) goto block_0A63; + + block_0A3D: + spawn class_0A1A_slot_38(pid, target, arg_06); + suspend; + goto block_0BD5; + + block_0A63: + if (brain != 13) goto block_0A91; + + block_0A6B: + spawn class_0A1A_slot_39(pid, target, arg_06); + suspend; + goto block_0BD5; + + block_0A91: + if (brain != 14) goto block_0ABF; + + block_0A99: + spawn class_0A1A_slot_3A(pid, target, arg_06); + suspend; + goto block_0BD5; + + block_0ABF: + if (brain != 15) goto block_0AED; + + block_0AC7: + spawn class_0A1A_slot_3B(pid, target, arg_06); + suspend; + goto block_0BD5; + + block_0AED: + if (Item.pop() != 0) goto block_0B0B; + + block_0AFE: + target = Item.pop(); + goto block_0B12; + + block_0B0B: + target = 1; + + block_0B12: + spawn class_0A1A_slot_31(pid, brain, target, arg_06); + suspend; + /* dword_to_word */ + if process_result goto block_0B64; + + block_0B3C: + spawn class_0A1A_slot_3D(pid, brain, target, arg_06); + suspend; + goto block_0BD5; + + block_0B64: + class_0A1A_slot_20(arg_06); + delay = retval; + if (delay != 0) goto block_0B82; + + block_0B7E: + delay = 3; + + block_0B82: + if (delay > 5) goto block_0B91; + + block_0B8D: + delay = 5; + + block_0B91: + delay = (delay - 1); + delay = (delay * 30); + delay = (delay + 120); + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + + block_0BD5: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + goto block_075F; + + block_0BFE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_29_slot_29.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_29_slot_29.txt new file mode 100644 index 0000000..57d98d9 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_29_slot_29.txt @@ -0,0 +1,20 @@ +function wallgun_slot_29() /* entry=396 class_id=0x0A1A slot=0x29 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + t; /* [BP-02h] type=0x69 */ + + entry: + t = Intrinsic0016(arg_06); + if ((t != 0x04C8) || (t != 0x01CD)) goto block_0C6B; + + block_0C65: + goto block_0C74; + + block_0C6B: + goto block_0C74; + + block_0C74: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2A_slot_2A.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2A_slot_2A.txt new file mode 100644 index 0000000..5282411 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2A_slot_2A.txt @@ -0,0 +1,17 @@ +function wallgun_slot_2A() /* entry=396 class_id=0x0A1A slot=0x2A */ +{ + entry: + /* create_list element_size=0x2 count=0x5 */ + /* in_list element_size=0x2 slist_flag=0x0 */ + if 0x01B9 goto block_0CD1; + + block_0CC8: + goto block_0CDA; + + block_0CD1: + goto block_0CDA; + + block_0CDA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2B_slot_2B.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2B_slot_2B.txt new file mode 100644 index 0000000..41adf2b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2B_slot_2B.txt @@ -0,0 +1,20 @@ +function wallgun_slot_2B() /* entry=396 class_id=0x0A1A slot=0x2B */ +{ + entry: + /* create_list element_size=0x2 count=0x3 */ + /* in_list element_size=0x2 slist_flag=0x0 */ + if 0x03A1 goto block_0D28; + + block_0D1C: + goto block_0D31; + + block_0D25: + goto block_0D31; + + block_0D28: + goto block_0D31; + + block_0D31: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2C_slot_2C.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2C_slot_2C.txt new file mode 100644 index 0000000..ac2628c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2C_slot_2C.txt @@ -0,0 +1,31 @@ +function wallgun_slot_2C() /* entry=396 class_id=0x0A1A slot=0x2C */ +{ + entry: + class_0A1A_slot_2A(arg_06); + class_0A1A_slot_2B((retval != 1), arg_06); + class_0A1A_slot_29((retval != 1), arg_06); + if (retval != 1) goto block_0D97; + + block_0D84: + goto block_0DD0; + + block_0D94: + goto block_0DD0; + + block_0D97: + class_0A1A_slot_2A(arg_06); + if retval goto block_0DBD; + + block_0DA7: + goto block_0DD0; + + block_0DBA: + goto block_0DD0; + + block_0DBD: + goto block_0DD0; + + block_0DD0: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2D_slot_2D.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2D_slot_2D.txt new file mode 100644 index 0000000..429d296 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2D_slot_2D.txt @@ -0,0 +1,98 @@ +function wallgun_slot_2D() /* entry=396 class_id=0x0A1A slot=0x2D */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + targItem, /* [BP-02h] type=0x24 */ + coordToCoordDir, /* [BP-04h] type=0x69 */ + left, /* [BP-06h] type=0x69 */ + right, /* [BP-08h] type=0x69 */ + dir; /* [BP-0Ah] type=0x69 */ + + entry: + targItem = target; + coordToCoordDir = Item.getDirToItem(Item.legal_create(targItem), Intrinsic0013(targItem), Item.legal_create(arg_06), Intrinsic0013(arg_06)); + class_0A1A_slot_2C(arg_06); + if (retval != coordToCoordDir) goto block_0E41; + + block_0E3B: + goto block_0F58; + + block_0E41: + class_0A1A_slot_29(arg_06); + if retval goto block_0F0B; + + block_0E51: + class_0A1A_slot_2C(arg_06); + dir = retval; + left = 0; + right = 0; + + block_0E6E: + if ((dir != coordToCoordDir) && (left < 15)) goto block_0EAB; + + block_0E82: + left = (1 + left); + if (dir != 0) goto block_0E9E; + + block_0E97: + dir = 15; + goto block_0EA8; + + block_0E9E: + dir = (dir - 1); + + block_0EA8: + goto block_0E6E; + + block_0EAB: + class_0A1A_slot_2C(arg_06); + dir = retval; + + block_0EBA: + if ((dir != coordToCoordDir) && (right < 15)) goto block_0EF7; + + block_0ECE: + right = (1 + right); + if (dir != 15) goto block_0EEA; + + block_0EE3: + dir = 0; + goto block_0EF4; + + block_0EEA: + dir = (1 + dir); + + block_0EF4: + goto block_0EBA; + + block_0EF7: + if (left < right) goto block_0F08; + + block_0F02: + goto block_0F58; + + block_0F08: + goto block_0F4F; + + block_0F0B: + class_0A1A_slot_2A(arg_06); + if (((retval != 1) && (coordToCoordDir >= 13)) && (coordToCoordDir <= 15)) goto block_0F36; + + block_0F30: + goto block_0F58; + + block_0F36: + class_0A1A_slot_2C(arg_06); + if (retval > coordToCoordDir) goto block_0F4F; + + block_0F49: + goto block_0F58; + + block_0F4F: + goto block_0F58; + + block_0F58: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2E_slot_2E.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2E_slot_2E.txt new file mode 100644 index 0000000..1ae7220 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2E_slot_2E.txt @@ -0,0 +1,68 @@ +function wallgun_slot_2E() /* entry=396 class_id=0x0A1A slot=0x2E */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + x1, /* [BP-02h] type=0x69 */ + x2, /* [BP-04h] type=0x69 */ + y1, /* [BP-06h] type=0x69 */ + y2, /* [BP-08h] type=0x69 */ + z1, /* [BP-09h] type=0x62 */ + z2, /* [BP-0Ah] type=0x62 */ + dir, /* [BP-0Bh] type=0x62 */ + targetNpc; /* [BP-0Dh] type=0x24 */ + + entry: + class_0A1A_slot_2C(arg_06); + dir = retval; + class_0A1A_slot_3E(dir, arg_06); + x1 = retval; + class_0A1A_slot_3F(dir, arg_06); + y1 = retval; + class_0A1A_slot_40(dir, arg_06); + z1 = retval; + targetNpc = target; + if Kernel.resetRef(targetNpc) goto block_1021; + + block_1018: + goto block_10DC; + + block_1021: + class_0A1A_slot_2D(target, arg_06); + if (!retval) goto block_10D3; + + block_1037: + if (Intrinsic00C1(arg_06) > 99) goto block_1052; + + block_1049: + goto block_10DC; + + block_1052: + if Item.getQHi(z1, y1, x1, dir, target, arg_06) goto block_1071; + + block_106B: + goto block_10DC; + + block_1071: + class_0A1A_slot_29(arg_06); + if retval goto block_10D3; + + block_1081: + class_0A1A_slot_41(dir, arg_06); + x2 = retval; + class_0A1A_slot_42(dir, arg_06); + y2 = retval; + class_0A1A_slot_43(dir, arg_06); + z2 = retval; + if Item.getQHi(z2, y2, x2, dir, target, arg_06) goto block_10D3; + + block_10CD: + goto block_10DC; + + block_10D3: + goto block_10DC; + + block_10DC: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2F_slot_2F.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2F_slot_2F.txt new file mode 100644 index 0000000..f9ea546 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_2F_slot_2F.txt @@ -0,0 +1,59 @@ +function wallgun_slot_2F() /* entry=396 class_id=0x0A1A slot=0x2F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + brain, /* [BP+0Ch] type=0x69 */ + delay, /* [BP-02h] type=0x69 */ + cs, /* [BP-04h] type=0x69 */ + dist; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + class_0A1A_slot_20(arg_06); + delay = retval; + if (!delay) goto block_116C; + + block_1168: + delay = 3; + + block_116C: + if (delay > 5) goto block_117B; + + block_1177: + delay = 5; + + block_117B: + delay = (delay * 5); + + block_1185: + if delay goto block_121C; + + block_118D: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + class_0A1A_slot_2E(target, arg_06); + cs = retval; + class_0A0C_slot_29(*(arg_06), target); + dist = retval; + if ((((brain != 4) && (cs != 1)) && (dist <= 20)) || (((brain != 4) && (cs != 1)) && (dist <= 46))) goto block_120F; + + block_1206: + goto block_1222; + + block_120C: + goto block_1219; + + block_120F: + delay = (delay - 1); + + block_1219: + goto block_1185; + + block_121C: + goto block_1222; + + block_1222: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_30_slot_30.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_30_slot_30.txt new file mode 100644 index 0000000..21ddae0 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_30_slot_30.txt @@ -0,0 +1,28 @@ +function wallgun_slot_30() /* entry=396 class_id=0x0A1A slot=0x30 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + delay; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + class_0A1A_slot_21(arg_06); + delay = retval; + if (!delay) goto block_1296; + + block_1292: + delay = 3; + + block_1296: + if (delay > 5) goto block_12A5; + + block_12A1: + delay = 5; + + block_12A5: + delay = (delay * 8); + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_31_slot_31.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_31_slot_31.txt new file mode 100644 index 0000000..d62fff1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_31_slot_31.txt @@ -0,0 +1,200 @@ +function wallgun_slot_31() /* entry=396 class_id=0x0A1A slot=0x31 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + brain, /* [BP+0Ch] type=0x69 */ + left, /* [BP-02h] type=0x69 */ + right, /* [BP-04h] type=0x69 */ + inc, /* [BP-06h] type=0x69 */ + f, /* [BP-08h] type=0x69 */ + panRight, /* [BP-09h] type=0x62 */ + panLeft, /* [BP-0Ah] type=0x62 */ + isTurret; /* [BP-0Bh] type=0x62 */ + + entry: + set_info(0x0001, *(arg_06)); + panRight = 1; + panLeft = 1; + class_0A1A_slot_29(arg_06); + isTurret = retval; + if (isTurret != 1) goto block_134E; + + block_1336: + inc = 1; + left = 0; + right = 15; + goto block_138B; + + block_134E: + class_0A1A_slot_2B(arg_06); + if retval goto block_1376; + + block_135E: + inc = 1; + left = 0; + right = 8; + goto block_138B; + + block_1376: + inc = -1; + left = 8; + right = 0; + + block_138B: + class_0A1A_slot_2E(target, arg_06); + if retval goto block_13E5; + + block_139D: + if (brain != 4) goto block_13BB; + + block_13AE: + /* word_to_dword */ + /* pop_result */ + goto block_15FA; + + block_13B8: + goto block_13E5; + + block_13BB: + class_0A0C_slot_29(target, *(arg_06)); + if (retval <= 20) goto block_13E5; + + block_13D8: + /* word_to_dword */ + /* pop_result */ + goto block_15FA; + + block_13E2: + goto block_13E5; + + block_13E5: + if 1 goto block_15FA; + + block_13ED: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + f = Item.getFrame(arg_06); + if (isTurret != 1) goto block_145F; + + block_1425: + if (f > 19) goto block_145C; + + block_1430: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_13E5; + + block_145C: + goto block_1499; + + block_145F: + if (f > 8) goto block_1499; + + block_146A: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_13E5; + + block_1496: + goto block_1499; + + block_1499: + if panRight goto block_14CF; + + block_14A1: + if (f != right) goto block_14C2; + + block_14B2: + panRight = 0; + goto block_13E5; + + block_14BF: + goto block_14CC; + + block_14C2: + f = (f + inc); + + block_14CC: + goto block_155E; + + block_14CF: + if ((panLeft != 1) && (isTurret != 0)) goto block_1511; + + block_14E3: + if (f != left) goto block_1504; + + block_14F4: + panLeft = 0; + goto block_13E5; + + block_1501: + goto block_150E; + + block_1504: + f = (f - inc); + + block_150E: + goto block_155E; + + block_1511: + if (isTurret != 1) goto block_153C; + + block_1522: + /* word_to_dword */ + /* pop_result */ + goto block_15FA; + + block_1539: + goto block_155E; + + block_153C: + if (f != 4) goto block_1554; + + block_1547: + /* word_to_dword */ + /* pop_result */ + goto block_15FA; + + block_1551: + goto block_155E; + + block_1554: + f = (f + inc); + + block_155E: + spawn class_0A1A_slot_2F(pid, brain, target, arg_06); + suspend; + class_0A1A_slot_2E(target, arg_06); + if retval goto block_15F7; + + block_15AF: + if (brain != 4) goto block_15CD; + + block_15C0: + /* word_to_dword */ + /* pop_result */ + goto block_15FA; + + block_15CA: + goto block_15F7; + + block_15CD: + class_0A0C_slot_29(target, *(arg_06)); + if (retval <= 20) goto block_15F7; + + block_15EA: + /* word_to_dword */ + /* pop_result */ + goto block_15FA; + + block_15F4: + goto block_15F7; + + block_15F7: + goto block_13E5; + + block_15FA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_32_slot_32.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_32_slot_32.txt new file mode 100644 index 0000000..6f23326 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_32_slot_32.txt @@ -0,0 +1,151 @@ +function wallgun_slot_32() /* entry=396 class_id=0x0A1A slot=0x32 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + left, /* [BP-02h] type=0x69 */ + right, /* [BP-04h] type=0x69 */ + inc, /* [BP-06h] type=0x69 */ + f, /* [BP-08h] type=0x69 */ + panRight, /* [BP-09h] type=0x62 */ + panLeft, /* [BP-0Ah] type=0x62 */ + isTurret, /* [BP-0Bh] type=0x62 */ + delay; /* [BP-0Dh] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + panRight = 1; + panLeft = 1; + class_0A1A_slot_29(arg_06); + isTurret = retval; + if (isTurret != 1) goto block_16C5; + + block_16AD: + inc = 1; + left = 0; + right = 15; + goto block_1702; + + block_16C5: + class_0A1A_slot_2B(arg_06); + if retval goto block_16ED; + + block_16D5: + inc = 1; + left = 0; + right = 8; + goto block_1702; + + block_16ED: + inc = -1; + left = 8; + right = 0; + + block_1702: + class_0A1A_slot_20(arg_06); + delay = (retval * 5); + + block_1714: + if 1 goto block_18F9; + + block_171C: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + f = Item.getFrame(arg_06); + if (isTurret != 1) goto block_178E; + + block_1754: + if (f > 19) goto block_178B; + + block_175F: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_1714; + + block_178B: + goto block_17C8; + + block_178E: + if (f > 8) goto block_17C8; + + block_1799: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_1714; + + block_17C5: + goto block_17C8; + + block_17C8: + if panRight goto block_17FE; + + block_17D0: + if (f != right) goto block_17F1; + + block_17E1: + panRight = 0; + goto block_1714; + + block_17EE: + goto block_17FB; + + block_17F1: + f = (f + inc); + + block_17FB: + goto block_1881; + + block_17FE: + if ((panLeft != 1) && (isTurret != 0)) goto block_1840; + + block_1812: + if (f != left) goto block_1833; + + block_1823: + panLeft = 0; + goto block_1714; + + block_1830: + goto block_183D; + + block_1833: + f = (f - inc); + + block_183D: + goto block_1881; + + block_1840: + if (isTurret != 1) goto block_185B; + + block_1851: + f = left; + goto block_1873; + + block_185B: + if (f != 4) goto block_1873; + + block_1866: + f = (f + inc); + goto block_1873; + + block_1873: + panRight = 1; + panLeft = 1; + + block_1881: + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + class_0A1A_slot_2E(target, arg_06); + if retval goto block_18F6; + + block_18D3: + spawn class_0A1A_slot_46(pid, target, arg_06); + suspend; + + block_18F6: + goto block_1714; + + block_18F9: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_33_slot_33.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_33_slot_33.txt new file mode 100644 index 0000000..485c5bd --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_33_slot_33.txt @@ -0,0 +1,149 @@ +function wallgun_slot_33() /* entry=396 class_id=0x0A1A slot=0x33 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + left, /* [BP-02h] type=0x69 */ + right, /* [BP-04h] type=0x69 */ + inc, /* [BP-06h] type=0x69 */ + f, /* [BP-08h] type=0x69 */ + panRight, /* [BP-09h] type=0x62 */ + panLeft, /* [BP-0Ah] type=0x62 */ + isTurret, /* [BP-0Bh] type=0x62 */ + delay; /* [BP-0Dh] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + panRight = 1; + panLeft = 1; + class_0A1A_slot_29(arg_06); + isTurret = retval; + if (isTurret != 1) goto block_19C4; + + block_19AC: + inc = 1; + left = 0; + right = 15; + goto block_1A01; + + block_19C4: + class_0A1A_slot_2B(arg_06); + if retval goto block_19EC; + + block_19D4: + inc = 1; + left = 0; + right = 8; + goto block_1A01; + + block_19EC: + inc = -1; + left = 8; + right = 0; + + block_1A01: + class_0A1A_slot_20(arg_06); + delay = (retval * 5); + + block_1A13: + if 1 goto block_1BFB; + + block_1A1B: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + f = Item.getFrame(arg_06); + if (isTurret != 1) goto block_1A8D; + + block_1A53: + if (f > 19) goto block_1A8A; + + block_1A5E: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_1A13; + + block_1A8A: + goto block_1AC7; + + block_1A8D: + if (f > 8) goto block_1AC7; + + block_1A98: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_1A13; + + block_1AC4: + goto block_1AC7; + + block_1AC7: + if (panLeft != 1) goto block_1B00; + + block_1AD2: + if (f != left) goto block_1AF3; + + block_1AE3: + panLeft = 0; + goto block_1A13; + + block_1AF0: + goto block_1AFD; + + block_1AF3: + f = (f - inc); + + block_1AFD: + goto block_1B83; + + block_1B00: + if ((panRight != 1) && (isTurret != 0)) goto block_1B42; + + block_1B14: + if (f != right) goto block_1B35; + + block_1B25: + panRight = 0; + goto block_1A13; + + block_1B32: + goto block_1B3F; + + block_1B35: + f = (f + inc); + + block_1B3F: + goto block_1B83; + + block_1B42: + panRight = 1; + panLeft = 1; + if (isTurret != 1) goto block_1B6B; + + block_1B61: + f = right; + goto block_1B83; + + block_1B6B: + if (f != 4) goto block_1B83; + + block_1B76: + f = (f - inc); + goto block_1B83; + + block_1B83: + class_0A1A_slot_2E(target, arg_06); + if retval goto block_1BD2; + + block_1BAF: + spawn class_0A1A_slot_46(pid, target, arg_06); + suspend; + + block_1BD2: + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + goto block_1A13; + + block_1BFB: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_34_slot_34.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_34_slot_34.txt new file mode 100644 index 0000000..2e7e16b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_34_slot_34.txt @@ -0,0 +1,118 @@ +function wallgun_slot_34() /* entry=396 class_id=0x0A1A slot=0x34 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + left, /* [BP-02h] type=0x69 */ + right, /* [BP-04h] type=0x69 */ + inc, /* [BP-06h] type=0x69 */ + f, /* [BP-08h] type=0x69 */ + panRight, /* [BP-09h] type=0x62 */ + isTurret, /* [BP-0Ah] type=0x62 */ + delay; /* [BP-0Ch] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + panRight = 1; + class_0A1A_slot_29(arg_06); + isTurret = retval; + if (isTurret != 1) goto block_1CBF; + + block_1CA7: + inc = 1; + left = 0; + right = 15; + goto block_1CFC; + + block_1CBF: + class_0A1A_slot_2B(arg_06); + if retval goto block_1CE7; + + block_1CCF: + inc = 1; + left = 0; + right = 8; + goto block_1CFC; + + block_1CE7: + inc = -1; + left = 8; + right = 0; + + block_1CFC: + class_0A1A_slot_20(arg_06); + delay = (retval * 5); + + block_1D0E: + if 1 goto block_1E5E; + + block_1D16: + f = Item.getFrame(arg_06); + if (isTurret != 1) goto block_1D69; + + block_1D2F: + if (f > 19) goto block_1D66; + + block_1D3A: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_1D0E; + + block_1D66: + goto block_1DA3; + + block_1D69: + if (f > 8) goto block_1DA3; + + block_1D74: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_1D0E; + + block_1DA0: + goto block_1DA3; + + block_1DA3: + if panRight goto block_1DD9; + + block_1DAB: + if (f != right) goto block_1DCC; + + block_1DBC: + panRight = 0; + goto block_1D0E; + + block_1DC9: + goto block_1DD6; + + block_1DCC: + f = (f + inc); + + block_1DD6: + goto block_1E15; + + block_1DD9: + if (isTurret != 1) goto block_1DF4; + + block_1DEA: + f = left; + goto block_1E15; + + block_1DF4: + if ((f != 4) && (f != right)) goto block_1E15; + + block_1E08: + f = (f + inc); + goto block_1E15; + + block_1E15: + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + goto block_1E5E; + + block_1E5B: + goto block_1D0E; + + block_1E5E: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_35_slot_35.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_35_slot_35.txt new file mode 100644 index 0000000..1a394f8 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_35_slot_35.txt @@ -0,0 +1,118 @@ +function wallgun_slot_35() /* entry=396 class_id=0x0A1A slot=0x35 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + left, /* [BP-02h] type=0x69 */ + right, /* [BP-04h] type=0x69 */ + inc, /* [BP-06h] type=0x69 */ + f, /* [BP-08h] type=0x69 */ + panLeft, /* [BP-09h] type=0x62 */ + isTurret, /* [BP-0Ah] type=0x62 */ + delay; /* [BP-0Ch] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + panLeft = 1; + class_0A1A_slot_29(arg_06); + isTurret = retval; + if (isTurret != 1) goto block_1F0B; + + block_1EF3: + inc = 1; + left = 0; + right = 15; + goto block_1F48; + + block_1F0B: + class_0A1A_slot_2B(arg_06); + if retval goto block_1F33; + + block_1F1B: + inc = 1; + left = 0; + right = 8; + goto block_1F48; + + block_1F33: + inc = -1; + left = 8; + right = 0; + + block_1F48: + class_0A1A_slot_20(arg_06); + delay = (retval * 5); + + block_1F5A: + if 1 goto block_20AD; + + block_1F62: + f = Item.getFrame(arg_06); + if (isTurret != 1) goto block_1FB5; + + block_1F7B: + if (f > 19) goto block_1FB2; + + block_1F86: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_1F5A; + + block_1FB2: + goto block_1FEF; + + block_1FB5: + if (f > 8) goto block_1FEF; + + block_1FC0: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_1F5A; + + block_1FEC: + goto block_1FEF; + + block_1FEF: + if (panLeft != 1) goto block_2028; + + block_1FFA: + if (f != left) goto block_201B; + + block_200B: + panLeft = 0; + goto block_1F5A; + + block_2018: + goto block_2025; + + block_201B: + f = (f - inc); + + block_2025: + goto block_2064; + + block_2028: + if (isTurret != 1) goto block_2043; + + block_2039: + f = right; + goto block_2064; + + block_2043: + if ((f != 4) && (f != left)) goto block_2064; + + block_2057: + f = (f - inc); + goto block_2064; + + block_2064: + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + goto block_20AD; + + block_20AA: + goto block_1F5A; + + block_20AD: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_36_slot_36.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_36_slot_36.txt new file mode 100644 index 0000000..8929eab --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_36_slot_36.txt @@ -0,0 +1,140 @@ +function wallgun_slot_36() /* entry=396 class_id=0x0A1A slot=0x36 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + left, /* [BP-02h] type=0x69 */ + right, /* [BP-04h] type=0x69 */ + inc, /* [BP-06h] type=0x69 */ + f, /* [BP-08h] type=0x69 */ + panRight, /* [BP-09h] type=0x62 */ + panLeft, /* [BP-0Ah] type=0x62 */ + isTurret, /* [BP-0Bh] type=0x62 */ + delay; /* [BP-0Dh] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + panRight = 1; + panLeft = 1; + class_0A1A_slot_29(arg_06); + isTurret = retval; + if (isTurret != 1) goto block_2160; + + block_2148: + inc = 1; + left = 0; + right = 15; + goto block_219D; + + block_2160: + class_0A1A_slot_2B(arg_06); + if retval goto block_2188; + + block_2170: + inc = 1; + left = 0; + right = 8; + goto block_219D; + + block_2188: + inc = -1; + left = 8; + right = 0; + + block_219D: + class_0A1A_slot_20(arg_06); + delay = (retval * 5); + + block_21AF: + if 1 goto block_235F; + + block_21B7: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + f = Item.getFrame(arg_06); + if (isTurret != 1) goto block_2229; + + block_21EF: + if (f > 19) goto block_2226; + + block_21FA: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_21AF; + + block_2226: + goto block_2263; + + block_2229: + if (f > 8) goto block_2263; + + block_2234: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_21AF; + + block_2260: + goto block_2263; + + block_2263: + if panRight goto block_2299; + + block_226B: + if (f != right) goto block_228C; + + block_227C: + panRight = 0; + goto block_21AF; + + block_2289: + goto block_2296; + + block_228C: + f = (f + inc); + + block_2296: + goto block_231C; + + block_2299: + if ((panLeft != 1) && (isTurret != 0)) goto block_22DB; + + block_22AD: + if (f != left) goto block_22CE; + + block_22BE: + panLeft = 0; + goto block_21AF; + + block_22CB: + goto block_22D8; + + block_22CE: + f = (f - inc); + + block_22D8: + goto block_231C; + + block_22DB: + panRight = 1; + panLeft = 1; + if (isTurret != 1) goto block_2304; + + block_22FA: + f = left; + goto block_231C; + + block_2304: + if (f != 4) goto block_231C; + + block_230F: + f = (f + inc); + goto block_231C; + + block_231C: + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + goto block_21AF; + + block_235F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_37_slot_37.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_37_slot_37.txt new file mode 100644 index 0000000..6143c9c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_37_slot_37.txt @@ -0,0 +1,140 @@ +function wallgun_slot_37() /* entry=396 class_id=0x0A1A slot=0x37 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + left, /* [BP-02h] type=0x69 */ + right, /* [BP-04h] type=0x69 */ + inc, /* [BP-06h] type=0x69 */ + f, /* [BP-08h] type=0x69 */ + panRight, /* [BP-09h] type=0x62 */ + panLeft, /* [BP-0Ah] type=0x62 */ + isTurret, /* [BP-0Bh] type=0x62 */ + delay; /* [BP-0Dh] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + panRight = 1; + panLeft = 1; + class_0A1A_slot_29(arg_06); + isTurret = retval; + if (isTurret != 1) goto block_241F; + + block_2407: + inc = 1; + left = 0; + right = 15; + goto block_245C; + + block_241F: + class_0A1A_slot_2B(arg_06); + if retval goto block_2447; + + block_242F: + inc = 1; + left = 0; + right = 8; + goto block_245C; + + block_2447: + inc = -1; + left = 8; + right = 0; + + block_245C: + class_0A1A_slot_20(arg_06); + delay = (retval * 5); + + block_246E: + if 1 goto block_2621; + + block_2476: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + f = Item.getFrame(arg_06); + if (isTurret != 1) goto block_24E8; + + block_24AE: + if (f > 19) goto block_24E5; + + block_24B9: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_246E; + + block_24E5: + goto block_2522; + + block_24E8: + if (f > 8) goto block_2522; + + block_24F3: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_246E; + + block_251F: + goto block_2522; + + block_2522: + if (panLeft != 1) goto block_255B; + + block_252D: + if (f != left) goto block_254E; + + block_253E: + panLeft = 0; + goto block_246E; + + block_254B: + goto block_2558; + + block_254E: + f = (f - inc); + + block_2558: + goto block_25DE; + + block_255B: + if ((panRight != 1) && (isTurret != 0)) goto block_259D; + + block_256F: + if (f != right) goto block_2590; + + block_2580: + panRight = 0; + goto block_246E; + + block_258D: + goto block_259A; + + block_2590: + f = (f + inc); + + block_259A: + goto block_25DE; + + block_259D: + panRight = 1; + panLeft = 1; + if (isTurret != 1) goto block_25C6; + + block_25BC: + f = right; + goto block_25DE; + + block_25C6: + if (f != 4) goto block_25DE; + + block_25D1: + f = (f - inc); + goto block_25DE; + + block_25DE: + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + goto block_246E; + + block_2621: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_38_slot_38.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_38_slot_38.txt new file mode 100644 index 0000000..5ce2674 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_38_slot_38.txt @@ -0,0 +1,143 @@ +function wallgun_slot_38() /* entry=396 class_id=0x0A1A slot=0x38 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + left, /* [BP-02h] type=0x69 */ + right, /* [BP-04h] type=0x69 */ + inc, /* [BP-06h] type=0x69 */ + f, /* [BP-08h] type=0x69 */ + panRight, /* [BP-09h] type=0x62 */ + panLeft, /* [BP-0Ah] type=0x62 */ + isTurret, /* [BP-0Bh] type=0x62 */ + delay; /* [BP-0Dh] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + panRight = 1; + panLeft = 1; + class_0A1A_slot_29(arg_06); + isTurret = retval; + if (isTurret != 1) goto block_26E1; + + block_26C9: + inc = 1; + left = 4; + right = 12; + goto block_271E; + + block_26E1: + class_0A1A_slot_2B(arg_06); + if retval goto block_2709; + + block_26F1: + inc = 1; + left = 0; + right = 8; + goto block_271E; + + block_2709: + inc = -1; + left = 8; + right = 0; + + block_271E: + class_0A1A_slot_20(arg_06); + delay = (retval * 5); + + block_2730: + if 1 goto block_28EE; + + block_2738: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + f = Item.getFrame(arg_06); + if (isTurret != 1) goto block_27AA; + + block_2770: + if (f > 19) goto block_27A7; + + block_277B: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_2730; + + block_27A7: + goto block_27E4; + + block_27AA: + if (f > 8) goto block_27E4; + + block_27B5: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_2730; + + block_27E1: + goto block_27E4; + + block_27E4: + if panRight goto block_281A; + + block_27EC: + if (f != right) goto block_280D; + + block_27FD: + panRight = 0; + goto block_2730; + + block_280A: + goto block_2817; + + block_280D: + f = (f + inc); + + block_2817: + goto block_2876; + + block_281A: + if (panLeft != 1) goto block_2853; + + block_2825: + if (f != left) goto block_2846; + + block_2836: + panLeft = 0; + goto block_2730; + + block_2843: + goto block_2850; + + block_2846: + f = (f - inc); + + block_2850: + goto block_2876; + + block_2853: + if (f != 4) goto block_2868; + + block_285E: + f = (f + inc); + + block_2868: + panRight = 1; + panLeft = 1; + + block_2876: + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + class_0A1A_slot_2E(target, arg_06); + if retval goto block_28EB; + + block_28C8: + spawn class_0A1A_slot_46(pid, target, arg_06); + suspend; + + block_28EB: + goto block_2730; + + block_28EE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_39_slot_39.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_39_slot_39.txt new file mode 100644 index 0000000..b5fc700 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_39_slot_39.txt @@ -0,0 +1,143 @@ +function wallgun_slot_39() /* entry=396 class_id=0x0A1A slot=0x39 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + left, /* [BP-02h] type=0x69 */ + right, /* [BP-04h] type=0x69 */ + inc, /* [BP-06h] type=0x69 */ + f, /* [BP-08h] type=0x69 */ + panRight, /* [BP-09h] type=0x62 */ + panLeft, /* [BP-0Ah] type=0x62 */ + isTurret, /* [BP-0Bh] type=0x62 */ + delay; /* [BP-0Dh] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + panRight = 1; + panLeft = 1; + class_0A1A_slot_29(arg_06); + isTurret = retval; + if (isTurret != 1) goto block_29B9; + + block_29A1: + inc = 1; + left = 0; + right = 8; + goto block_29F6; + + block_29B9: + class_0A1A_slot_2B(arg_06); + if retval goto block_29E1; + + block_29C9: + inc = 1; + left = 0; + right = 8; + goto block_29F6; + + block_29E1: + inc = -1; + left = 8; + right = 0; + + block_29F6: + class_0A1A_slot_20(arg_06); + delay = (retval * 5); + + block_2A08: + if 1 goto block_2BC6; + + block_2A10: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + f = Item.getFrame(arg_06); + if (isTurret != 1) goto block_2A82; + + block_2A48: + if (f > 19) goto block_2A7F; + + block_2A53: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_2A08; + + block_2A7F: + goto block_2ABC; + + block_2A82: + if (f > 8) goto block_2ABC; + + block_2A8D: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_2A08; + + block_2AB9: + goto block_2ABC; + + block_2ABC: + if panRight goto block_2AF2; + + block_2AC4: + if (f != right) goto block_2AE5; + + block_2AD5: + panRight = 0; + goto block_2A08; + + block_2AE2: + goto block_2AEF; + + block_2AE5: + f = (f + inc); + + block_2AEF: + goto block_2B4E; + + block_2AF2: + if (panLeft != 1) goto block_2B2B; + + block_2AFD: + if (f != left) goto block_2B1E; + + block_2B0E: + panLeft = 0; + goto block_2A08; + + block_2B1B: + goto block_2B28; + + block_2B1E: + f = (f - inc); + + block_2B28: + goto block_2B4E; + + block_2B2B: + if (f != 4) goto block_2B40; + + block_2B36: + f = (f + inc); + + block_2B40: + panRight = 1; + panLeft = 1; + + block_2B4E: + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + class_0A1A_slot_2E(target, arg_06); + if retval goto block_2BC3; + + block_2BA0: + spawn class_0A1A_slot_46(pid, target, arg_06); + suspend; + + block_2BC3: + goto block_2A08; + + block_2BC6: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3A_slot_3A.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3A_slot_3A.txt new file mode 100644 index 0000000..caffb49 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3A_slot_3A.txt @@ -0,0 +1,147 @@ +function wallgun_slot_3A() /* entry=396 class_id=0x0A1A slot=0x3A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + left, /* [BP-02h] type=0x69 */ + right, /* [BP-04h] type=0x69 */ + inc, /* [BP-06h] type=0x69 */ + f, /* [BP-08h] type=0x69 */ + panRight, /* [BP-09h] type=0x62 */ + panLeft, /* [BP-0Ah] type=0x62 */ + isTurret, /* [BP-0Bh] type=0x62 */ + delay; /* [BP-0Dh] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + panRight = 1; + panLeft = 1; + class_0A1A_slot_29(arg_06); + isTurret = retval; + if (isTurret != 1) goto block_2C91; + + block_2C79: + inc = 1; + left = 8; + right = 12; + goto block_2CCE; + + block_2C91: + class_0A1A_slot_2B(arg_06); + if retval goto block_2CB9; + + block_2CA1: + inc = 1; + left = 0; + right = 8; + goto block_2CCE; + + block_2CB9: + inc = -1; + left = 8; + right = 0; + + block_2CCE: + class_0A1A_slot_20(arg_06); + delay = (retval * 15); + + block_2CE0: + if 1 goto block_2EEA; + + block_2CE8: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + f = Item.getFrame(arg_06); + if (isTurret != 1) goto block_2D5A; + + block_2D20: + if (f > 19) goto block_2D57; + + block_2D2B: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_2CE0; + + block_2D57: + goto block_2D94; + + block_2D5A: + if (f > 8) goto block_2D94; + + block_2D65: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_2CE0; + + block_2D91: + goto block_2D94; + + block_2D94: + if panRight goto block_2DF0; + + block_2D9C: + if (f != right) goto block_2DE3; + + block_2DAD: + panRight = 0; + spawn class_0A0C_slot_32(pid, 20, 0x00000000); + suspend; + goto block_2CE0; + + block_2DE0: + goto block_2DED; + + block_2DE3: + f = (f + inc); + + block_2DED: + goto block_2E72; + + block_2DF0: + if (panLeft != 1) goto block_2E4F; + + block_2DFB: + if (f != left) goto block_2E42; + + block_2E0C: + panLeft = 0; + spawn class_0A0C_slot_32(pid, 20, 0x00000000); + suspend; + goto block_2CE0; + + block_2E3F: + goto block_2E4C; + + block_2E42: + f = (f - inc); + + block_2E4C: + goto block_2E72; + + block_2E4F: + if (f != 4) goto block_2E64; + + block_2E5A: + f = (f + inc); + + block_2E64: + panRight = 1; + panLeft = 1; + + block_2E72: + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + class_0A1A_slot_2E(target, arg_06); + if retval goto block_2EE7; + + block_2EC4: + spawn class_0A1A_slot_46(pid, target, arg_06); + suspend; + + block_2EE7: + goto block_2CE0; + + block_2EEA: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3B_slot_3B.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3B_slot_3B.txt new file mode 100644 index 0000000..d32e720 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3B_slot_3B.txt @@ -0,0 +1,147 @@ +function wallgun_slot_3B() /* entry=396 class_id=0x0A1A slot=0x3B */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + left, /* [BP-02h] type=0x69 */ + right, /* [BP-04h] type=0x69 */ + inc, /* [BP-06h] type=0x69 */ + f, /* [BP-08h] type=0x69 */ + panRight, /* [BP-09h] type=0x62 */ + panLeft, /* [BP-0Ah] type=0x62 */ + isTurret, /* [BP-0Bh] type=0x62 */ + delay; /* [BP-0Dh] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + panRight = 1; + panLeft = 1; + class_0A1A_slot_29(arg_06); + isTurret = retval; + if (isTurret != 1) goto block_2FB5; + + block_2F9D: + inc = 1; + left = 4; + right = 8; + goto block_2FF2; + + block_2FB5: + class_0A1A_slot_2B(arg_06); + if retval goto block_2FDD; + + block_2FC5: + inc = 1; + left = 0; + right = 8; + goto block_2FF2; + + block_2FDD: + inc = -1; + left = 8; + right = 0; + + block_2FF2: + class_0A1A_slot_20(arg_06); + delay = (retval * 15); + + block_3004: + if 1 goto block_3214; + + block_300C: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + f = Item.getFrame(arg_06); + if (isTurret != 1) goto block_307E; + + block_3044: + if (f > 19) goto block_307B; + + block_304F: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_3004; + + block_307B: + goto block_30B8; + + block_307E: + if (f > 8) goto block_30B8; + + block_3089: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_3004; + + block_30B5: + goto block_30B8; + + block_30B8: + if panRight goto block_3117; + + block_30C0: + if (f != right) goto block_310A; + + block_30D1: + panRight = 0; + spawn class_0A0C_slot_32(pid, (delay + 20), 0x00000000); + suspend; + goto block_3004; + + block_3107: + goto block_3114; + + block_310A: + f = (f + inc); + + block_3114: + goto block_319C; + + block_3117: + if (panLeft != 1) goto block_3179; + + block_3122: + if (f != left) goto block_316C; + + block_3133: + panLeft = 0; + spawn class_0A0C_slot_32(pid, (delay + 20), 0x00000000); + suspend; + goto block_3004; + + block_3169: + goto block_3176; + + block_316C: + f = (f - inc); + + block_3176: + goto block_319C; + + block_3179: + if (f != 4) goto block_318E; + + block_3184: + f = (f + inc); + + block_318E: + panRight = 1; + panLeft = 1; + + block_319C: + spawn class_0A0C_slot_32(pid, delay, 0x00000000); + suspend; + class_0A1A_slot_2E(target, arg_06); + if retval goto block_3211; + + block_31EE: + spawn class_0A1A_slot_46(pid, target, arg_06); + suspend; + + block_3211: + goto block_3004; + + block_3214: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3C_slot_3C.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3C_slot_3C.txt new file mode 100644 index 0000000..afc5d74 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3C_slot_3C.txt @@ -0,0 +1,147 @@ +function wallgun_slot_3C() /* entry=396 class_id=0x0A1A slot=0x3C */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + brain, /* [BP+0Ch] type=0x69 */ + x, /* [BP-02h] type=0x69 */ + left, /* [BP-04h] type=0x69 */ + right, /* [BP-06h] type=0x69 */ + inc, /* [BP-08h] type=0x69 */ + f, /* [BP-0Ah] type=0x69 */ + isTurret; /* [BP-0Ch] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + class_0A1A_slot_29(arg_06); + isTurret = retval; + if (isTurret != 1) goto block_32D1; + + block_32B9: + inc = -1; + left = 0; + right = 15; + goto block_330E; + + block_32D1: + class_0A1A_slot_2B(arg_06); + if retval goto block_32F9; + + block_32E1: + inc = -1; + left = 0; + right = 8; + goto block_330E; + + block_32F9: + inc = 1; + left = 8; + right = 0; + + block_330E: + class_0A1A_slot_2D(target, arg_06); + if (!retval) goto block_3328; + + block_3321: + /* word_to_dword */ + /* pop_result */ + goto block_34DE; + + block_3328: + if 1 goto block_34DE; + + block_3330: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + spawn class_0A1A_slot_2F(pid, brain, target, arg_06); + suspend; + f = Item.getFrame(arg_06); + if (isTurret != 1) goto block_33C7; + + block_338D: + if (f > 19) goto block_33C4; + + block_3398: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_3328; + + block_33C4: + goto block_3401; + + block_33C7: + if (f > 8) goto block_3401; + + block_33D2: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + goto block_3328; + + block_33FE: + goto block_3401; + + block_3401: + class_0A1A_slot_2D(target, arg_06); + x = retval; + if (x != 0) goto block_342A; + + block_3420: + /* word_to_dword */ + /* pop_result */ + goto block_34DE; + + block_342A: + if (x != 1) goto block_347E; + + block_3438: + if (f != left) goto block_3471; + + block_3449: + if (isTurret != 1) goto block_3464; + + block_345A: + f = right; + goto block_346E; + + block_3464: + /* word_to_dword */ + /* pop_result */ + goto block_34DE; + + block_346E: + goto block_347B; + + block_3471: + f = (f + inc); + + block_347B: + goto block_34C1; + + block_347E: + if (f != right) goto block_34B7; + + block_348F: + if (isTurret != 1) goto block_34AA; + + block_34A0: + f = left; + goto block_34B4; + + block_34AA: + /* word_to_dword */ + /* pop_result */ + goto block_34DE; + + block_34B4: + goto block_34C1; + + block_34B7: + f = (f - inc); + + block_34C1: + goto block_3328; + + block_34DE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3D_slot_3D.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3D_slot_3D.txt new file mode 100644 index 0000000..275e215 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3D_slot_3D.txt @@ -0,0 +1,45 @@ +function wallgun_slot_3D() /* entry=396 class_id=0x0A1A slot=0x3D */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + brain, /* [BP+0Ch] type=0x69 */ + cs, /* [BP-02h] type=0x69 */ + dist; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + + block_3550: + if 1 goto block_3625; + + block_3558: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + spawn class_0A1A_slot_3C(pid, brain, target, arg_06); + suspend; + /* dword_to_word */ + if process_result goto block_3622; + + block_35A1: + class_0A1A_slot_2E(target, arg_06); + cs = retval; + class_0A0C_slot_29(*(arg_06), target); + dist = retval; + if ((((brain != 4) && (cs != 1)) && (dist <= 20)) || (((brain != 4) && (cs != 1)) && (dist <= 46))) goto block_361C; + + block_35F4: + spawn class_0A1A_slot_45(pid, brain, target, arg_06); + suspend; + goto block_3622; + + block_361C: + goto block_3625; + + block_3622: + goto block_3550; + + block_3625: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3E_slot_3E.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3E_slot_3E.txt new file mode 100644 index 0000000..aca1aa1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3E_slot_3E.txt @@ -0,0 +1,1015 @@ +function wallgun_slot_3E() /* entry=396 class_id=0x0A1A slot=0x3E */ +{ + var + referent, /* [BP+00h] type=0x69 */ + dir; /* [BP+0Ah] type=0x62 */ + + entry: + if (Intrinsic0016(arg_06) != 0x0108) goto block_3732; + + block_367B: + if (dir != 12) goto block_368F; + + block_3686: + goto block_3F79; + + block_368C: + goto block_372F; + + block_368F: + if (dir != 11) goto block_36A3; + + block_369A: + goto block_3F79; + + block_36A0: + goto block_372F; + + block_36A3: + if (dir != 10) goto block_36B7; + + block_36AE: + goto block_3F79; + + block_36B4: + goto block_372F; + + block_36B7: + if (dir != 9) goto block_36CB; + + block_36C2: + goto block_3F79; + + block_36C8: + goto block_372F; + + block_36CB: + if (dir != 8) goto block_36DF; + + block_36D6: + goto block_3F79; + + block_36DC: + goto block_372F; + + block_36DF: + if (dir != 7) goto block_36F3; + + block_36EA: + goto block_3F79; + + block_36F0: + goto block_372F; + + block_36F3: + if (dir != 6) goto block_3707; + + block_36FE: + goto block_3F79; + + block_3704: + goto block_372F; + + block_3707: + if (dir != 5) goto block_371B; + + block_3712: + goto block_3F79; + + block_3718: + goto block_372F; + + block_371B: + if (dir != 4) goto block_372F; + + block_3726: + goto block_3F79; + + block_372C: + goto block_372F; + + block_372F: + goto block_3F79; + + block_3732: + if (Intrinsic0016(arg_06) != 0x0113) goto block_37F9; + + block_3742: + if (dir != 0) goto block_3756; + + block_374D: + goto block_3F79; + + block_3753: + goto block_37F6; + + block_3756: + if (dir != 1) goto block_376A; + + block_3761: + goto block_3F79; + + block_3767: + goto block_37F6; + + block_376A: + if (dir != 2) goto block_377E; + + block_3775: + goto block_3F79; + + block_377B: + goto block_37F6; + + block_377E: + if (dir != 3) goto block_3792; + + block_3789: + goto block_3F79; + + block_378F: + goto block_37F6; + + block_3792: + if (dir != 4) goto block_37A6; + + block_379D: + goto block_3F79; + + block_37A3: + goto block_37F6; + + block_37A6: + if (dir != 5) goto block_37BA; + + block_37B1: + goto block_3F79; + + block_37B7: + goto block_37F6; + + block_37BA: + if (dir != 6) goto block_37CE; + + block_37C5: + goto block_3F79; + + block_37CB: + goto block_37F6; + + block_37CE: + if (dir != 7) goto block_37E2; + + block_37D9: + goto block_3F79; + + block_37DF: + goto block_37F6; + + block_37E2: + if (dir != 8) goto block_37F6; + + block_37ED: + goto block_3F79; + + block_37F3: + goto block_37F6; + + block_37F6: + goto block_3F79; + + block_37F9: + if (Intrinsic0016(arg_06) != 0x02F0) goto block_38C0; + + block_3809: + if (dir != 12) goto block_381D; + + block_3811: + goto block_3F79; + + block_381A: + goto block_38BD; + + block_381D: + if (dir != 11) goto block_3831; + + block_3825: + goto block_3F79; + + block_382E: + goto block_38BD; + + block_3831: + if (dir != 10) goto block_3845; + + block_3839: + goto block_3F79; + + block_3842: + goto block_38BD; + + block_3845: + if (dir != 9) goto block_3859; + + block_384D: + goto block_3F79; + + block_3856: + goto block_38BD; + + block_3859: + if (dir != 8) goto block_386D; + + block_3861: + goto block_3F79; + + block_386A: + goto block_38BD; + + block_386D: + if (dir != 7) goto block_3881; + + block_3875: + goto block_3F79; + + block_387E: + goto block_38BD; + + block_3881: + if (dir != 6) goto block_3895; + + block_3889: + goto block_3F79; + + block_3892: + goto block_38BD; + + block_3895: + if (dir != 5) goto block_38A9; + + block_389D: + goto block_3F79; + + block_38A6: + goto block_38BD; + + block_38A9: + if (dir != 4) goto block_38BD; + + block_38B1: + goto block_3F79; + + block_38BA: + goto block_38BD; + + block_38BD: + goto block_3F79; + + block_38C0: + if (Intrinsic0016(arg_06) != 0x0373) goto block_399B; + + block_38D0: + if (dir != 0) goto block_38E4; + + block_38D8: + goto block_3F79; + + block_38E1: + goto block_3998; + + block_38E4: + if (dir != 1) goto block_38F8; + + block_38EC: + goto block_3F79; + + block_38F5: + goto block_3998; + + block_38F8: + if (dir != 2) goto block_390C; + + block_3900: + goto block_3F79; + + block_3909: + goto block_3998; + + block_390C: + if (dir != 3) goto block_3920; + + block_3914: + goto block_3F79; + + block_391D: + goto block_3998; + + block_3920: + if (dir != 4) goto block_3934; + + block_3928: + goto block_3F79; + + block_3931: + goto block_3998; + + block_3934: + if (dir != 5) goto block_3948; + + block_393C: + goto block_3F79; + + block_3945: + goto block_3998; + + block_3948: + if (dir != 6) goto block_395C; + + block_3950: + goto block_3F79; + + block_3959: + goto block_3998; + + block_395C: + if (dir != 7) goto block_3970; + + block_3964: + goto block_3F79; + + block_396D: + goto block_3998; + + block_3970: + if (dir != 8) goto block_3984; + + block_3978: + goto block_3F79; + + block_3981: + goto block_3998; + + block_3984: + if (dir != 9) goto block_3998; + + block_398C: + goto block_3F79; + + block_3995: + goto block_3998; + + block_3998: + goto block_3F79; + + block_399B: + if (Intrinsic0016(arg_06) != 0x0399) goto block_3A62; + + block_39AB: + if (dir != 12) goto block_39BF; + + block_39B6: + goto block_3F79; + + block_39BC: + goto block_3A5F; + + block_39BF: + if (dir != 11) goto block_39D3; + + block_39CA: + goto block_3F79; + + block_39D0: + goto block_3A5F; + + block_39D3: + if (dir != 10) goto block_39E7; + + block_39DE: + goto block_3F79; + + block_39E4: + goto block_3A5F; + + block_39E7: + if (dir != 9) goto block_39FB; + + block_39F2: + goto block_3F79; + + block_39F8: + goto block_3A5F; + + block_39FB: + if (dir != 8) goto block_3A0F; + + block_3A06: + goto block_3F79; + + block_3A0C: + goto block_3A5F; + + block_3A0F: + if (dir != 7) goto block_3A23; + + block_3A1A: + goto block_3F79; + + block_3A20: + goto block_3A5F; + + block_3A23: + if (dir != 6) goto block_3A37; + + block_3A2E: + goto block_3F79; + + block_3A34: + goto block_3A5F; + + block_3A37: + if (dir != 5) goto block_3A4B; + + block_3A42: + goto block_3F79; + + block_3A48: + goto block_3A5F; + + block_3A4B: + if (dir != 4) goto block_3A5F; + + block_3A56: + goto block_3F79; + + block_3A5C: + goto block_3A5F; + + block_3A5F: + goto block_3F79; + + block_3A62: + if (Intrinsic0016(arg_06) != 0x03A1) goto block_3B29; + + block_3A72: + if (dir != 0) goto block_3A86; + + block_3A7D: + goto block_3F79; + + block_3A83: + goto block_3B26; + + block_3A86: + if (dir != 1) goto block_3A9A; + + block_3A91: + goto block_3F79; + + block_3A97: + goto block_3B26; + + block_3A9A: + if (dir != 2) goto block_3AAE; + + block_3AA5: + goto block_3F79; + + block_3AAB: + goto block_3B26; + + block_3AAE: + if (dir != 3) goto block_3AC2; + + block_3AB9: + goto block_3F79; + + block_3ABF: + goto block_3B26; + + block_3AC2: + if (dir != 4) goto block_3AD6; + + block_3ACD: + goto block_3F79; + + block_3AD3: + goto block_3B26; + + block_3AD6: + if (dir != 5) goto block_3AEA; + + block_3AE1: + goto block_3F79; + + block_3AE7: + goto block_3B26; + + block_3AEA: + if (dir != 6) goto block_3AFE; + + block_3AF5: + goto block_3F79; + + block_3AFB: + goto block_3B26; + + block_3AFE: + if (dir != 7) goto block_3B12; + + block_3B09: + goto block_3F79; + + block_3B0F: + goto block_3B26; + + block_3B12: + if (dir != 8) goto block_3B26; + + block_3B1D: + goto block_3F79; + + block_3B23: + goto block_3B26; + + block_3B26: + goto block_3F79; + + block_3B29: + if ((Intrinsic0016(arg_06) != 0x01BA) || (Intrinsic0016(arg_06) != 0x025F)) goto block_3BFE; + + block_3B47: + if (dir != 12) goto block_3B5B; + + block_3B52: + goto block_3F79; + + block_3B58: + goto block_3BFB; + + block_3B5B: + if (dir != 11) goto block_3B6F; + + block_3B66: + goto block_3F79; + + block_3B6C: + goto block_3BFB; + + block_3B6F: + if (dir != 10) goto block_3B83; + + block_3B7A: + goto block_3F79; + + block_3B80: + goto block_3BFB; + + block_3B83: + if (dir != 9) goto block_3B97; + + block_3B8E: + goto block_3F79; + + block_3B94: + goto block_3BFB; + + block_3B97: + if (dir != 8) goto block_3BAB; + + block_3BA2: + goto block_3F79; + + block_3BA8: + goto block_3BFB; + + block_3BAB: + if (dir != 7) goto block_3BBF; + + block_3BB6: + goto block_3F79; + + block_3BBC: + goto block_3BFB; + + block_3BBF: + if (dir != 6) goto block_3BD3; + + block_3BCA: + goto block_3F79; + + block_3BD0: + goto block_3BFB; + + block_3BD3: + if (dir != 5) goto block_3BE7; + + block_3BDE: + goto block_3F79; + + block_3BE4: + goto block_3BFB; + + block_3BE7: + if (dir != 4) goto block_3BFB; + + block_3BF2: + goto block_3F79; + + block_3BF8: + goto block_3BFB; + + block_3BFB: + goto block_3F79; + + block_3BFE: + if ((Intrinsic0016(arg_06) != 0x01B9) || (Intrinsic0016(arg_06) != 0x0260)) goto block_3CD3; + + block_3C1C: + if (dir != 8) goto block_3C30; + + block_3C27: + goto block_3F79; + + block_3C2D: + goto block_3CD0; + + block_3C30: + if (dir != 7) goto block_3C44; + + block_3C3B: + goto block_3F79; + + block_3C41: + goto block_3CD0; + + block_3C44: + if (dir != 6) goto block_3C58; + + block_3C4F: + goto block_3F79; + + block_3C55: + goto block_3CD0; + + block_3C58: + if (dir != 5) goto block_3C6C; + + block_3C63: + goto block_3F79; + + block_3C69: + goto block_3CD0; + + block_3C6C: + if (dir != 4) goto block_3C80; + + block_3C77: + goto block_3F79; + + block_3C7D: + goto block_3CD0; + + block_3C80: + if (dir != 3) goto block_3C94; + + block_3C8B: + goto block_3F79; + + block_3C91: + goto block_3CD0; + + block_3C94: + if (dir != 2) goto block_3CA8; + + block_3C9F: + goto block_3F79; + + block_3CA5: + goto block_3CD0; + + block_3CA8: + if (dir != 1) goto block_3CBC; + + block_3CB3: + goto block_3F79; + + block_3CB9: + goto block_3CD0; + + block_3CBC: + if (dir != 0) goto block_3CD0; + + block_3CC7: + goto block_3F79; + + block_3CCD: + goto block_3CD0; + + block_3CD0: + goto block_3F79; + + block_3CD3: + if (Intrinsic0016(arg_06) != 0x04C8) goto block_3E26; + + block_3CE3: + if (dir != 0) goto block_3CF7; + + block_3CEE: + goto block_3F79; + + block_3CF4: + goto block_3E23; + + block_3CF7: + if (dir != 1) goto block_3D0B; + + block_3D02: + goto block_3F79; + + block_3D08: + goto block_3E23; + + block_3D0B: + if (dir != 2) goto block_3D1F; + + block_3D16: + goto block_3F79; + + block_3D1C: + goto block_3E23; + + block_3D1F: + if (dir != 3) goto block_3D33; + + block_3D2A: + goto block_3F79; + + block_3D30: + goto block_3E23; + + block_3D33: + if (dir != 4) goto block_3D47; + + block_3D3E: + goto block_3F79; + + block_3D44: + goto block_3E23; + + block_3D47: + if (dir != 5) goto block_3D5B; + + block_3D52: + goto block_3F79; + + block_3D58: + goto block_3E23; + + block_3D5B: + if (dir != 6) goto block_3D6F; + + block_3D66: + goto block_3F79; + + block_3D6C: + goto block_3E23; + + block_3D6F: + if (dir != 7) goto block_3D83; + + block_3D7A: + goto block_3F79; + + block_3D80: + goto block_3E23; + + block_3D83: + if (dir != 8) goto block_3D97; + + block_3D8E: + goto block_3F79; + + block_3D94: + goto block_3E23; + + block_3D97: + if (dir != 9) goto block_3DAB; + + block_3DA2: + goto block_3F79; + + block_3DA8: + goto block_3E23; + + block_3DAB: + if (dir != 10) goto block_3DBF; + + block_3DB6: + goto block_3F79; + + block_3DBC: + goto block_3E23; + + block_3DBF: + if (dir != 11) goto block_3DD3; + + block_3DCA: + goto block_3F79; + + block_3DD0: + goto block_3E23; + + block_3DD3: + if (dir != 12) goto block_3DE7; + + block_3DDE: + goto block_3F79; + + block_3DE4: + goto block_3E23; + + block_3DE7: + if (dir != 13) goto block_3DFB; + + block_3DF2: + goto block_3F79; + + block_3DF8: + goto block_3E23; + + block_3DFB: + if (dir != 14) goto block_3E0F; + + block_3E06: + goto block_3F79; + + block_3E0C: + goto block_3E23; + + block_3E0F: + if (dir != 15) goto block_3E23; + + block_3E1A: + goto block_3F79; + + block_3E20: + goto block_3E23; + + block_3E23: + goto block_3F79; + + block_3E26: + if (Intrinsic0016(arg_06) != 0x01CD) goto block_3F79; + + block_3E36: + if (dir != 0) goto block_3E4A; + + block_3E3E: + goto block_3F79; + + block_3E47: + goto block_3F76; + + block_3E4A: + if (dir != 1) goto block_3E5E; + + block_3E52: + goto block_3F79; + + block_3E5B: + goto block_3F76; + + block_3E5E: + if (dir != 2) goto block_3E72; + + block_3E66: + goto block_3F79; + + block_3E6F: + goto block_3F76; + + block_3E72: + if (dir != 3) goto block_3E86; + + block_3E7A: + goto block_3F79; + + block_3E83: + goto block_3F76; + + block_3E86: + if (dir != 4) goto block_3E9A; + + block_3E8E: + goto block_3F79; + + block_3E97: + goto block_3F76; + + block_3E9A: + if (dir != 5) goto block_3EAE; + + block_3EA2: + goto block_3F79; + + block_3EAB: + goto block_3F76; + + block_3EAE: + if (dir != 6) goto block_3EC2; + + block_3EB6: + goto block_3F79; + + block_3EBF: + goto block_3F76; + + block_3EC2: + if (dir != 7) goto block_3ED6; + + block_3ECA: + goto block_3F79; + + block_3ED3: + goto block_3F76; + + block_3ED6: + if (dir != 8) goto block_3EEA; + + block_3EDE: + goto block_3F79; + + block_3EE7: + goto block_3F76; + + block_3EEA: + if (dir != 9) goto block_3EFE; + + block_3EF2: + goto block_3F79; + + block_3EFB: + goto block_3F76; + + block_3EFE: + if (dir != 10) goto block_3F12; + + block_3F06: + goto block_3F79; + + block_3F0F: + goto block_3F76; + + block_3F12: + if (dir != 11) goto block_3F26; + + block_3F1A: + goto block_3F79; + + block_3F23: + goto block_3F76; + + block_3F26: + if (dir != 12) goto block_3F3A; + + block_3F2E: + goto block_3F79; + + block_3F37: + goto block_3F76; + + block_3F3A: + if (dir != 13) goto block_3F4E; + + block_3F42: + goto block_3F79; + + block_3F4B: + goto block_3F76; + + block_3F4E: + if (dir != 14) goto block_3F62; + + block_3F56: + goto block_3F79; + + block_3F5F: + goto block_3F76; + + block_3F62: + if (dir != 15) goto block_3F76; + + block_3F6A: + goto block_3F79; + + block_3F73: + goto block_3F76; + + block_3F76: + goto block_3F79; + + block_3F79: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3F_slot_3F.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3F_slot_3F.txt new file mode 100644 index 0000000..50bb997 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_3F_slot_3F.txt @@ -0,0 +1,1017 @@ +function wallgun_slot_3F() /* entry=396 class_id=0x0A1A slot=0x3F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + dir, /* [BP+0Ah] type=0x62 */ + t; /* [BP-02h] type=0x69 */ + + entry: + t = Intrinsic0016(arg_06); + if (t != 0x0108) goto block_4079; + + block_3FC2: + if (dir != 12) goto block_3FD6; + + block_3FCD: + goto block_48BE; + + block_3FD3: + goto block_4076; + + block_3FD6: + if (dir != 11) goto block_3FEA; + + block_3FE1: + goto block_48BE; + + block_3FE7: + goto block_4076; + + block_3FEA: + if (dir != 10) goto block_3FFE; + + block_3FF5: + goto block_48BE; + + block_3FFB: + goto block_4076; + + block_3FFE: + if (dir != 9) goto block_4012; + + block_4009: + goto block_48BE; + + block_400F: + goto block_4076; + + block_4012: + if (dir != 8) goto block_4026; + + block_401D: + goto block_48BE; + + block_4023: + goto block_4076; + + block_4026: + if (dir != 7) goto block_403A; + + block_4031: + goto block_48BE; + + block_4037: + goto block_4076; + + block_403A: + if (dir != 6) goto block_404E; + + block_4045: + goto block_48BE; + + block_404B: + goto block_4076; + + block_404E: + if (dir != 5) goto block_4062; + + block_4059: + goto block_48BE; + + block_405F: + goto block_4076; + + block_4062: + if (dir != 4) goto block_4076; + + block_406D: + goto block_48BE; + + block_4073: + goto block_4076; + + block_4076: + goto block_48BE; + + block_4079: + if (t != 0x0113) goto block_4142; + + block_408B: + if (dir != 0) goto block_409F; + + block_4096: + goto block_48BE; + + block_409C: + goto block_413F; + + block_409F: + if (dir != 1) goto block_40B3; + + block_40AA: + goto block_48BE; + + block_40B0: + goto block_413F; + + block_40B3: + if (dir != 2) goto block_40C7; + + block_40BE: + goto block_48BE; + + block_40C4: + goto block_413F; + + block_40C7: + if (dir != 3) goto block_40DB; + + block_40D2: + goto block_48BE; + + block_40D8: + goto block_413F; + + block_40DB: + if (dir != 4) goto block_40EF; + + block_40E6: + goto block_48BE; + + block_40EC: + goto block_413F; + + block_40EF: + if (dir != 5) goto block_4103; + + block_40FA: + goto block_48BE; + + block_4100: + goto block_413F; + + block_4103: + if (dir != 6) goto block_4117; + + block_410E: + goto block_48BE; + + block_4114: + goto block_413F; + + block_4117: + if (dir != 7) goto block_412B; + + block_4122: + goto block_48BE; + + block_4128: + goto block_413F; + + block_412B: + if (dir != 8) goto block_413F; + + block_4136: + goto block_48BE; + + block_413C: + goto block_413F; + + block_413F: + goto block_48BE; + + block_4142: + if (t != 0x02F0) goto block_420B; + + block_4154: + if (dir != 12) goto block_4168; + + block_415C: + goto block_48BE; + + block_4165: + goto block_4208; + + block_4168: + if (dir != 11) goto block_417C; + + block_4170: + goto block_48BE; + + block_4179: + goto block_4208; + + block_417C: + if (dir != 10) goto block_4190; + + block_4184: + goto block_48BE; + + block_418D: + goto block_4208; + + block_4190: + if (dir != 9) goto block_41A4; + + block_4198: + goto block_48BE; + + block_41A1: + goto block_4208; + + block_41A4: + if (dir != 8) goto block_41B8; + + block_41AC: + goto block_48BE; + + block_41B5: + goto block_4208; + + block_41B8: + if (dir != 7) goto block_41CC; + + block_41C0: + goto block_48BE; + + block_41C9: + goto block_4208; + + block_41CC: + if (dir != 6) goto block_41E0; + + block_41D4: + goto block_48BE; + + block_41DD: + goto block_4208; + + block_41E0: + if (dir != 5) goto block_41F4; + + block_41E8: + goto block_48BE; + + block_41F1: + goto block_4208; + + block_41F4: + if (dir != 4) goto block_4208; + + block_41FC: + goto block_48BE; + + block_4205: + goto block_4208; + + block_4208: + goto block_48BE; + + block_420B: + if (t != 0x0373) goto block_42E8; + + block_421D: + if (dir != 0) goto block_4231; + + block_4225: + goto block_48BE; + + block_422E: + goto block_42E5; + + block_4231: + if (dir != 1) goto block_4245; + + block_4239: + goto block_48BE; + + block_4242: + goto block_42E5; + + block_4245: + if (dir != 2) goto block_4259; + + block_424D: + goto block_48BE; + + block_4256: + goto block_42E5; + + block_4259: + if (dir != 3) goto block_426D; + + block_4261: + goto block_48BE; + + block_426A: + goto block_42E5; + + block_426D: + if (dir != 4) goto block_4281; + + block_4275: + goto block_48BE; + + block_427E: + goto block_42E5; + + block_4281: + if (dir != 5) goto block_4295; + + block_4289: + goto block_48BE; + + block_4292: + goto block_42E5; + + block_4295: + if (dir != 6) goto block_42A9; + + block_429D: + goto block_48BE; + + block_42A6: + goto block_42E5; + + block_42A9: + if (dir != 7) goto block_42BD; + + block_42B1: + goto block_48BE; + + block_42BA: + goto block_42E5; + + block_42BD: + if (dir != 8) goto block_42D1; + + block_42C5: + goto block_48BE; + + block_42CE: + goto block_42E5; + + block_42D1: + if (dir != 9) goto block_42E5; + + block_42D9: + goto block_48BE; + + block_42E2: + goto block_42E5; + + block_42E5: + goto block_48BE; + + block_42E8: + if (t != 0x0399) goto block_43B1; + + block_42FA: + if (dir != 12) goto block_430E; + + block_4305: + goto block_48BE; + + block_430B: + goto block_43AE; + + block_430E: + if (dir != 11) goto block_4322; + + block_4319: + goto block_48BE; + + block_431F: + goto block_43AE; + + block_4322: + if (dir != 10) goto block_4336; + + block_432D: + goto block_48BE; + + block_4333: + goto block_43AE; + + block_4336: + if (dir != 9) goto block_434A; + + block_4341: + goto block_48BE; + + block_4347: + goto block_43AE; + + block_434A: + if (dir != 8) goto block_435E; + + block_4355: + goto block_48BE; + + block_435B: + goto block_43AE; + + block_435E: + if (dir != 7) goto block_4372; + + block_4369: + goto block_48BE; + + block_436F: + goto block_43AE; + + block_4372: + if (dir != 6) goto block_4386; + + block_437D: + goto block_48BE; + + block_4383: + goto block_43AE; + + block_4386: + if (dir != 5) goto block_439A; + + block_4391: + goto block_48BE; + + block_4397: + goto block_43AE; + + block_439A: + if (dir != 4) goto block_43AE; + + block_43A5: + goto block_48BE; + + block_43AB: + goto block_43AE; + + block_43AE: + goto block_48BE; + + block_43B1: + if (t != 0x03A1) goto block_447A; + + block_43C3: + if (dir != 0) goto block_43D7; + + block_43CE: + goto block_48BE; + + block_43D4: + goto block_4477; + + block_43D7: + if (dir != 1) goto block_43EB; + + block_43E2: + goto block_48BE; + + block_43E8: + goto block_4477; + + block_43EB: + if (dir != 2) goto block_43FF; + + block_43F6: + goto block_48BE; + + block_43FC: + goto block_4477; + + block_43FF: + if (dir != 3) goto block_4413; + + block_440A: + goto block_48BE; + + block_4410: + goto block_4477; + + block_4413: + if (dir != 4) goto block_4427; + + block_441E: + goto block_48BE; + + block_4424: + goto block_4477; + + block_4427: + if (dir != 5) goto block_443B; + + block_4432: + goto block_48BE; + + block_4438: + goto block_4477; + + block_443B: + if (dir != 6) goto block_444F; + + block_4446: + goto block_48BE; + + block_444C: + goto block_4477; + + block_444F: + if (dir != 7) goto block_4463; + + block_445A: + goto block_48BE; + + block_4460: + goto block_4477; + + block_4463: + if (dir != 8) goto block_4477; + + block_446E: + goto block_48BE; + + block_4474: + goto block_4477; + + block_4477: + goto block_48BE; + + block_447A: + if ((t != 0x01BA) || (t != 0x025F)) goto block_4547; + + block_4490: + if (dir != 12) goto block_44A4; + + block_449B: + goto block_48BE; + + block_44A1: + goto block_4544; + + block_44A4: + if (dir != 11) goto block_44B8; + + block_44AF: + goto block_48BE; + + block_44B5: + goto block_4544; + + block_44B8: + if (dir != 10) goto block_44CC; + + block_44C3: + goto block_48BE; + + block_44C9: + goto block_4544; + + block_44CC: + if (dir != 9) goto block_44E0; + + block_44D7: + goto block_48BE; + + block_44DD: + goto block_4544; + + block_44E0: + if (dir != 8) goto block_44F4; + + block_44EB: + goto block_48BE; + + block_44F1: + goto block_4544; + + block_44F4: + if (dir != 7) goto block_4508; + + block_44FF: + goto block_48BE; + + block_4505: + goto block_4544; + + block_4508: + if (dir != 6) goto block_451C; + + block_4513: + goto block_48BE; + + block_4519: + goto block_4544; + + block_451C: + if (dir != 5) goto block_4530; + + block_4527: + goto block_48BE; + + block_452D: + goto block_4544; + + block_4530: + if (dir != 4) goto block_4544; + + block_453B: + goto block_48BE; + + block_4541: + goto block_4544; + + block_4544: + goto block_48BE; + + block_4547: + if ((t != 0x01B9) || (t != 0x0260)) goto block_4614; + + block_455D: + if (dir != 8) goto block_4571; + + block_4568: + goto block_48BE; + + block_456E: + goto block_4611; + + block_4571: + if (dir != 7) goto block_4585; + + block_457C: + goto block_48BE; + + block_4582: + goto block_4611; + + block_4585: + if (dir != 6) goto block_4599; + + block_4590: + goto block_48BE; + + block_4596: + goto block_4611; + + block_4599: + if (dir != 5) goto block_45AD; + + block_45A4: + goto block_48BE; + + block_45AA: + goto block_4611; + + block_45AD: + if (dir != 4) goto block_45C1; + + block_45B8: + goto block_48BE; + + block_45BE: + goto block_4611; + + block_45C1: + if (dir != 3) goto block_45D5; + + block_45CC: + goto block_48BE; + + block_45D2: + goto block_4611; + + block_45D5: + if (dir != 2) goto block_45E9; + + block_45E0: + goto block_48BE; + + block_45E6: + goto block_4611; + + block_45E9: + if (dir != 1) goto block_45FD; + + block_45F4: + goto block_48BE; + + block_45FA: + goto block_4611; + + block_45FD: + if (dir != 0) goto block_4611; + + block_4608: + goto block_48BE; + + block_460E: + goto block_4611; + + block_4611: + goto block_48BE; + + block_4614: + if (t != 0x04C8) goto block_4769; + + block_4626: + if (dir != 0) goto block_463A; + + block_4631: + goto block_48BE; + + block_4637: + goto block_4766; + + block_463A: + if (dir != 1) goto block_464E; + + block_4645: + goto block_48BE; + + block_464B: + goto block_4766; + + block_464E: + if (dir != 2) goto block_4662; + + block_4659: + goto block_48BE; + + block_465F: + goto block_4766; + + block_4662: + if (dir != 3) goto block_4676; + + block_466D: + goto block_48BE; + + block_4673: + goto block_4766; + + block_4676: + if (dir != 4) goto block_468A; + + block_4681: + goto block_48BE; + + block_4687: + goto block_4766; + + block_468A: + if (dir != 5) goto block_469E; + + block_4695: + goto block_48BE; + + block_469B: + goto block_4766; + + block_469E: + if (dir != 6) goto block_46B2; + + block_46A9: + goto block_48BE; + + block_46AF: + goto block_4766; + + block_46B2: + if (dir != 7) goto block_46C6; + + block_46BD: + goto block_48BE; + + block_46C3: + goto block_4766; + + block_46C6: + if (dir != 8) goto block_46DA; + + block_46D1: + goto block_48BE; + + block_46D7: + goto block_4766; + + block_46DA: + if (dir != 9) goto block_46EE; + + block_46E5: + goto block_48BE; + + block_46EB: + goto block_4766; + + block_46EE: + if (dir != 10) goto block_4702; + + block_46F9: + goto block_48BE; + + block_46FF: + goto block_4766; + + block_4702: + if (dir != 11) goto block_4716; + + block_470D: + goto block_48BE; + + block_4713: + goto block_4766; + + block_4716: + if (dir != 12) goto block_472A; + + block_4721: + goto block_48BE; + + block_4727: + goto block_4766; + + block_472A: + if (dir != 13) goto block_473E; + + block_4735: + goto block_48BE; + + block_473B: + goto block_4766; + + block_473E: + if (dir != 14) goto block_4752; + + block_4749: + goto block_48BE; + + block_474F: + goto block_4766; + + block_4752: + if (dir != 15) goto block_4766; + + block_475D: + goto block_48BE; + + block_4763: + goto block_4766; + + block_4766: + goto block_48BE; + + block_4769: + if (t != 0x01CD) goto block_48BE; + + block_477B: + if (dir != 0) goto block_478F; + + block_4783: + goto block_48BE; + + block_478C: + goto block_48BB; + + block_478F: + if (dir != 1) goto block_47A3; + + block_4797: + goto block_48BE; + + block_47A0: + goto block_48BB; + + block_47A3: + if (dir != 2) goto block_47B7; + + block_47AB: + goto block_48BE; + + block_47B4: + goto block_48BB; + + block_47B7: + if (dir != 3) goto block_47CB; + + block_47BF: + goto block_48BE; + + block_47C8: + goto block_48BB; + + block_47CB: + if (dir != 4) goto block_47DF; + + block_47D3: + goto block_48BE; + + block_47DC: + goto block_48BB; + + block_47DF: + if (dir != 5) goto block_47F3; + + block_47E7: + goto block_48BE; + + block_47F0: + goto block_48BB; + + block_47F3: + if (dir != 6) goto block_4807; + + block_47FB: + goto block_48BE; + + block_4804: + goto block_48BB; + + block_4807: + if (dir != 7) goto block_481B; + + block_480F: + goto block_48BE; + + block_4818: + goto block_48BB; + + block_481B: + if (dir != 8) goto block_482F; + + block_4823: + goto block_48BE; + + block_482C: + goto block_48BB; + + block_482F: + if (dir != 9) goto block_4843; + + block_4837: + goto block_48BE; + + block_4840: + goto block_48BB; + + block_4843: + if (dir != 10) goto block_4857; + + block_484B: + goto block_48BE; + + block_4854: + goto block_48BB; + + block_4857: + if (dir != 11) goto block_486B; + + block_485F: + goto block_48BE; + + block_4868: + goto block_48BB; + + block_486B: + if (dir != 12) goto block_487F; + + block_4873: + goto block_48BE; + + block_487C: + goto block_48BB; + + block_487F: + if (dir != 13) goto block_4893; + + block_4887: + goto block_48BE; + + block_4890: + goto block_48BB; + + block_4893: + if (dir != 14) goto block_48A7; + + block_489B: + goto block_48BE; + + block_48A4: + goto block_48BB; + + block_48A7: + if (dir != 15) goto block_48BB; + + block_48AF: + goto block_48BE; + + block_48B8: + goto block_48BB; + + block_48BB: + goto block_48BE; + + block_48BE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_40_slot_40.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_40_slot_40.txt new file mode 100644 index 0000000..8b778c6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_40_slot_40.txt @@ -0,0 +1,85 @@ +function wallgun_slot_40() /* entry=396 class_id=0x0A1A slot=0x40 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + dir; /* [BP+0Ah] type=0x62 */ + + entry: + if ((((Intrinsic0016(arg_06) != 0x0108) || (Intrinsic0016(arg_06) != 0x0113)) || (Intrinsic0016(arg_06) != 0x0399)) || (Intrinsic0016(arg_06) != 0x03A1)) goto block_4933; + + block_4927: + goto block_49DE; + + block_4930: + goto block_49DE; + + block_4933: + if (Intrinsic0016(arg_06) != 0x02F0) goto block_498B; + + block_4943: + if (dir != 6) goto block_4957; + + block_494B: + goto block_49DE; + + block_4954: + goto block_4988; + + block_4957: + if (dir != 5) goto block_496B; + + block_495F: + goto block_49DE; + + block_4968: + goto block_4988; + + block_496B: + if (dir != 4) goto block_497F; + + block_4973: + goto block_49DE; + + block_497C: + goto block_4988; + + block_497F: + goto block_49DE; + + block_4988: + goto block_49DE; + + block_498B: + if (Intrinsic0016(arg_06) != 0x0373) goto block_49D5; + + block_499B: + if (dir != 6) goto block_49AF; + + block_49A3: + goto block_49DE; + + block_49AC: + goto block_49D2; + + block_49AF: + if ((dir != 7) || (dir != 8)) goto block_49C9; + + block_49BD: + goto block_49DE; + + block_49C6: + goto block_49D2; + + block_49C9: + goto block_49DE; + + block_49D2: + goto block_49DE; + + block_49D5: + goto block_49DE; + + block_49DE: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_41_slot_41.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_41_slot_41.txt new file mode 100644 index 0000000..2aa6013 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_41_slot_41.txt @@ -0,0 +1,157 @@ +function wallgun_slot_41() /* entry=396 class_id=0x0A1A slot=0x41 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + dir; /* [BP+0Ah] type=0x62 */ + + entry: + if (Intrinsic0016(arg_06) != 0x04C8) goto block_4B60; + + block_4A20: + if (dir != 0) goto block_4A34; + + block_4A2B: + goto block_4B60; + + block_4A31: + goto block_4B60; + + block_4A34: + if (dir != 1) goto block_4A48; + + block_4A3F: + goto block_4B60; + + block_4A45: + goto block_4B60; + + block_4A48: + if (dir != 2) goto block_4A5C; + + block_4A53: + goto block_4B60; + + block_4A59: + goto block_4B60; + + block_4A5C: + if (dir != 3) goto block_4A70; + + block_4A67: + goto block_4B60; + + block_4A6D: + goto block_4B60; + + block_4A70: + if (dir != 4) goto block_4A84; + + block_4A7B: + goto block_4B60; + + block_4A81: + goto block_4B60; + + block_4A84: + if (dir != 5) goto block_4A98; + + block_4A8F: + goto block_4B60; + + block_4A95: + goto block_4B60; + + block_4A98: + if (dir != 6) goto block_4AAC; + + block_4AA3: + goto block_4B60; + + block_4AA9: + goto block_4B60; + + block_4AAC: + if (dir != 7) goto block_4AC0; + + block_4AB7: + goto block_4B60; + + block_4ABD: + goto block_4B60; + + block_4AC0: + if (dir != 8) goto block_4AD4; + + block_4ACB: + goto block_4B60; + + block_4AD1: + goto block_4B60; + + block_4AD4: + if (dir != 9) goto block_4AE8; + + block_4ADF: + goto block_4B60; + + block_4AE5: + goto block_4B60; + + block_4AE8: + if (dir != 10) goto block_4AFC; + + block_4AF3: + goto block_4B60; + + block_4AF9: + goto block_4B60; + + block_4AFC: + if (dir != 11) goto block_4B10; + + block_4B07: + goto block_4B60; + + block_4B0D: + goto block_4B60; + + block_4B10: + if (dir != 12) goto block_4B24; + + block_4B1B: + goto block_4B60; + + block_4B21: + goto block_4B60; + + block_4B24: + if (dir != 13) goto block_4B38; + + block_4B2F: + goto block_4B60; + + block_4B35: + goto block_4B60; + + block_4B38: + if (dir != 14) goto block_4B4C; + + block_4B43: + goto block_4B60; + + block_4B49: + goto block_4B60; + + block_4B4C: + if (dir != 15) goto block_4B60; + + block_4B57: + goto block_4B60; + + block_4B5D: + goto block_4B60; + + block_4B60: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_42_slot_42.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_42_slot_42.txt new file mode 100644 index 0000000..080960a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_42_slot_42.txt @@ -0,0 +1,157 @@ +function wallgun_slot_42() /* entry=396 class_id=0x0A1A slot=0x42 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + dir; /* [BP+0Ah] type=0x62 */ + + entry: + if (Intrinsic0016(arg_06) != 0x04C8) goto block_4CE2; + + block_4BA2: + if (dir != 0) goto block_4BB6; + + block_4BAD: + goto block_4CE2; + + block_4BB3: + goto block_4CE2; + + block_4BB6: + if (dir != 1) goto block_4BCA; + + block_4BC1: + goto block_4CE2; + + block_4BC7: + goto block_4CE2; + + block_4BCA: + if (dir != 2) goto block_4BDE; + + block_4BD5: + goto block_4CE2; + + block_4BDB: + goto block_4CE2; + + block_4BDE: + if (dir != 3) goto block_4BF2; + + block_4BE9: + goto block_4CE2; + + block_4BEF: + goto block_4CE2; + + block_4BF2: + if (dir != 4) goto block_4C06; + + block_4BFD: + goto block_4CE2; + + block_4C03: + goto block_4CE2; + + block_4C06: + if (dir != 5) goto block_4C1A; + + block_4C11: + goto block_4CE2; + + block_4C17: + goto block_4CE2; + + block_4C1A: + if (dir != 6) goto block_4C2E; + + block_4C25: + goto block_4CE2; + + block_4C2B: + goto block_4CE2; + + block_4C2E: + if (dir != 7) goto block_4C42; + + block_4C39: + goto block_4CE2; + + block_4C3F: + goto block_4CE2; + + block_4C42: + if (dir != 8) goto block_4C56; + + block_4C4D: + goto block_4CE2; + + block_4C53: + goto block_4CE2; + + block_4C56: + if (dir != 9) goto block_4C6A; + + block_4C61: + goto block_4CE2; + + block_4C67: + goto block_4CE2; + + block_4C6A: + if (dir != 10) goto block_4C7E; + + block_4C75: + goto block_4CE2; + + block_4C7B: + goto block_4CE2; + + block_4C7E: + if (dir != 11) goto block_4C92; + + block_4C89: + goto block_4CE2; + + block_4C8F: + goto block_4CE2; + + block_4C92: + if (dir != 12) goto block_4CA6; + + block_4C9D: + goto block_4CE2; + + block_4CA3: + goto block_4CE2; + + block_4CA6: + if (dir != 13) goto block_4CBA; + + block_4CB1: + goto block_4CE2; + + block_4CB7: + goto block_4CE2; + + block_4CBA: + if (dir != 14) goto block_4CCE; + + block_4CC5: + goto block_4CE2; + + block_4CCB: + goto block_4CE2; + + block_4CCE: + if (dir != 15) goto block_4CE2; + + block_4CD9: + goto block_4CE2; + + block_4CDF: + goto block_4CE2; + + block_4CE2: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_43_slot_43.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_43_slot_43.txt new file mode 100644 index 0000000..d14cd5e --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_43_slot_43.txt @@ -0,0 +1,22 @@ +function wallgun_slot_43() /* entry=396 class_id=0x0A1A slot=0x43 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + dir; /* [BP+0Ah] type=0x62 */ + + entry: + if (Intrinsic0016(arg_06) != 0x04C8) goto block_4D30; + + block_4D24: + goto block_4D39; + + block_4D2D: + goto block_4D39; + + block_4D30: + goto block_4D39; + + block_4D39: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_44_slot_44.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_44_slot_44.txt new file mode 100644 index 0000000..899313d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_44_slot_44.txt @@ -0,0 +1,23 @@ +function wallgun_slot_44() /* entry=396 class_id=0x0A1A slot=0x44 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + t; /* [BP-02h] type=0x69 */ + + entry: + t = Intrinsic0016(arg_06); + if (((t != 0x0108) || (t != 0x0113)) || (t != 0x01CD)) goto block_4D9F; + + block_4D93: + goto block_4DA8; + + block_4D9C: + goto block_4DA8; + + block_4D9F: + goto block_4DA8; + + block_4DA8: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_45_slot_45.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_45_slot_45.txt new file mode 100644 index 0000000..b80d9c3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_45_slot_45.txt @@ -0,0 +1,136 @@ +function wallgun_slot_45() /* entry=396 class_id=0x0A1A slot=0x45 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + brain, /* [BP+0Ch] type=0x69 */ + dir, /* [BP-01h] type=0x62 */ + dist, /* [BP-03h] type=0x69 */ + t, /* [BP-05h] type=0x69 */ + del, /* [BP-07h] type=0x69 */ + old, /* [BP-09h] type=0x69 */ + new; /* [BP-0Bh] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + class_0A1A_slot_2C(arg_06); + dir = retval; + del = 3; + old = Item.getFrame(arg_06); + new = (Item.getFrame(arg_06) * 2); + class_0A1A_slot_29(arg_06); + if retval goto block_4E4C; + + block_4E42: + new = (new + 20); + goto block_4E56; + + block_4E4C: + new = (new + 9); + + block_4E56: + if 1 goto block_537F; + + block_4E5E: + spawn class_0A1A_slot_26(pid, arg_06); + suspend; + class_0A0C_slot_29(*(arg_06), target); + dist = retval; + class_0A1A_slot_2E(target, arg_06); + if (retval != 0) goto block_4EAB; + + block_4EA5: + goto block_537F; + + block_4EAB: + if (dist > 20) goto block_4ED8; + + block_4EB6: + if (brain != 4) goto block_4EC7; + + block_4EC1: + goto block_537F; + + block_4EC7: + if (dist > 46) goto block_4ED8; + + block_4ED2: + goto block_537F; + + block_4ED8: + if ((Intrinsic0016(arg_06) != 0x0113) || (Intrinsic0016(arg_06) != 0x0108)) goto block_507F; + + block_4EF6: + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_5350; + + block_507F: + if ((((Intrinsic0016(arg_06) != 0x025F) || (Intrinsic0016(arg_06) != 0x0260)) || (Intrinsic0016(arg_06) != 0x01B9)) || (Intrinsic0016(arg_06) != 0x01BA)) goto block_50CE; + + block_50B9: + spawn class_0A1A_slot_47(dir, arg_06); + goto block_5350; + + block_50CE: + if ((Intrinsic0016(arg_06) != 0x0373) || (Intrinsic0016(arg_06) != 0x02F0)) goto block_514B; + + block_50EC: + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_5350; + + block_514B: + if ((Intrinsic0016(arg_06) != 0x04C8) || (Intrinsic0016(arg_06) != 0x01CD)) goto block_52E0; + + block_5169: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_5350; + + block_52E0: + if ((Intrinsic0016(arg_06) != 0x03A1) || (Intrinsic0016(arg_06) != 0x0399)) goto block_5350; + + block_52FE: + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_5350; + + block_5350: + spawn class_0A1A_slot_30(pid, arg_06); + suspend; + goto block_4E56; + + block_537F: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_46_slot_46.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_46_slot_46.txt new file mode 100644 index 0000000..792572a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_46_slot_46.txt @@ -0,0 +1,117 @@ +function wallgun_slot_46() /* entry=396 class_id=0x0A1A slot=0x46 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + dir, /* [BP-01h] type=0x62 */ + dist, /* [BP-03h] type=0x69 */ + t, /* [BP-05h] type=0x69 */ + del, /* [BP-07h] type=0x69 */ + old, /* [BP-09h] type=0x69 */ + new; /* [BP-0Bh] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + if (Item.getStatus(arg_06) & 0x1000) goto block_5464; + + block_5425: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + if (Item.getStatus(arg_06) & 0x1000) goto block_5464; + + block_545E: + goto block_599A; + + block_5464: + class_0A1A_slot_2C(arg_06); + dir = retval; + del = 3; + old = Item.getFrame(arg_06); + new = (Item.getFrame(arg_06) * 2); + class_0A1A_slot_29(arg_06); + if retval goto block_54C1; + + block_54B7: + new = (new + 20); + goto block_54CB; + + block_54C1: + new = (new + 9); + + block_54CB: + if ((Intrinsic0016(arg_06) != 0x0113) || (Intrinsic0016(arg_06) != 0x0108)) goto block_5672; + + block_54E9: + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_595F; + + block_5672: + if ((((Intrinsic0016(arg_06) != 0x0373) || (Intrinsic0016(arg_06) != 0x02F0)) || (Intrinsic0016(arg_06) != 0x01B9)) || (Intrinsic0016(arg_06) != 0x01BA)) goto block_570B; + + block_56AC: + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_595F; + + block_570B: + if ((((Intrinsic0016(arg_06) != 0x025F) || (Intrinsic0016(arg_06) != 0x0260)) || (Intrinsic0016(arg_06) != 0x01B9)) || (Intrinsic0016(arg_06) != 0x01BA)) goto block_575A; + + block_5745: + spawn class_0A1A_slot_47(dir, arg_06); + goto block_595F; + + block_575A: + if ((Intrinsic0016(arg_06) != 0x04C8) || (Intrinsic0016(arg_06) != 0x01CD)) goto block_58EF; + + block_5778: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_595F; + + block_58EF: + if ((Intrinsic0016(arg_06) != 0x03A1) || (Intrinsic0016(arg_06) != 0x0399)) goto block_595F; + + block_590D: + spawn class_0A1A_slot_47(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_595F; + + block_595F: + spawn class_0A1A_slot_30(pid, arg_06); + suspend; + /* bit_not */ + + block_599A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_47_slot_47.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_47_slot_47.txt new file mode 100644 index 0000000..c6d22b5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_47_slot_47.txt @@ -0,0 +1,59 @@ +function wallgun_slot_47() /* entry=396 class_id=0x0A1A slot=0x47 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + dir, /* [BP+0Ah] type=0x62 */ + x1, /* [BP-02h] type=0x69 */ + x2, /* [BP-04h] type=0x69 */ + y1, /* [BP-06h] type=0x69 */ + y2, /* [BP-08h] type=0x69 */ + z1, /* [BP-09h] type=0x62 */ + z2, /* [BP-0Ah] type=0x62 */ + ammo; /* [BP-0Ch] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + class_0A1A_slot_44(arg_06); + ammo = retval; + dir = (dir & 15); + class_0A1A_slot_3E(dir, arg_06); + x1 = retval; + class_0A1A_slot_3F(dir, arg_06); + y1 = retval; + class_0A1A_slot_40(dir, arg_06); + z1 = retval; + if (ammo != 1) goto block_5A84; + + block_5A7A: + + block_5A84: + if (ammo != 5) goto block_5A99; + + block_5A8F: + + block_5A99: + class_0A1A_slot_29(arg_06); + if retval goto block_5B2A; + + block_5AA9: + class_0A1A_slot_41(dir, arg_06); + x2 = retval; + class_0A1A_slot_42(dir, arg_06); + y2 = retval; + class_0A1A_slot_43(dir, arg_06); + z2 = retval; + if (Intrinsic0016(arg_06) != 0x04C8) goto block_5B27; + + block_5B0E: + + block_5B27: + goto block_5B43; + + block_5B2A: + + block_5B43: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_48_slot_48.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_48_slot_48.txt new file mode 100644 index 0000000..954f28b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_48_slot_48.txt @@ -0,0 +1,107 @@ +function wallgun_slot_48() /* entry=396 class_id=0x0A1A slot=0x48 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + maxHit, /* [BP-02h] type=0x69 */ + turn, /* [BP-04h] type=0x69 */ + fire; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + if ((Intrinsic0016(arg_06) != 0x0113) || (Intrinsic0016(arg_06) != 0x0108)) goto block_5BCF; + + block_5BC5: + maxHit = 100; + goto block_5C5C; + + block_5BCF: + if ((Intrinsic0016(arg_06) != 0x0373) || (Intrinsic0016(arg_06) != 0x0373)) goto block_5BF7; + + block_5BED: + maxHit = 100; + goto block_5C5C; + + block_5BF7: + if ((Intrinsic0016(arg_06) != 0x0399) || (Intrinsic0016(arg_06) != 0x03A1)) goto block_5C1F; + + block_5C15: + maxHit = 50; + goto block_5C5C; + + block_5C1F: + if (Intrinsic0016(arg_06) != 0x04C8) goto block_5C3A; + + block_5C2F: + maxHit = 0x00FA; + goto block_5C5C; + + block_5C3A: + if (Intrinsic0016(arg_06) != 0x01CD) goto block_5C55; + + block_5C4A: + maxHit = 0x00C8; + goto block_5C5C; + + block_5C55: + maxHit = 100; + + block_5C5C: + spawn class_0A1E_slot_27(pid, maxHit, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_5D67; + + block_5C8C: + class_0A0C_slot_20(1); + if retval goto block_5CAC; + + block_5C9C: + goto block_5CB9; + + block_5CAC: + + block_5CB9: + class_0A1A_slot_20(arg_06); + turn = retval; + class_0A1A_slot_21(arg_06); + fire = retval; + if ((turn != 0) || (turn != 3)) goto block_5CF6; + + block_5CE8: + class_0A1A_slot_22(4, arg_06); + goto block_5D1A; + + block_5CF6: + if (turn < 5) goto block_5D1A; + + block_5D01: + class_0A1A_slot_20(arg_06); + class_0A1A_slot_22((retval + 1), arg_06); + goto block_5D1A; + + block_5D1A: + if ((fire != 0) || (fire != 3)) goto block_5D39; + + block_5D2B: + class_0A1A_slot_23(4, arg_06); + goto block_5D5D; + + block_5D39: + if (fire < 5) goto block_5D5D; + + block_5D44: + class_0A1A_slot_21(arg_06); + class_0A1A_slot_23((retval + 1), arg_06); + goto block_5D5D; + + block_5D5D: + /* word_to_dword */ + /* pop_result */ + goto block_5D67; + + block_5D67: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_49_slot_49.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_49_slot_49.txt new file mode 100644 index 0000000..b533c8a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_49_slot_49.txt @@ -0,0 +1,162 @@ +function wallgun_slot_49() /* entry=396 class_id=0x0A1A slot=0x49 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + gun, /* [BP-02h] type=0x24 */ + gun2, /* [BP-04h] type=0x24 */ + broken; /* [BP-06h] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + class_0A0C_slot_2C(vel, ref); + if (!retval) goto block_5DD9; + + block_5DD3: + goto block_6509; + + block_5DD9: + if (Intrinsic00FB(arg_06) > 99) goto block_5E2C; + + block_5DEB: + goto block_6509; + + block_5E2C: + spawn class_0A1A_slot_48(pid, vel, ref, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) goto block_5E60; + + block_5E5A: + goto block_6509; + + block_5E60: + class_0A0C_slot_33(1, *(arg_06)); + class_0A0C_slot_33(0x020A, *(arg_06)); + if ((Intrinsic0016(arg_06) != 0x0108) || (Intrinsic0016(arg_06) != 0x0113)) goto block_6065; + + block_5E9F: + if (Item.getFrame(arg_06) != 27) goto block_6062; + + block_5EB4: + spawn class_0A1E_slot_28(pid, 0, 0, arg_06); + suspend; + if (Intrinsic0016(arg_06) != 0x0108) goto block_5FAF; + + block_5EF9: + suspend; + goto block_6062; + + block_5FAF: + suspend; + + block_6062: + goto block_64FE; + + block_6065: + if ((Intrinsic0016(arg_06) != 0x02F0) || (Intrinsic0016(arg_06) != 0x0373)) goto block_6185; + + block_6083: + if (Item.getFrame(arg_06) != 27) goto block_6182; + + block_6098: + spawn class_0A1E_slot_28(pid, 0, 0, arg_06); + suspend; + if (Intrinsic0016(arg_06) != 0x02F0) goto block_6131; + + block_60DD: + goto block_6182; + + block_6131: + + block_6182: + goto block_64FE; + + block_6185: + if ((((Intrinsic0016(arg_06) != 0x01BA) || (Intrinsic0016(arg_06) != 0x01B9)) || (Intrinsic0016(arg_06) != 0x025F)) || (Intrinsic0016(arg_06) != 0x0260)) goto block_62F7; + + block_61BF: + if (Item.getFrame(arg_06) != 9) goto block_62F4; + + block_61D4: + spawn class_0A1E_slot_28(pid, 0, 0, arg_06); + suspend; + if ((Intrinsic0016(arg_06) != 0x01BA) || (Intrinsic0016(arg_06) != 0x025F)) goto block_6292; + + block_622D: + suspend; + goto block_62F4; + + block_6292: + suspend; + + block_62F4: + goto block_64FE; + + block_62F7: + if ((Intrinsic0016(arg_06) != 0x0399) || (Intrinsic0016(arg_06) != 0x03A1)) goto block_636A; + + block_6315: + if (Item.getFrame(arg_06) < 18) goto block_6367; + + block_632A: + spawn class_0A1E_slot_28(pid, 0, 0, arg_06); + suspend; + class_0A0C_slot_20(1); + + block_6367: + goto block_64FE; + + block_636A: + if (Intrinsic0016(arg_06) != 0x04C8) goto block_6445; + + block_637A: + if (Item.getFrame(arg_06) < 52) goto block_6442; + + block_638F: + spawn class_0A1E_slot_28(pid, 0, 1, arg_06); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_63D2: + if condition goto block_63E6; + + block_63D5: + /* loopnext */ + goto block_63D2; + + block_63E6: + gun = *(arg_06); + set_info(1, 0); + class_0A0C_slot_20(2); + + block_6442: + goto block_64FE; + + block_6445: + if ((Intrinsic0016(arg_06) != 0x04C8) || (Intrinsic0016(arg_06) != 0x01CD)) goto block_64FE; + + block_6463: + if (Item.getFrame(arg_06) < 52) goto block_64FB; + + block_6478: + spawn class_0A1E_slot_28(pid, 0, 1, arg_06); + suspend; + gun = *(arg_06); + set_info(1, 0); + class_0A0C_slot_20(3); + + block_64FB: + goto block_64FE; + + block_64FE: + + block_6509: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_4A_slot_4A.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_4A_slot_4A.txt new file mode 100644 index 0000000..241a448 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_4A_slot_4A.txt @@ -0,0 +1,117 @@ +function wallgun_slot_4A() /* entry=396 class_id=0x0A1A slot=0x4A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + target, /* [BP+0Ah] type=0x69 */ + dir, /* [BP-01h] type=0x62 */ + dist, /* [BP-03h] type=0x69 */ + t, /* [BP-05h] type=0x69 */ + del, /* [BP-07h] type=0x69 */ + old, /* [BP-09h] type=0x69 */ + new; /* [BP-0Bh] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + if (Item.getStatus(arg_06) & 0x1000) goto block_65D6; + + block_6597: + spawn class_0A0C_slot_32(pid, 30, 0x00000000); + suspend; + if (Item.getStatus(arg_06) & 0x1000) goto block_65D6; + + block_65D0: + goto block_6B0C; + + block_65D6: + class_0A1A_slot_2C(arg_06); + dir = retval; + del = 3; + old = Item.getFrame(arg_06); + new = (Item.getFrame(arg_06) * 2); + class_0A1A_slot_29(arg_06); + if retval goto block_6633; + + block_6629: + new = (new + 20); + goto block_663D; + + block_6633: + new = (new + 9); + + block_663D: + if ((Intrinsic0016(arg_06) != 0x0113) || (Intrinsic0016(arg_06) != 0x0108)) goto block_67E4; + + block_665B: + spawn class_0A1A_slot_4B(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A1A_slot_4B(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A1A_slot_4B(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_6AD1; + + block_67E4: + if ((((Intrinsic0016(arg_06) != 0x0373) || (Intrinsic0016(arg_06) != 0x02F0)) || (Intrinsic0016(arg_06) != 0x01B9)) || (Intrinsic0016(arg_06) != 0x01BA)) goto block_687D; + + block_681E: + spawn class_0A1A_slot_4B(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_6AD1; + + block_687D: + if ((((Intrinsic0016(arg_06) != 0x025F) || (Intrinsic0016(arg_06) != 0x0260)) || (Intrinsic0016(arg_06) != 0x01B9)) || (Intrinsic0016(arg_06) != 0x01BA)) goto block_68CC; + + block_68B7: + spawn class_0A1A_slot_4B(dir, arg_06); + goto block_6AD1; + + block_68CC: + if ((Intrinsic0016(arg_06) != 0x04C8) || (Intrinsic0016(arg_06) != 0x01CD)) goto block_6A61; + + block_68EA: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A1A_slot_4B(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A1A_slot_4B(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_6AD1; + + block_6A61: + if ((Intrinsic0016(arg_06) != 0x03A1) || (Intrinsic0016(arg_06) != 0x0399)) goto block_6AD1; + + block_6A7F: + spawn class_0A1A_slot_4B(dir, arg_06); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_6AD1; + + block_6AD1: + spawn class_0A1A_slot_30(pid, arg_06); + suspend; + /* bit_not */ + + block_6B0C: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_4B_slot_4B.txt b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_4B_slot_4B.txt new file mode 100644 index 0000000..c49b4a6 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WALLGUN/slot_4B_slot_4B.txt @@ -0,0 +1,59 @@ +function wallgun_slot_4B() /* entry=396 class_id=0x0A1A slot=0x4B */ +{ + var + referent, /* [BP+00h] type=0x69 */ + dir, /* [BP+0Ah] type=0x62 */ + x1, /* [BP-02h] type=0x69 */ + x2, /* [BP-04h] type=0x69 */ + y1, /* [BP-06h] type=0x69 */ + y2, /* [BP-08h] type=0x69 */ + z1, /* [BP-09h] type=0x62 */ + z2, /* [BP-0Ah] type=0x62 */ + ammo; /* [BP-0Ch] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + spawn class_0A0C_slot_32(pid, 1, 0x00000000); + suspend; + class_0A1A_slot_44(arg_06); + ammo = retval; + dir = (dir & 15); + class_0A1A_slot_3E(dir, arg_06); + x1 = retval; + class_0A1A_slot_3F(dir, arg_06); + y1 = retval; + class_0A1A_slot_40(dir, arg_06); + z1 = retval; + if (ammo != 1) goto block_6BF6; + + block_6BEC: + + block_6BF6: + if (ammo != 5) goto block_6C0B; + + block_6C01: + + block_6C0B: + class_0A1A_slot_29(arg_06); + if retval goto block_6C9C; + + block_6C1B: + class_0A1A_slot_41(dir, arg_06); + x2 = retval; + class_0A1A_slot_42(dir, arg_06); + y2 = retval; + class_0A1A_slot_43(dir, arg_06); + z2 = retval; + if (Intrinsic0016(arg_06) != 0x04C8) goto block_6C99; + + block_6C80: + + block_6C99: + goto block_6CB5; + + block_6C9C: + + block_6CB5: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WEA_BOOT/slot_01_use.txt b/USECODE/EUSECODE_extracted/pseudocode/WEA_BOOT/slot_01_use.txt new file mode 100644 index 0000000..329929f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WEA_BOOT/slot_01_use.txt @@ -0,0 +1,8 @@ +function wea_boot_use() /* entry=251 class_id=0x045B slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WEA_BOOT/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/WEA_BOOT/slot_0A_equip.txt new file mode 100644 index 0000000..cf147f5 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WEA_BOOT/slot_0A_equip.txt @@ -0,0 +1,49 @@ +function wea_boot_equip() /* entry=251 class_id=0x045B slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + counter; /* [BP-02h] type=0x69 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + + block_0125: + if (Item.getFrame(arg_06) != 5) goto block_0177; + + block_0137: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + goto block_0125; + + block_0177: + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + if ((global[0x001F] != 0) && (global[0x001F] < 15)) goto block_01C5; + + block_01B5: + goto block_01D0; + + block_01C5: + + block_01D0: + counter = 0; + + block_01D7: + if (counter <= 4) goto block_0222; + + block_01DF: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_01D7; + + block_0222: + spawn class_045B_enterFastArea(arg_06); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WEA_BOOT/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/WEA_BOOT/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..8531a96 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WEA_BOOT/slot_0F_enterFastArea.txt @@ -0,0 +1,73 @@ +function wea_boot_enterFastArea() /* entry=251 class_id=0x045B slot=0x0F */ +{ + var + referent, /* [BP+00h] type=0x69 */ + counter, /* [BP-02h] type=0x69 */ + ran; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn class_0A0C_slot_32(pid, 0x07D0, 0x00000000); + suspend; + + block_02CA: + suspend; + class_0A0C_slot_20(pid, 100); + spawn class_0A0C_slot_32((retval + 60), 0x00000000); + suspend; + if (!Item.getFrame(arg_06)) goto block_036A; + + block_031B: + counter = 0; + + block_0322: + if (counter <= 4) goto block_036A; + + block_032A: + spawn class_0A0C_slot_32(pid, 10, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0322; + + block_036A: + class_0A0C_slot_20(100); + if (retval > 50) goto block_03FF; + + block_0380: + class_0A0C_slot_20(2); + ran = (retval + 1); + counter = 0; + + block_0399: + if (counter <= ran) goto block_03FC; + + block_03A4: + class_0A0C_slot_20(pid, 10); + spawn class_0A0C_slot_32((retval + 30), 0x00000000); + suspend; + counter = (1 + counter); + goto block_0399; + + block_03FC: + goto block_0451; + + block_03FF: + counter = 0; + + block_0406: + if (counter <= 4) goto block_0451; + + block_040E: + spawn class_0A0C_slot_32(pid, 15, 0x00000000); + suspend; + counter = (1 + counter); + goto block_0406; + + block_0451: + goto block_02CA; + + block_0454: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WEA_BOOT/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/WEA_BOOT/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..7d72bb0 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WEA_BOOT/slot_10_leaveFastArea.txt @@ -0,0 +1,9 @@ +function wea_boot_leaveFastArea() /* entry=251 class_id=0x045B slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x021B, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WINDSURF/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/WINDSURF/slot_06_gotHit.txt new file mode 100644 index 0000000..d586282 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WINDSURF/slot_06_gotHit.txt @@ -0,0 +1,251 @@ +function windsurf_gotHit() /* entry=180 class_id=0x0337 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + xoff, /* [BP-04h] type=0x69 */ + yoff, /* [BP-06h] type=0x69 */ + speed, /* [BP-08h] type=0x69 */ + dir, /* [BP-0Ah] type=0x69 */ + wp, /* [BP-0Fh] type=0x24 */ + param; /* [BP-11h] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + class_0A0C_slot_2C(vel, ref); + if retval goto block_0255; + + block_024F: + goto block_0626; + + block_0255: + if (Item.getMapNum(arg_06) != 0) goto block_05FF; + + block_026A: + item = ref; + if Item.getNpcNum(0, item) goto block_0288; + + block_0282: + goto block_0626; + + block_0288: + if (Intrinsic0016(item) != 0x01D9) goto block_02A1; + + block_029B: + goto block_0626; + + block_02A1: + if (Item.overlaps(ref, arg_06) != 0) goto block_02BB; + + block_02B5: + goto block_0626; + + block_02BB: + if (Intrinsic00FB(arg_06) != 0x00FF) goto block_02D4; + + block_02CE: + goto block_0626; + + block_02D4: + if (Item.getZ(arg_06) != 0x00FE) goto block_02ED; + + block_02E7: + goto block_0626; + + block_02ED: + if (Intrinsic011C(arg_06) != 0x00FF) goto block_0324; + + block_0300: + if (!Item.isNpc(item)) goto block_031E; + + block_0313: + + block_031E: + goto block_0626; + + block_0324: + xoff = 0; + yoff = 0; + param = Intrinsic00FB(arg_06); + dir = (param & 15); + speed = ((param / 16) & 15); + if (speed != 0) goto block_036C; + + block_0362: + speed = 3; + goto block_038A; + + block_036C: + if (speed != 15) goto block_038A; + + block_0377: + speed = (3 + (Intrinsic0029() * 2)); + goto block_038A; + + block_038A: + if (dir != 0) goto block_039C; + + block_0392: + yoff = -1; + goto block_04FE; + + block_039C: + if (dir != 1) goto block_03B5; + + block_03A4: + yoff = -2; + xoff = 1; + goto block_04FE; + + block_03B5: + if (dir != 2) goto block_03CE; + + block_03BD: + yoff = -1; + xoff = 1; + goto block_04FE; + + block_03CE: + if (dir != 3) goto block_03E7; + + block_03D6: + yoff = -1; + xoff = 2; + goto block_04FE; + + block_03E7: + if (dir != 4) goto block_03F9; + + block_03EF: + xoff = 1; + goto block_04FE; + + block_03F9: + if (dir != 5) goto block_0412; + + block_0401: + xoff = 2; + yoff = 1; + goto block_04FE; + + block_0412: + if (dir != 6) goto block_042B; + + block_041A: + xoff = 1; + yoff = 1; + goto block_04FE; + + block_042B: + if (dir != 7) goto block_0444; + + block_0433: + xoff = 1; + yoff = 2; + goto block_04FE; + + block_0444: + if (dir != 8) goto block_0456; + + block_044C: + yoff = 1; + goto block_04FE; + + block_0456: + if (dir != 9) goto block_046F; + + block_045E: + yoff = 2; + xoff = -1; + goto block_04FE; + + block_046F: + if (dir != 10) goto block_0488; + + block_0477: + yoff = 1; + xoff = -1; + goto block_04FE; + + block_0488: + if (dir != 11) goto block_04A1; + + block_0490: + yoff = 1; + xoff = -2; + goto block_04FE; + + block_04A1: + if (dir != 12) goto block_04B3; + + block_04A9: + xoff = -1; + goto block_04FE; + + block_04B3: + if (dir != 13) goto block_04CC; + + block_04BB: + xoff = -2; + yoff = -1; + goto block_04FE; + + block_04CC: + if (dir != 14) goto block_04E5; + + block_04D4: + xoff = -1; + yoff = -1; + goto block_04FE; + + block_04E5: + if (dir != 15) goto block_04FE; + + block_04ED: + xoff = -1; + yoff = -2; + goto block_04FE; + + block_04FE: + xoff = (xoff * speed); + yoff = (yoff * speed); + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + + block_0538: + if 1 goto block_05C4; + + block_0540: + wp = (Intrinsic0013(item) + xoff); + local_0D = (Item.legal_create(item) + yoff); + local_0B = Item.getZ(item); + spawn class_0A0C_slot_32(pid, 5, 0x00000000); + suspend; + if (Item.overlaps(ref, arg_06) != 0) goto block_05C1; + + block_05BB: + goto block_05C4; + + block_05C1: + goto block_0538; + + block_05C4: + if (Item.getZ(item) > 1) goto block_05FC; + + block_05D6: + suspend; + + block_05FC: + goto block_0626; + + block_05FF: + spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_0626: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WINDSURF/slot_0A_equip.txt b/USECODE/EUSECODE_extracted/pseudocode/WINDSURF/slot_0A_equip.txt new file mode 100644 index 0000000..a0f5f2a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WINDSURF/slot_0A_equip.txt @@ -0,0 +1,42 @@ +function windsurf_equip() /* entry=180 class_id=0x0337 slot=0x0A */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x020C, *(arg_06)); + if (var != 0x00FF) goto block_011B; + + block_0115: + goto block_0171; + + block_011B: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x2 */ + + block_0130: + if condition goto block_016F; + + block_0133: + if (item != *(arg_06)) goto block_016B; + + block_0146: + if Item.overlaps(item, arg_06) goto block_016B; + + block_0157: + spawn class_0337_gotHit(0, item, arg_06); + + block_016B: + /* loopnext */ + goto block_0130; + + block_016F: + + block_0171: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WINDSURF/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/WINDSURF/slot_0B_unequip.txt new file mode 100644 index 0000000..0ad0e45 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WINDSURF/slot_0B_unequip.txt @@ -0,0 +1,33 @@ +function windsurf_unequip() /* entry=180 class_id=0x0337 slot=0x0B */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x2 */ + + block_01C1: + if condition goto block_0200; + + block_01C4: + if (item != *(arg_06)) goto block_01FC; + + block_01D7: + if Item.overlaps(item, arg_06) goto block_01FC; + + block_01E8: + spawn class_0337_gotHit(0, item, arg_06); + + block_01FC: + /* loopnext */ + goto block_01C1; + + block_0200: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WINDSURF/slot_10_leaveFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/WINDSURF/slot_10_leaveFastArea.txt new file mode 100644 index 0000000..004bb04 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WINDSURF/slot_10_leaveFastArea.txt @@ -0,0 +1,9 @@ +function windsurf_leaveFastArea() /* entry=180 class_id=0x0337 slot=0x10 */ +{ + entry: + set_info(0x021C, *(arg_06)); + process_exclude(); + class_0A0C_slot_33(0x020C, *(arg_06)); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WSHOCKEW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/WSHOCKEW/slot_06_gotHit.txt new file mode 100644 index 0000000..baae030 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WSHOCKEW/slot_06_gotHit.txt @@ -0,0 +1,84 @@ +function wshockew_gotHit() /* entry=245 class_id=0x044E slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + n, /* [BP-04h] type=0x24 */ + x, /* [BP-06h] type=0x69 */ + y, /* [BP-08h] type=0x69 */ + y1, /* [BP-0Ah] type=0x69 */ + z, /* [BP-0Ch] type=0x69 */ + z1, /* [BP-0Eh] type=0x69 */ + shocker, /* [BP-10h] type=0x24 */ + a, /* [BP-12h] type=0x69 */ + b, /* [BP-14h] type=0x69 */ + c, /* [BP-16h] type=0x69 */ + d, /* [BP-18h] type=0x69 */ + e, /* [BP-1Ah] type=0x69 */ + shockCount; /* [BP-1Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + if Item.isNpc(item) goto block_036A; + + block_01B2: + n = item; + + block_01B9: + if (Item.overlaps(ref, arg_06) != 1) goto block_0344; + + block_01CD: + x = Intrinsic0013(arg_06); + y = Item.getNpcNum(arg_06); + y1 = Item.legal_create(arg_06); + z = Item.AvatarStoleSomehting(item); + z1 = Item.getZ(item); + a = (y1 - y); + a = (a * 2); + b = (z - z1); + b = ((b / 2) * 3); + class_0A0C_slot_20(2); + c = (retval + 1); + + block_0250: + if (c != 0) goto block_031B; + + block_025B: + class_0A0C_slot_20(a); + d = retval; + d = (y1 - d); + y = d; + class_0A0C_slot_20(b); + e = retval; + e = (e + z1); + z = e; + if Item.getQLo(0, 0x045A, shocker) goto block_02E0; + + block_02AF: + c = 1; + shockCount = (1 + shockCount); + + block_02E0: + class_0A0C_slot_20(pid, 30); + spawn class_0A0C_slot_32(retval, 0x00000000); + suspend; + c = (c - 1); + goto block_0250; + + block_031B: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + goto block_01B9; + + block_0344: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + + block_036A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WSHOCKEW/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/WSHOCKEW/slot_0B_unequip.txt new file mode 100644 index 0000000..faa6a67 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WSHOCKEW/slot_0B_unequip.txt @@ -0,0 +1,39 @@ +function wshockew_unequip() /* entry=245 class_id=0x044E slot=0x0B */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0115: + if condition goto block_015F; + + block_0118: + if Item.isNpc(item) goto block_015B; + + block_0127: + if (Item.overlaps(item, arg_06) != 1) goto block_015B; + + block_0141: + spawn class_044E_gotHit(0, item, arg_06); + goto block_0161; + + block_015B: + /* loopnext */ + goto block_0115; + + block_015F: + + block_0161: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WSHOCKEW/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/WSHOCKEW/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..9c72be3 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WSHOCKEW/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function wshockew_avatarStoleSomething() /* entry=245 class_id=0x044E slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WSHOCKNS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/WSHOCKNS/slot_06_gotHit.txt new file mode 100644 index 0000000..f6e0f52 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WSHOCKNS/slot_06_gotHit.txt @@ -0,0 +1,84 @@ +function wshockns_gotHit() /* entry=244 class_id=0x044D slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + n, /* [BP-04h] type=0x24 */ + x, /* [BP-06h] type=0x69 */ + x1, /* [BP-08h] type=0x69 */ + y, /* [BP-0Ah] type=0x69 */ + z, /* [BP-0Ch] type=0x69 */ + z1, /* [BP-0Eh] type=0x69 */ + shocker, /* [BP-10h] type=0x24 */ + a, /* [BP-12h] type=0x69 */ + b, /* [BP-14h] type=0x69 */ + c, /* [BP-16h] type=0x69 */ + d, /* [BP-18h] type=0x69 */ + e, /* [BP-1Ah] type=0x69 */ + shockCount; /* [BP-1Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + if Item.isNpc(item) goto block_036A; + + block_01B2: + n = item; + + block_01B9: + if (Item.overlaps(ref, arg_06) != 1) goto block_0344; + + block_01CD: + x = Item.andStatus(arg_06); + x1 = Intrinsic0013(arg_06); + y = Item.legal_create(arg_06); + z = Item.AvatarStoleSomehting(item); + z1 = Item.getZ(item); + a = (x1 - x); + a = (a * 2); + b = (z - z1); + b = ((b / 2) * 3); + class_0A0C_slot_20(2); + c = (retval + 1); + + block_0250: + if (c != 0) goto block_031B; + + block_025B: + class_0A0C_slot_20(a); + d = retval; + d = (x1 - d); + x = d; + class_0A0C_slot_20(b); + e = retval; + e = (e + z1); + z = e; + if Item.getQLo(0, 0x0459, shocker) goto block_02E0; + + block_02AF: + c = 1; + shockCount = (1 + shockCount); + + block_02E0: + class_0A0C_slot_20(pid, 30); + spawn class_0A0C_slot_32(retval, 0x00000000); + suspend; + c = (c - 1); + goto block_0250; + + block_031B: + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + goto block_01B9; + + block_0344: + spawn class_0A0C_slot_32(pid, 2, 0x00000000); + suspend; + + block_036A: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WSHOCKNS/slot_0B_unequip.txt b/USECODE/EUSECODE_extracted/pseudocode/WSHOCKNS/slot_0B_unequip.txt new file mode 100644 index 0000000..7acde1d --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WSHOCKNS/slot_0B_unequip.txt @@ -0,0 +1,39 @@ +function wshockns_unequip() /* entry=244 class_id=0x044D slot=0x0B */ +{ + var + referent, /* [BP+00h] type=0x69 */ + var, /* [BP+0Ah] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x0212, *(arg_06)); + process_exclude(); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */ + + block_0115: + if condition goto block_015F; + + block_0118: + if Item.isNpc(item) goto block_015B; + + block_0127: + if (Item.overlaps(item, arg_06) != 1) goto block_015B; + + block_0141: + spawn class_044D_gotHit(0, item, arg_06); + goto block_0161; + + block_015B: + /* loopnext */ + goto block_0115; + + block_015F: + + block_0161: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WSHOCKNS/slot_13_avatarStoleSomething.txt b/USECODE/EUSECODE_extracted/pseudocode/WSHOCKNS/slot_13_avatarStoleSomething.txt new file mode 100644 index 0000000..1e6104b --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WSHOCKNS/slot_13_avatarStoleSomething.txt @@ -0,0 +1,8 @@ +function wshockns_avatarStoleSomething() /* entry=244 class_id=0x044D slot=0x13 */ +{ + entry: + set_info(0x022E, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WVENTEW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/WVENTEW/slot_06_gotHit.txt new file mode 100644 index 0000000..d02f039 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WVENTEW/slot_06_gotHit.txt @@ -0,0 +1,44 @@ +function wventew_gotHit() /* entry=225 class_id=0x03E8 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + windsurf; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + fram = Item.getFrame(arg_06); + class_0A0C_slot_2C(vel, ref); + if retval goto block_01AB; + + block_014F: + if (fram < 1) goto block_01AB; + + block_015A: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_017B: + if condition goto block_01A9; + + block_017E: + if (Item.getNpcNum(arg_06) != Item.getNpcNum(windsurf)) goto block_01A5; + + block_019A: + + block_01A5: + /* loopnext */ + goto block_017B; + + block_01A9: + + block_01AB: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WVENTEW/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/WVENTEW/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..d130b23 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WVENTEW/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function wventew_enterFastArea() /* entry=225 class_id=0x03E8 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WVENTNS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/WVENTNS/slot_06_gotHit.txt new file mode 100644 index 0000000..2b2d2b7 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WVENTNS/slot_06_gotHit.txt @@ -0,0 +1,44 @@ +function wventns_gotHit() /* entry=224 class_id=0x03E7 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + fram, /* [BP-02h] type=0x69 */ + windsurf; /* [BP-04h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + fram = Item.getFrame(arg_06); + class_0A0C_slot_2C(vel, ref); + if retval goto block_019E; + + block_0142: + if (fram < 1) goto block_019E; + + block_014D: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */ + + block_016E: + if condition goto block_019C; + + block_0171: + if (Item.getNpcNum(arg_06) != Item.getNpcNum(windsurf)) goto block_0198; + + block_018D: + + block_0198: + /* loopnext */ + goto block_016E; + + block_019C: + + block_019E: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/WVENTNS/slot_0F_enterFastArea.txt b/USECODE/EUSECODE_extracted/pseudocode/WVENTNS/slot_0F_enterFastArea.txt new file mode 100644 index 0000000..14242b9 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/WVENTNS/slot_0F_enterFastArea.txt @@ -0,0 +1,8 @@ +function wventns_enterFastArea() /* entry=224 class_id=0x03E7 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/YELRAIL/slot_20_slot_20.txt b/USECODE/EUSECODE_extracted/pseudocode/YELRAIL/slot_20_slot_20.txt new file mode 100644 index 0000000..34b69f4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/YELRAIL/slot_20_slot_20.txt @@ -0,0 +1,182 @@ +function yelrail_slot_20() /* entry=397 class_id=0x0A1B slot=0x20 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + shotRef, /* [BP+0Ch] type=0x69 */ + vel, /* [BP+0Eh] type=0x69 */ + item, /* [BP-02h] type=0x24 */ + damage; /* [BP-04h] type=0x69 */ + + entry: + set_info(0x0001, *(arg_06)); + set_info(1, *(arg_06)); + class_0A0C_slot_2C(vel, shotRef); + damage = retval; + if (!damage) goto block_011A; + + block_0114: + goto block_0449; + + block_011A: + if (((damage != 4) || (damage != 3)) || (damage != 10)) goto block_0449; + + block_013D: + if (Intrinsic00DA(100, 0) > 50) goto block_0165; + + block_0154: + goto block_0173; + + block_0165: + + block_0173: + if ((Intrinsic0016(arg_06) != 0x008A) || (Intrinsic0016(arg_06) != 0x0088)) goto block_01C3; + + block_0191: + if (!Item.getFrame(arg_06)) goto block_01BA; + + block_01A4: + + block_01BA: + goto block_0449; + + block_01C0: + goto block_0449; + + block_01C3: + if ((Intrinsic0016(arg_06) != 0x008B) || (Intrinsic0016(arg_06) != 0x0091)) goto block_0213; + + block_01E1: + if (!Item.getFrame(arg_06)) goto block_020A; + + block_01F4: + + block_020A: + goto block_0449; + + block_0210: + goto block_0449; + + block_0213: + if ((Intrinsic0016(arg_06) != 0x008C) || (Intrinsic0016(arg_06) != 0x0092)) goto block_025A; + + block_0231: + if (!Item.getFrame(arg_06)) goto block_0251; + + block_0244: + + block_0251: + goto block_0449; + + block_0257: + goto block_0449; + + block_025A: + if (Intrinsic0016(arg_06) != 0x008D) goto block_02EF; + + block_026A: + if (Item.getFrame(arg_06) != 0) goto block_0289; + + block_0279: + goto block_02E6; + + block_0289: + if (Item.getFrame(arg_06) != 1) goto block_02A8; + + block_0298: + goto block_02E6; + + block_02A8: + if (Item.getFrame(arg_06) != 2) goto block_02C7; + + block_02B7: + goto block_02E6; + + block_02C7: + if (Item.getFrame(arg_06) != 3) goto block_02E6; + + block_02D6: + goto block_02E6; + + block_02E6: + goto block_0449; + + block_02EC: + goto block_0449; + + block_02EF: + if (Intrinsic0016(arg_06) != 112) goto block_0383; + + block_02FE: + if (Item.getFrame(arg_06) != 0) goto block_031D; + + block_030D: + goto block_037A; + + block_031D: + if (Item.getFrame(arg_06) != 1) goto block_033C; + + block_032C: + goto block_037A; + + block_033C: + if (Item.getFrame(arg_06) != 2) goto block_035B; + + block_034B: + goto block_037A; + + block_035B: + if (Item.getFrame(arg_06) != 3) goto block_037A; + + block_036A: + goto block_037A; + + block_037A: + goto block_0449; + + block_0380: + goto block_0449; + + block_0383: + if (Intrinsic0016(arg_06) != 0x0093) goto block_0449; + + block_0393: + if (Item.getFrame(arg_06) != 0) goto block_03B2; + + block_03A2: + goto block_0440; + + block_03B2: + if (Item.getFrame(arg_06) != 1) goto block_03D1; + + block_03C1: + goto block_0440; + + block_03D1: + if (Item.getFrame(arg_06) != 2) goto block_03F0; + + block_03E0: + goto block_0440; + + block_03F0: + if (Item.getFrame(arg_06) != 3) goto block_0418; + + block_03FF: + goto block_0440; + + block_0418: + if (Item.getFrame(arg_06) != 4) goto block_0440; + + block_0427: + goto block_0440; + + block_0440: + goto block_0449; + + block_0446: + goto block_0449; + + block_0449: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/YR16X6EW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/YR16X6EW/slot_06_gotHit.txt new file mode 100644 index 0000000..68e88e4 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/YR16X6EW/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function yr16x6ew_gotHit() /* entry=17 class_id=0x0088 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1B_slot_20(pid, vel, ref, *(arg_06), arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/YR16X6NS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/YR16X6NS/slot_06_gotHit.txt new file mode 100644 index 0000000..e36cf45 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/YR16X6NS/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function yr16x6ns_gotHit() /* entry=18 class_id=0x008A slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1B_slot_20(pid, vel, ref, *(arg_06), arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/YR1X1/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/YR1X1/slot_06_gotHit.txt new file mode 100644 index 0000000..134af4c --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/YR1X1/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function yr1x1_gotHit() /* entry=25 class_id=0x0093 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1B_slot_20(pid, vel, ref, *(arg_06), arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/YR2X6EW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/YR2X6EW/slot_06_gotHit.txt new file mode 100644 index 0000000..a2dde0f --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/YR2X6EW/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function yr2x6ew_gotHit() /* entry=13 class_id=0x0070 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1B_slot_20(pid, vel, ref, *(arg_06), arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/YR2X6NS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/YR2X6NS/slot_06_gotHit.txt new file mode 100644 index 0000000..f924ac8 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/YR2X6NS/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function yr2x6ns_gotHit() /* entry=21 class_id=0x008D slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1B_slot_20(pid, vel, ref, *(arg_06), arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/YR4X6EW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/YR4X6EW/slot_06_gotHit.txt new file mode 100644 index 0000000..7a65529 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/YR4X6EW/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function yr4x6ew_gotHit() /* entry=24 class_id=0x0092 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1B_slot_20(pid, vel, ref, *(arg_06), arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/YR4X6NS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/YR4X6NS/slot_06_gotHit.txt new file mode 100644 index 0000000..284a7cd --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/YR4X6NS/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function yr4x6ns_gotHit() /* entry=20 class_id=0x008C slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1B_slot_20(pid, vel, ref, *(arg_06), arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/YR8X6EW/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/YR8X6EW/slot_06_gotHit.txt new file mode 100644 index 0000000..a2ac01a --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/YR8X6EW/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function yr8x6ew_gotHit() /* entry=23 class_id=0x0091 slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1B_slot_20(pid, vel, ref, *(arg_06), arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/YR8X6NS/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/YR8X6NS/slot_06_gotHit.txt new file mode 100644 index 0000000..73700e9 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/YR8X6NS/slot_06_gotHit.txt @@ -0,0 +1,15 @@ +function yr8x6ns_gotHit() /* entry=19 class_id=0x008B slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel; /* [BP+0Ch] type=0x69 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn class_0A1B_slot_20(pid, vel, ref, *(arg_06), arg_06); + suspend; + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/Y_POOL/slot_06_gotHit.txt b/USECODE/EUSECODE_extracted/pseudocode/Y_POOL/slot_06_gotHit.txt new file mode 100644 index 0000000..6d8d437 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/Y_POOL/slot_06_gotHit.txt @@ -0,0 +1,50 @@ +function y_pool_gotHit() /* entry=67 class_id=0x015E slot=0x06 */ +{ + var + referent, /* [BP+00h] type=0x69 */ + ref, /* [BP+0Ah] type=0x69 */ + vel, /* [BP+0Ch] type=0x69 */ + item; /* [BP-02h] type=0x24 */ + + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + item = ref; + class_0A0C_slot_2C(vel, ref); + if (retval != 4) goto block_012F; + + block_010A: + spawn class_0A1E_slot_28(pid, 1, 1, arg_06); + suspend; + + block_012F: + if ((ref <= 0x0100) && (ref != Item.pop())) goto block_014D; + + block_0147: + goto block_01C2; + + block_014D: + if 1 goto block_01C2; + + block_0155: + /* global_address global_id=0x3C */ + if Item.use(*(arg_06)) goto block_01B9; + + block_0169: + class_0A0C_slot_20(8, 10); + /* global_address global_id=0x3C */ + /* global_address global_id=0x3C */ + spawn class_0A0C_slot_32(pid, 60, 0x00000000); + suspend; + goto block_01BF; + + block_01B9: + goto block_01C2; + + block_01BF: + goto block_014D; + + block_01C2: + return; + +} diff --git a/USECODE/EUSECODE_extracted/pseudocode/index.tsv b/USECODE/EUSECODE_extracted/pseudocode/index.tsv new file mode 100644 index 0000000..985c8b1 --- /dev/null +++ b/USECODE/EUSECODE_extracted/pseudocode/index.tsv @@ -0,0 +1,978 @@ +entry_index class_name slot event_name_hint derived_body_start derived_body_end derived_body_length decoded_op_count end_reason debug_symbol_count pseudocode_path +1 BLACK8 0x06 gotHit 0x00D4 0x020D 313 107 debug_symbols_then_end 5 pseudocode/BLACK8/slot_06_gotHit.txt +2 RDOOR_N 0x06 gotHit 0x00D4 0x0133 95 21 debug_symbols_then_end 3 pseudocode/RDOOR_N/slot_06_gotHit.txt +3 BLACK16 0x06 gotHit 0x00D4 0x020D 313 107 debug_symbols_then_end 5 pseudocode/BLACK16/slot_06_gotHit.txt +4 ALARM_EW 0x0F enterFastArea 0x00D4 0x0126 82 32 end_opcode 0 pseudocode/ALARM_EW/slot_0F_enterFastArea.txt +5 SMALLTAB 0x06 gotHit 0x00D4 0x01BA 230 72 debug_symbols_then_end 4 pseudocode/SMALLTAB/slot_06_gotHit.txt +6 VALVE 0x01 use 0x00D4 0x02EE 538 181 debug_symbols_then_end 3 pseudocode/VALVE/slot_01_use.txt +7 MDOOR_E 0x06 gotHit 0x0161 0x01C0 95 21 debug_symbols_then_end 3 pseudocode/MDOOR_E/slot_06_gotHit.txt +7 MDOOR_E 0x0F enterFastArea 0x00D4 0x0161 141 46 debug_symbols_then_end 2 pseudocode/MDOOR_E/slot_0F_enterFastArea.txt +7 MDOOR_E 0x13 avatarStoleSomething 0x01C0 0x02A9 233 70 debug_symbols_then_end 5 pseudocode/MDOOR_E/slot_13_avatarStoleSomething.txt +8 ALARM_NS 0x0F enterFastArea 0x00D4 0x0126 82 32 end_opcode 0 pseudocode/ALARM_NS/slot_0F_enterFastArea.txt +9 RFANEW 0x06 gotHit 0x010B 0x01DF 212 61 debug_symbols_then_end 6 pseudocode/RFANEW/slot_06_gotHit.txt +9 RFANEW 0x0A equip 0x01DF 0x0432 595 200 debug_symbols_then_end 7 pseudocode/RFANEW/slot_0A_equip.txt +9 RFANEW 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/RFANEW/slot_0F_enterFastArea.txt +10 FALLINGC 0x06 gotHit 0x00D4 0x01B9 229 72 debug_symbols_then_end 4 pseudocode/FALLINGC/slot_06_gotHit.txt +11 SWITCHEW 0x01 use 0x00D4 0x0181 173 65 end_opcode 0 pseudocode/SWITCHEW/slot_01_use.txt +12 CONVEY_N 0x06 gotHit 0x01D6 0x02E4 270 78 debug_symbols_then_end 8 pseudocode/CONVEY_N/slot_06_gotHit.txt +12 CONVEY_N 0x0A equip 0x00D4 0x01D6 258 99 body_exhausted 0 pseudocode/CONVEY_N/slot_0A_equip.txt +13 YR2X6EW 0x06 gotHit 0x00D4 0x0137 99 23 debug_symbols_then_end 3 pseudocode/YR2X6EW/slot_06_gotHit.txt +14 RDOOR_E 0x06 gotHit 0x00D4 0x0133 95 21 debug_symbols_then_end 3 pseudocode/RDOOR_E/slot_06_gotHit.txt +15 BOX_EW 0x01 use 0x00D4 0x02CA 502 169 debug_symbols_then_end 2 pseudocode/BOX_EW/slot_01_use.txt +16 BOX_NS 0x01 use 0x00D4 0x02CA 502 169 debug_symbols_then_end 2 pseudocode/BOX_NS/slot_01_use.txt +17 YR16X6EW 0x06 gotHit 0x00D4 0x0137 99 23 debug_symbols_then_end 3 pseudocode/YR16X6EW/slot_06_gotHit.txt +18 YR16X6NS 0x06 gotHit 0x00D4 0x0137 99 23 debug_symbols_then_end 3 pseudocode/YR16X6NS/slot_06_gotHit.txt +19 YR8X6NS 0x06 gotHit 0x00D4 0x0137 99 23 debug_symbols_then_end 3 pseudocode/YR8X6NS/slot_06_gotHit.txt +20 YR4X6NS 0x06 gotHit 0x00D4 0x0137 99 23 debug_symbols_then_end 3 pseudocode/YR4X6NS/slot_06_gotHit.txt +21 YR2X6NS 0x06 gotHit 0x00D4 0x0137 99 23 debug_symbols_then_end 3 pseudocode/YR2X6NS/slot_06_gotHit.txt +22 LUGGAGE 0x06 gotHit 0x00D4 0x0284 432 152 debug_symbols_then_end 4 pseudocode/LUGGAGE/slot_06_gotHit.txt +23 YR8X6EW 0x06 gotHit 0x00D4 0x0137 99 23 debug_symbols_then_end 3 pseudocode/YR8X6EW/slot_06_gotHit.txt +24 YR4X6EW 0x06 gotHit 0x00D4 0x0137 99 23 debug_symbols_then_end 3 pseudocode/YR4X6EW/slot_06_gotHit.txt +25 YR1X1 0x06 gotHit 0x00D4 0x0137 99 23 debug_symbols_then_end 3 pseudocode/YR1X1/slot_06_gotHit.txt +26 PEPSIEW 0x01 use 0x00D4 0x0275 417 149 debug_symbols_then_end 6 pseudocode/PEPSIEW/slot_01_use.txt +26 PEPSIEW 0x06 gotHit 0x0275 0x0301 140 38 debug_symbols_then_end 3 pseudocode/PEPSIEW/slot_06_gotHit.txt +27 GDOOR_E2 0x06 gotHit 0x00D4 0x0133 95 21 debug_symbols_then_end 3 pseudocode/GDOOR_E2/slot_06_gotHit.txt +28 CATWALK1 0x06 gotHit 0x00D4 0x016E 154 42 debug_symbols_then_end 3 pseudocode/CATWALK1/slot_06_gotHit.txt +29 GDOOR_N2 0x06 gotHit 0x00D4 0x0130 92 20 debug_symbols_then_end 3 pseudocode/GDOOR_N2/slot_06_gotHit.txt +30 PEPSINS 0x01 use 0x00D4 0x0275 417 149 debug_symbols_then_end 6 pseudocode/PEPSINS/slot_01_use.txt +30 PEPSINS 0x06 gotHit 0x0275 0x0301 140 38 debug_symbols_then_end 3 pseudocode/PEPSINS/slot_06_gotHit.txt +31 PANELNS 0x01 use 0x00D4 0x015D 137 52 end_opcode 0 pseudocode/PANELNS/slot_01_use.txt +32 PANELEW 0x01 use 0x00D4 0x015D 137 52 end_opcode 0 pseudocode/PANELEW/slot_01_use.txt +33 MDOOR_N 0x06 gotHit 0x0161 0x01C0 95 21 debug_symbols_then_end 3 pseudocode/MDOOR_N/slot_06_gotHit.txt +33 MDOOR_N 0x0F enterFastArea 0x00D4 0x0161 141 46 debug_symbols_then_end 2 pseudocode/MDOOR_N/slot_0F_enterFastArea.txt +33 MDOOR_N 0x13 avatarStoleSomething 0x01C0 0x02A9 233 70 debug_symbols_then_end 5 pseudocode/MDOOR_N/slot_13_avatarStoleSomething.txt +34 BARRELUP 0x06 gotHit 0x00D4 0x0133 95 21 debug_symbols_then_end 3 pseudocode/BARRELUP/slot_06_gotHit.txt +35 SIGNEW 0x04 cachein 0x00D4 0x0134 96 41 end_opcode 0 pseudocode/SIGNEW/slot_04_cachein.txt +36 SIGNNS 0x04 cachein 0x00D4 0x0134 96 41 end_opcode 0 pseudocode/SIGNNS/slot_04_cachein.txt +37 RFANNS 0x06 gotHit 0x010B 0x01DF 212 61 debug_symbols_then_end 6 pseudocode/RFANNS/slot_06_gotHit.txt +37 RFANNS 0x0A equip 0x01DF 0x0432 595 200 debug_symbols_then_end 7 pseudocode/RFANNS/slot_0A_equip.txt +37 RFANNS 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/RFANNS/slot_0F_enterFastArea.txt +38 RDOOR1_E 0x06 gotHit 0x010B 0x016A 95 21 debug_symbols_then_end 3 pseudocode/RDOOR1_E/slot_06_gotHit.txt +38 RDOOR1_E 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/RDOOR1_E/slot_0F_enterFastArea.txt +39 RDOOR2_E 0x06 gotHit 0x010B 0x016A 95 21 debug_symbols_then_end 3 pseudocode/RDOOR2_E/slot_06_gotHit.txt +39 RDOOR2_E 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/RDOOR2_E/slot_0F_enterFastArea.txt +40 RDOOR3_E 0x06 gotHit 0x010B 0x016A 95 21 debug_symbols_then_end 3 pseudocode/RDOOR3_E/slot_06_gotHit.txt +40 RDOOR3_E 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/RDOOR3_E/slot_0F_enterFastArea.txt +41 RDOOR4_E 0x06 gotHit 0x010B 0x016A 95 21 debug_symbols_then_end 3 pseudocode/RDOOR4_E/slot_06_gotHit.txt +41 RDOOR4_E 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/RDOOR4_E/slot_0F_enterFastArea.txt +42 RDOOR5_E 0x06 gotHit 0x010B 0x016A 95 21 debug_symbols_then_end 3 pseudocode/RDOOR5_E/slot_06_gotHit.txt +42 RDOOR5_E 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/RDOOR5_E/slot_0F_enterFastArea.txt +43 BROKENCW 0x06 gotHit 0x00D4 0x01B6 226 72 debug_symbols_then_end 4 pseudocode/BROKENCW/slot_06_gotHit.txt +44 STELEPAD 0x06 gotHit 0x00D4 0x01CC 248 81 debug_symbols_then_end 5 pseudocode/STELEPAD/slot_06_gotHit.txt +44 STELEPAD 0x09 release 0x01CC 0x02D4 264 82 debug_symbols_then_end 3 pseudocode/STELEPAD/slot_09_release.txt +45 MONITNS 0x01 use 0x00D4 0x0336 610 189 debug_symbols_then_end 6 pseudocode/MONITNS/slot_01_use.txt +45 MONITNS 0x06 gotHit 0x0336 0x0370 58 9 debug_symbols_then_end 3 pseudocode/MONITNS/slot_06_gotHit.txt +46 GATGUNNS 0x06 gotHit 0x01EF 0x023D 78 17 debug_symbols_then_end 3 pseudocode/GATGUNNS/slot_06_gotHit.txt +46 GATGUNNS 0x0A equip 0x023D 0x02D2 149 52 body_exhausted 0 pseudocode/GATGUNNS/slot_0A_equip.txt +46 GATGUNNS 0x0B unequip 0x0131 0x0196 101 39 body_exhausted 0 pseudocode/GATGUNNS/slot_0B_unequip.txt +46 GATGUNNS 0x0F enterFastArea 0x00D4 0x0131 93 37 end_opcode 0 pseudocode/GATGUNNS/slot_0F_enterFastArea.txt +46 GATGUNNS 0x10 leaveFastArea 0x0196 0x01EF 89 35 end_opcode 0 pseudocode/GATGUNNS/slot_10_leaveFastArea.txt +47 GTELEPAD 0x06 gotHit 0x00D4 0x01CC 248 81 debug_symbols_then_end 5 pseudocode/GTELEPAD/slot_06_gotHit.txt +47 GTELEPAD 0x09 release 0x01CC 0x02D4 264 82 debug_symbols_then_end 3 pseudocode/GTELEPAD/slot_09_release.txt +48 GATGUNEW 0x06 gotHit 0x01EF 0x023D 78 17 debug_symbols_then_end 3 pseudocode/GATGUNEW/slot_06_gotHit.txt +48 GATGUNEW 0x0A equip 0x023D 0x02D2 149 52 body_exhausted 0 pseudocode/GATGUNEW/slot_0A_equip.txt +48 GATGUNEW 0x0B unequip 0x0131 0x0196 101 39 body_exhausted 0 pseudocode/GATGUNEW/slot_0B_unequip.txt +48 GATGUNEW 0x0F enterFastArea 0x00D4 0x0131 93 37 end_opcode 0 pseudocode/GATGUNEW/slot_0F_enterFastArea.txt +48 GATGUNEW 0x10 leaveFastArea 0x0196 0x01EF 89 35 end_opcode 0 pseudocode/GATGUNEW/slot_10_leaveFastArea.txt +49 FASTSKIL 0x0F enterFastArea 0x00D4 0x02B7 483 165 debug_symbols_then_end 3 pseudocode/FASTSKIL/slot_0F_enterFastArea.txt +50 ELEVPLAT 0x05 hit 0x00D4 0x0189 181 58 debug_symbols_then_end 4 pseudocode/ELEVPLAT/slot_05_hit.txt +50 ELEVPLAT 0x0A equip 0x0189 0x03A5 540 206 end_opcode 0 pseudocode/ELEVPLAT/slot_0A_equip.txt +50 ELEVPLAT 0x0F enterFastArea 0x03DE 0x0448 106 41 end_opcode 0 pseudocode/ELEVPLAT/slot_0F_enterFastArea.txt +50 ELEVPLAT 0x10 leaveFastArea 0x03A5 0x03DE 57 23 end_opcode 0 pseudocode/ELEVPLAT/slot_10_leaveFastArea.txt +51 CATWALK2 0x06 gotHit 0x00D4 0x0225 337 116 debug_symbols_then_end 4 pseudocode/CATWALK2/slot_06_gotHit.txt +52 LIFT 0x01 use 0x051F 0x05D5 182 66 end_opcode 0 pseudocode/LIFT/slot_01_use.txt +52 LIFT 0x06 gotHit 0x0246 0x051F 729 239 debug_symbols_then_end 4 pseudocode/LIFT/slot_06_gotHit.txt +52 LIFT 0x0F enterFastArea 0x00DA 0x0246 364 131 end_opcode 0 pseudocode/LIFT/slot_0F_enterFastArea.txt +52 LIFT 0x20 0x05D5 0x07CA 501 174 debug_symbols_then_end 7 pseudocode/LIFT/slot_20_slot_20.txt +53 CONVEY_E 0x06 gotHit 0x01D6 0x02E4 270 78 debug_symbols_then_end 8 pseudocode/CONVEY_E/slot_06_gotHit.txt +53 CONVEY_E 0x0A equip 0x00D4 0x01D6 258 99 body_exhausted 0 pseudocode/CONVEY_E/slot_0A_equip.txt +54 FFFLOOR 0x06 gotHit 0x047F 0x056B 236 73 debug_symbols_then_end 4 pseudocode/FFFLOOR/slot_06_gotHit.txt +54 FFFLOOR 0x0A equip 0x00D4 0x03B4 736 270 debug_symbols_then_end 4 pseudocode/FFFLOOR/slot_0A_equip.txt +54 FFFLOOR 0x0B unequip 0x03B4 0x047F 203 67 debug_symbols_then_end 3 pseudocode/FFFLOOR/slot_0B_unequip.txt +55 RECHAGNS 0x06 gotHit 0x00D4 0x02D3 511 189 debug_symbols_then_end 4 pseudocode/RECHAGNS/slot_06_gotHit.txt +56 RECHFLNS 0x06 gotHit 0x00D4 0x0329 597 217 debug_symbols_then_end 4 pseudocode/RECHFLNS/slot_06_gotHit.txt +56 RECHFLNS 0x09 release 0x0329 0x038F 102 28 debug_symbols_then_end 2 pseudocode/RECHFLNS/slot_09_release.txt +57 FIGHT_N2 0x06 gotHit 0x00D4 0x026C 408 142 debug_symbols_then_end 4 pseudocode/FIGHT_N2/slot_06_gotHit.txt +58 DEATHFL3 0x06 gotHit 0x010B 0x0159 78 17 debug_symbols_then_end 3 pseudocode/DEATHFL3/slot_06_gotHit.txt +58 DEATHFL3 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/DEATHFL3/slot_0F_enterFastArea.txt +59 BARRELS 0x06 gotHit 0x00D4 0x0133 95 21 debug_symbols_then_end 3 pseudocode/BARRELS/slot_06_gotHit.txt +60 BARRELNS 0x06 gotHit 0x00D4 0x0133 95 21 debug_symbols_then_end 3 pseudocode/BARRELNS/slot_06_gotHit.txt +61 BARRELEW 0x06 gotHit 0x00D4 0x0133 95 21 debug_symbols_then_end 3 pseudocode/BARRELEW/slot_06_gotHit.txt +62 BARRELNW 0x06 gotHit 0x00D4 0x0133 95 21 debug_symbols_then_end 3 pseudocode/BARRELNW/slot_06_gotHit.txt +63 BARRELSE 0x06 gotHit 0x00D4 0x0133 95 21 debug_symbols_then_end 3 pseudocode/BARRELSE/slot_06_gotHit.txt +64 RECHAGEW 0x06 gotHit 0x00D4 0x02D3 511 189 debug_symbols_then_end 4 pseudocode/RECHAGEW/slot_06_gotHit.txt +65 RECHFLEW 0x06 gotHit 0x00D4 0x0329 597 217 debug_symbols_then_end 4 pseudocode/RECHFLEW/slot_06_gotHit.txt +65 RECHFLEW 0x09 release 0x0329 0x038F 102 28 debug_symbols_then_end 2 pseudocode/RECHFLEW/slot_09_release.txt +66 G_POOL 0x06 gotHit 0x00D4 0x01F1 285 90 debug_symbols_then_end 4 pseudocode/G_POOL/slot_06_gotHit.txt +67 Y_POOL 0x06 gotHit 0x00D4 0x01EE 282 89 debug_symbols_then_end 4 pseudocode/Y_POOL/slot_06_gotHit.txt +68 MONITEW 0x01 use 0x00D4 0x0336 610 189 debug_symbols_then_end 6 pseudocode/MONITEW/slot_01_use.txt +68 MONITEW 0x06 gotHit 0x0336 0x0370 58 9 debug_symbols_then_end 3 pseudocode/MONITEW/slot_06_gotHit.txt +69 THERM 0x0F enterFastArea 0x00D4 0x011F 75 30 end_opcode 0 pseudocode/THERM/slot_0F_enterFastArea.txt +70 MALRM_NS 0x0F enterFastArea 0x00D4 0x0126 82 32 end_opcode 0 pseudocode/MALRM_NS/slot_0F_enterFastArea.txt +71 FIGHT_NS 0x06 gotHit 0x00D4 0x0298 452 154 debug_symbols_then_end 4 pseudocode/FIGHT_NS/slot_06_gotHit.txt +72 FIGHT_N3 0x06 gotHit 0x00D4 0x0298 452 154 debug_symbols_then_end 4 pseudocode/FIGHT_N3/slot_06_gotHit.txt +73 FIGHT_N1 0x06 gotHit 0x00D4 0x026C 408 142 debug_symbols_then_end 4 pseudocode/FIGHT_N1/slot_06_gotHit.txt +74 RTELEPAD 0x06 gotHit 0x00D4 0x01CC 248 81 debug_symbols_then_end 5 pseudocode/RTELEPAD/slot_06_gotHit.txt +74 RTELEPAD 0x09 release 0x01CC 0x02D4 264 82 debug_symbols_then_end 3 pseudocode/RTELEPAD/slot_09_release.txt +75 MTELEPAD 0x06 gotHit 0x00D4 0x01CC 248 81 debug_symbols_then_end 5 pseudocode/MTELEPAD/slot_06_gotHit.txt +75 MTELEPAD 0x09 release 0x01CC 0x02D4 264 82 debug_symbols_then_end 3 pseudocode/MTELEPAD/slot_09_release.txt +76 FIGHT_E3 0x06 gotHit 0x00D4 0x026C 408 142 debug_symbols_then_end 4 pseudocode/FIGHT_E3/slot_06_gotHit.txt +77 FIGHT_E1 0x06 gotHit 0x00D4 0x026C 408 142 debug_symbols_then_end 4 pseudocode/FIGHT_E1/slot_06_gotHit.txt +78 FIGHT_E2 0x06 gotHit 0x00D4 0x026C 408 142 debug_symbols_then_end 4 pseudocode/FIGHT_E2/slot_06_gotHit.txt +79 PPLATE 0x06 gotHit 0x00D4 0x0264 400 134 debug_symbols_then_end 4 pseudocode/PPLATE/slot_06_gotHit.txt +80 PPLATE2 0x06 gotHit 0x01E3 0x03E5 514 173 debug_symbols_then_end 5 pseudocode/PPLATE2/slot_06_gotHit.txt +80 PPLATE2 0x0A equip 0x00D4 0x01E3 271 83 debug_symbols_then_end 3 pseudocode/PPLATE2/slot_0A_equip.txt +81 FIGHT_EW 0x06 gotHit 0x00D4 0x026C 408 142 debug_symbols_then_end 4 pseudocode/FIGHT_EW/slot_06_gotHit.txt +82 LAZERNS 0x0A equip 0x039A 0x0485 235 85 body_exhausted 0 pseudocode/LAZERNS/slot_0A_equip.txt +82 LAZERNS 0x10 leaveFastArea 0x0350 0x039A 74 28 end_opcode 0 pseudocode/LAZERNS/slot_10_leaveFastArea.txt +82 LAZERNS 0x20 0x00DA 0x0350 630 242 debug_symbols_then_end 5 pseudocode/LAZERNS/slot_20_slot_20.txt +83 LAZEREW 0x0A equip 0x039D 0x0488 235 85 body_exhausted 0 pseudocode/LAZEREW/slot_0A_equip.txt +83 LAZEREW 0x10 leaveFastArea 0x0353 0x039D 74 28 end_opcode 0 pseudocode/LAZEREW/slot_10_leaveFastArea.txt +83 LAZEREW 0x20 0x00DA 0x0353 633 244 debug_symbols_then_end 5 pseudocode/LAZEREW/slot_20_slot_20.txt +84 RADAR 0x0F enterFastArea 0x00D4 0x010C 56 22 end_opcode 0 pseudocode/RADAR/slot_0F_enterFastArea.txt +85 RSTATION 0x0F enterFastArea 0x00D4 0x011F 75 30 end_opcode 0 pseudocode/RSTATION/slot_0F_enterFastArea.txt +86 JOHN 0x01 use 0x00D4 0x0120 76 31 end_opcode 0 pseudocode/JOHN/slot_01_use.txt +86 JOHN 0x04 cachein 0x0120 0x017E 94 26 debug_symbols_then_end 2 pseudocode/JOHN/slot_04_cachein.txt +87 ENFORCER 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/ENFORCER/slot_0E_calledFromAnim.txt +88 CAMERACO 0x06 gotHit 0x0581 0x0647 198 60 debug_symbols_then_end 3 pseudocode/CAMERACO/slot_06_gotHit.txt +88 CAMERACO 0x0F enterFastArea 0x00D4 0x0537 1123 374 debug_symbols_then_end 11 pseudocode/CAMERACO/slot_0F_enterFastArea.txt +88 CAMERACO 0x10 leaveFastArea 0x0537 0x0581 74 29 end_opcode 0 pseudocode/CAMERACO/slot_10_leaveFastArea.txt +89 MOTION 0x06 gotHit 0x0348 0x0434 236 74 debug_symbols_then_end 4 pseudocode/MOTION/slot_06_gotHit.txt +89 MOTION 0x0F enterFastArea 0x00D4 0x030D 569 183 debug_symbols_then_end 8 pseudocode/MOTION/slot_0F_enterFastArea.txt +89 MOTION 0x10 leaveFastArea 0x030D 0x0348 59 23 end_opcode 0 pseudocode/MOTION/slot_10_leaveFastArea.txt +90 CAMERANS 0x06 gotHit 0x057B 0x0641 198 60 debug_symbols_then_end 3 pseudocode/CAMERANS/slot_06_gotHit.txt +90 CAMERANS 0x0F enterFastArea 0x00D4 0x0531 1117 370 debug_symbols_then_end 11 pseudocode/CAMERANS/slot_0F_enterFastArea.txt +90 CAMERANS 0x10 leaveFastArea 0x0531 0x057B 74 29 end_opcode 0 pseudocode/CAMERANS/slot_10_leaveFastArea.txt +91 CAM_EW 0x06 gotHit 0x01EF 0x023D 78 17 debug_symbols_then_end 3 pseudocode/CAM_EW/slot_06_gotHit.txt +91 CAM_EW 0x0A equip 0x023D 0x02D2 149 52 body_exhausted 0 pseudocode/CAM_EW/slot_0A_equip.txt +91 CAM_EW 0x0B unequip 0x0131 0x0196 101 39 body_exhausted 0 pseudocode/CAM_EW/slot_0B_unequip.txt +91 CAM_EW 0x0F enterFastArea 0x00D4 0x0131 93 37 end_opcode 0 pseudocode/CAM_EW/slot_0F_enterFastArea.txt +91 CAM_EW 0x10 leaveFastArea 0x0196 0x01EF 89 35 end_opcode 0 pseudocode/CAM_EW/slot_10_leaveFastArea.txt +92 CAM_NS 0x06 gotHit 0x01EF 0x023D 78 17 debug_symbols_then_end 3 pseudocode/CAM_NS/slot_06_gotHit.txt +92 CAM_NS 0x0A equip 0x023D 0x02D2 149 52 body_exhausted 0 pseudocode/CAM_NS/slot_0A_equip.txt +92 CAM_NS 0x0B unequip 0x0131 0x0196 101 39 body_exhausted 0 pseudocode/CAM_NS/slot_0B_unequip.txt +92 CAM_NS 0x0F enterFastArea 0x00D4 0x0131 93 37 end_opcode 0 pseudocode/CAM_NS/slot_0F_enterFastArea.txt +92 CAM_NS 0x10 leaveFastArea 0x0196 0x01EF 89 35 end_opcode 0 pseudocode/CAM_NS/slot_10_leaveFastArea.txt +93 FUSREACT 0x0F enterFastArea 0x00D4 0x010C 56 22 end_opcode 0 pseudocode/FUSREACT/slot_0F_enterFastArea.txt +94 TRANSFOR 0x06 gotHit 0x011F 0x0300 481 160 debug_symbols_then_end 6 pseudocode/TRANSFOR/slot_06_gotHit.txt +94 TRANSFOR 0x0F enterFastArea 0x00D4 0x011F 75 30 end_opcode 0 pseudocode/TRANSFOR/slot_0F_enterFastArea.txt +95 SHOCKEW 0x0B unequip 0x00D4 0x0129 85 32 body_exhausted 0 pseudocode/SHOCKEW/slot_0B_unequip.txt +95 SHOCKEW 0x0F enterFastArea 0x0129 0x0161 56 22 end_opcode 0 pseudocode/SHOCKEW/slot_0F_enterFastArea.txt +95 SHOCKEW 0x10 leaveFastArea 0x0161 0x01BE 93 35 end_opcode 0 pseudocode/SHOCKEW/slot_10_leaveFastArea.txt +96 FFFLOOR2 0x06 gotHit 0x045C 0x0548 236 73 debug_symbols_then_end 4 pseudocode/FFFLOOR2/slot_06_gotHit.txt +96 FFFLOOR2 0x0A equip 0x00D4 0x0391 701 260 debug_symbols_then_end 4 pseudocode/FFFLOOR2/slot_0A_equip.txt +96 FFFLOOR2 0x0B unequip 0x0391 0x045C 203 67 debug_symbols_then_end 3 pseudocode/FFFLOOR2/slot_0B_unequip.txt +97 SHOCKNS 0x0B unequip 0x00D4 0x0129 85 32 body_exhausted 0 pseudocode/SHOCKNS/slot_0B_unequip.txt +97 SHOCKNS 0x0F enterFastArea 0x0129 0x0161 56 22 end_opcode 0 pseudocode/SHOCKNS/slot_0F_enterFastArea.txt +97 SHOCKNS 0x10 leaveFastArea 0x0161 0x01BE 93 35 end_opcode 0 pseudocode/SHOCKNS/slot_10_leaveFastArea.txt +98 L_NS-2 0x06 gotHit 0x00D4 0x0177 163 44 debug_symbols_then_end 3 pseudocode/L_NS-2/slot_06_gotHit.txt +98 L_NS-2 0x0B unequip 0x01C2 0x0216 84 35 body_exhausted 0 pseudocode/L_NS-2/slot_0B_unequip.txt +98 L_NS-2 0x0F enterFastArea 0x0177 0x01C2 75 30 end_opcode 0 pseudocode/L_NS-2/slot_0F_enterFastArea.txt +98 L_NS-2 0x13 avatarStoleSomething 0x0216 0x0257 65 27 body_exhausted 0 pseudocode/L_NS-2/slot_13_avatarStoleSomething.txt +99 L_NS-4 0x06 gotHit 0x00D4 0x0177 163 44 debug_symbols_then_end 3 pseudocode/L_NS-4/slot_06_gotHit.txt +99 L_NS-4 0x0B unequip 0x01C2 0x0216 84 35 body_exhausted 0 pseudocode/L_NS-4/slot_0B_unequip.txt +99 L_NS-4 0x0F enterFastArea 0x0177 0x01C2 75 30 end_opcode 0 pseudocode/L_NS-4/slot_0F_enterFastArea.txt +99 L_NS-4 0x13 avatarStoleSomething 0x0216 0x0257 65 27 body_exhausted 0 pseudocode/L_NS-4/slot_13_avatarStoleSomething.txt +100 SENTRY 0x06 gotHit 0x01EF 0x023D 78 17 debug_symbols_then_end 3 pseudocode/SENTRY/slot_06_gotHit.txt +100 SENTRY 0x0A equip 0x023D 0x02D2 149 52 body_exhausted 0 pseudocode/SENTRY/slot_0A_equip.txt +100 SENTRY 0x0B unequip 0x0131 0x0196 101 39 body_exhausted 0 pseudocode/SENTRY/slot_0B_unequip.txt +100 SENTRY 0x0E calledFromAnim 0x02D2 0x032E 92 24 debug_symbols_then_end 3 pseudocode/SENTRY/slot_0E_calledFromAnim.txt +100 SENTRY 0x0F enterFastArea 0x00D4 0x0131 93 37 end_opcode 0 pseudocode/SENTRY/slot_0F_enterFastArea.txt +100 SENTRY 0x10 leaveFastArea 0x0196 0x01EF 89 35 end_opcode 0 pseudocode/SENTRY/slot_10_leaveFastArea.txt +101 L_NS-8 0x06 gotHit 0x00D4 0x0177 163 44 debug_symbols_then_end 3 pseudocode/L_NS-8/slot_06_gotHit.txt +101 L_NS-8 0x0B unequip 0x01C2 0x0216 84 35 body_exhausted 0 pseudocode/L_NS-8/slot_0B_unequip.txt +101 L_NS-8 0x0F enterFastArea 0x0177 0x01C2 75 30 end_opcode 0 pseudocode/L_NS-8/slot_0F_enterFastArea.txt +101 L_NS-8 0x13 avatarStoleSomething 0x0216 0x0257 65 27 body_exhausted 0 pseudocode/L_NS-8/slot_13_avatarStoleSomething.txt +102 L_NS-16 0x06 gotHit 0x00D4 0x0177 163 44 debug_symbols_then_end 3 pseudocode/L_NS-16/slot_06_gotHit.txt +102 L_NS-16 0x0B unequip 0x01C2 0x0216 84 35 body_exhausted 0 pseudocode/L_NS-16/slot_0B_unequip.txt +102 L_NS-16 0x0F enterFastArea 0x0177 0x01C2 75 30 end_opcode 0 pseudocode/L_NS-16/slot_0F_enterFastArea.txt +102 L_NS-16 0x13 avatarStoleSomething 0x0216 0x0257 65 27 body_exhausted 0 pseudocode/L_NS-16/slot_13_avatarStoleSomething.txt +103 L_EW-2 0x06 gotHit 0x00D4 0x0177 163 44 debug_symbols_then_end 3 pseudocode/L_EW-2/slot_06_gotHit.txt +103 L_EW-2 0x0B unequip 0x01C2 0x0216 84 35 body_exhausted 0 pseudocode/L_EW-2/slot_0B_unequip.txt +103 L_EW-2 0x0F enterFastArea 0x0177 0x01C2 75 30 end_opcode 0 pseudocode/L_EW-2/slot_0F_enterFastArea.txt +103 L_EW-2 0x13 avatarStoleSomething 0x0216 0x0257 65 27 body_exhausted 0 pseudocode/L_EW-2/slot_13_avatarStoleSomething.txt +104 L_EW-4 0x06 gotHit 0x00D4 0x0177 163 44 debug_symbols_then_end 3 pseudocode/L_EW-4/slot_06_gotHit.txt +104 L_EW-4 0x0B unequip 0x01C2 0x0216 84 35 body_exhausted 0 pseudocode/L_EW-4/slot_0B_unequip.txt +104 L_EW-4 0x0F enterFastArea 0x0177 0x01C2 75 30 end_opcode 0 pseudocode/L_EW-4/slot_0F_enterFastArea.txt +104 L_EW-4 0x13 avatarStoleSomething 0x0216 0x0257 65 27 body_exhausted 0 pseudocode/L_EW-4/slot_13_avatarStoleSomething.txt +105 L_EW-8 0x06 gotHit 0x00D4 0x0177 163 44 debug_symbols_then_end 3 pseudocode/L_EW-8/slot_06_gotHit.txt +105 L_EW-8 0x0B unequip 0x01C2 0x0216 84 35 body_exhausted 0 pseudocode/L_EW-8/slot_0B_unequip.txt +105 L_EW-8 0x0F enterFastArea 0x0177 0x01C2 75 30 end_opcode 0 pseudocode/L_EW-8/slot_0F_enterFastArea.txt +105 L_EW-8 0x13 avatarStoleSomething 0x0216 0x0257 65 27 body_exhausted 0 pseudocode/L_EW-8/slot_13_avatarStoleSomething.txt +106 L_EW-16 0x06 gotHit 0x00D4 0x0177 163 44 debug_symbols_then_end 3 pseudocode/L_EW-16/slot_06_gotHit.txt +106 L_EW-16 0x0B unequip 0x01C2 0x0216 84 35 body_exhausted 0 pseudocode/L_EW-16/slot_0B_unequip.txt +106 L_EW-16 0x0F enterFastArea 0x0177 0x01C2 75 30 end_opcode 0 pseudocode/L_EW-16/slot_0F_enterFastArea.txt +106 L_EW-16 0x13 avatarStoleSomething 0x0216 0x0257 65 27 body_exhausted 0 pseudocode/L_EW-16/slot_13_avatarStoleSomething.txt +107 MDESKEW 0x06 gotHit 0x00D4 0x01DB 263 84 debug_symbols_then_end 5 pseudocode/MDESKEW/slot_06_gotHit.txt +108 LASERI 0x06 gotHit 0x00D4 0x02CC 504 168 debug_symbols_then_end 7 pseudocode/LASERI/slot_06_gotHit.txt +109 BUBBLE 0x0F enterFastArea 0x00D4 0x026D 409 135 debug_symbols_then_end 2 pseudocode/BUBBLE/slot_0F_enterFastArea.txt +109 BUBBLE 0x10 leaveFastArea 0x026D 0x02A8 59 23 end_opcode 0 pseudocode/BUBBLE/slot_10_leaveFastArea.txt +110 CAMERAEW 0x06 gotHit 0x057B 0x0641 198 60 debug_symbols_then_end 3 pseudocode/CAMERAEW/slot_06_gotHit.txt +110 CAMERAEW 0x0F enterFastArea 0x00D4 0x0531 1117 370 debug_symbols_then_end 11 pseudocode/CAMERAEW/slot_0F_enterFastArea.txt +110 CAMERAEW 0x10 leaveFastArea 0x0531 0x057B 74 29 end_opcode 0 pseudocode/CAMERAEW/slot_10_leaveFastArea.txt +111 TELEPAD 0x06 gotHit 0x0126 0x04E9 963 359 debug_symbols_then_end 8 pseudocode/TELEPAD/slot_06_gotHit.txt +111 TELEPAD 0x09 release 0x0B09 0x0B8E 133 39 debug_symbols_then_end 3 pseudocode/TELEPAD/slot_09_release.txt +111 TELEPAD 0x0F enterFastArea 0x00DA 0x0126 76 31 end_opcode 0 pseudocode/TELEPAD/slot_0F_enterFastArea.txt +111 TELEPAD 0x20 0x04E9 0x0B09 1568 502 debug_symbols_then_end 11 pseudocode/TELEPAD/slot_20_slot_20.txt +112 MDESKNS 0x06 gotHit 0x00D4 0x01DB 263 84 debug_symbols_then_end 5 pseudocode/MDESKNS/slot_06_gotHit.txt +113 MBARREL 0x05 hit 0x0257 0x0379 290 83 debug_symbols_then_end 8 pseudocode/MBARREL/slot_05_hit.txt +113 MBARREL 0x06 gotHit 0x00D4 0x0257 387 118 debug_symbols_then_end 9 pseudocode/MBARREL/slot_06_gotHit.txt +114 S_CHAIR 0x06 gotHit 0x00D4 0x02AA 470 152 debug_symbols_then_end 8 pseudocode/S_CHAIR/slot_06_gotHit.txt +115 TARGETNS 0x06 gotHit 0x00D4 0x01A5 209 65 debug_symbols_then_end 4 pseudocode/TARGETNS/slot_06_gotHit.txt +116 TARGETEW 0x06 gotHit 0x00D4 0x01A5 209 65 debug_symbols_then_end 4 pseudocode/TARGETEW/slot_06_gotHit.txt +117 BART 0x01 use 0x00D4 0x01CB 247 73 debug_symbols_then_end 2 pseudocode/BART/slot_01_use.txt +117 BART 0x0F enterFastArea 0x01CB 0x04A7 732 248 debug_symbols_then_end 4 pseudocode/BART/slot_0F_enterFastArea.txt +118 SMALCHAI 0x06 gotHit 0x00D4 0x02AA 470 152 debug_symbols_then_end 8 pseudocode/SMALCHAI/slot_06_gotHit.txt +119 MFAN_NS 0x06 gotHit 0x00D4 0x0168 148 41 debug_symbols_then_end 3 pseudocode/MFAN_NS/slot_06_gotHit.txt +120 MFAN_EW 0x06 gotHit 0x00D4 0x0168 148 41 debug_symbols_then_end 3 pseudocode/MFAN_EW/slot_06_gotHit.txt +121 SAFE_NS 0x0A equip 0x00D4 0x0403 815 289 debug_symbols_then_end 5 pseudocode/SAFE_NS/slot_0A_equip.txt +122 SAFE_EW 0x0A equip 0x00D4 0x0403 815 289 debug_symbols_then_end 5 pseudocode/SAFE_EW/slot_0A_equip.txt +123 BETTY 0x0A equip 0x00D4 0x0173 159 59 body_exhausted 0 pseudocode/BETTY/slot_0A_equip.txt +124 ELEVATOR 0x06 gotHit 0x00DA 0x054F 1141 419 debug_symbols_then_end 8 pseudocode/ELEVATOR/slot_06_gotHit.txt +124 ELEVATOR 0x09 release 0x0F09 0x0FE0 215 62 debug_symbols_then_end 4 pseudocode/ELEVATOR/slot_09_release.txt +124 ELEVATOR 0x20 0x054F 0x0F09 2490 853 debug_symbols_then_end 10 pseudocode/ELEVATOR/slot_20_slot_20.txt +125 DEATHFL1 0x06 gotHit 0x010B 0x0159 78 17 debug_symbols_then_end 3 pseudocode/DEATHFL1/slot_06_gotHit.txt +125 DEATHFL1 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/DEATHFL1/slot_0F_enterFastArea.txt +126 DEATHFL2 0x06 gotHit 0x010B 0x0159 78 17 debug_symbols_then_end 3 pseudocode/DEATHFL2/slot_06_gotHit.txt +126 DEATHFL2 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/DEATHFL2/slot_0F_enterFastArea.txt +127 D_BARREL 0x06 gotHit 0x00D4 0x0170 156 48 debug_symbols_then_end 3 pseudocode/D_BARREL/slot_06_gotHit.txt +128 CONVFLR 0x06 gotHit 0x01D6 0x02E4 270 78 debug_symbols_then_end 8 pseudocode/CONVFLR/slot_06_gotHit.txt +128 CONVFLR 0x0A equip 0x00D4 0x01D6 258 99 body_exhausted 0 pseudocode/CONVFLR/slot_0A_equip.txt +129 PODBOY 0x06 gotHit 0x01F2 0x0389 407 135 debug_symbols_then_end 6 pseudocode/PODBOY/slot_06_gotHit.txt +129 PODBOY 0x20 0x00DA 0x01F2 280 90 debug_symbols_then_end 5 pseudocode/PODBOY/slot_20_slot_20.txt +130 VALUEBOX 0x04 cachein 0x00DA 0x0144 106 30 debug_symbols_then_end 2 pseudocode/VALUEBOX/slot_04_cachein.txt +130 VALUEBOX 0x20 0x0144 0x01B9 117 26 debug_symbols_then_end 4 pseudocode/VALUEBOX/slot_20_slot_20.txt +131 STATICNS 0x06 gotHit 0x00D4 0x012F 91 22 debug_symbols_then_end 3 pseudocode/STATICNS/slot_06_gotHit.txt +131 STATICNS 0x0F enterFastArea 0x012F 0x0159 42 17 end_opcode 0 pseudocode/STATICNS/slot_0F_enterFastArea.txt +132 BIGCOMNS 0x06 gotHit 0x00D4 0x017D 169 47 debug_symbols_then_end 4 pseudocode/BIGCOMNS/slot_06_gotHit.txt +132 BIGCOMNS 0x0F enterFastArea 0x017D 0x01B4 55 22 end_opcode 0 pseudocode/BIGCOMNS/slot_0F_enterFastArea.txt +133 BIGCOMEW 0x06 gotHit 0x00D4 0x017D 169 47 debug_symbols_then_end 4 pseudocode/BIGCOMEW/slot_06_gotHit.txt +133 BIGCOMEW 0x0F enterFastArea 0x017D 0x01B4 55 22 end_opcode 0 pseudocode/BIGCOMEW/slot_0F_enterFastArea.txt +134 EYECAMNS 0x06 gotHit 0x01EF 0x024C 93 23 debug_symbols_then_end 3 pseudocode/EYECAMNS/slot_06_gotHit.txt +134 EYECAMNS 0x0A equip 0x024C 0x02E1 149 52 body_exhausted 0 pseudocode/EYECAMNS/slot_0A_equip.txt +134 EYECAMNS 0x0B unequip 0x0131 0x0196 101 39 body_exhausted 0 pseudocode/EYECAMNS/slot_0B_unequip.txt +134 EYECAMNS 0x0F enterFastArea 0x00D4 0x0131 93 37 end_opcode 0 pseudocode/EYECAMNS/slot_0F_enterFastArea.txt +134 EYECAMNS 0x10 leaveFastArea 0x0196 0x01EF 89 35 end_opcode 0 pseudocode/EYECAMNS/slot_10_leaveFastArea.txt +135 EYECAMEW 0x06 gotHit 0x01EF 0x023D 78 17 debug_symbols_then_end 3 pseudocode/EYECAMEW/slot_06_gotHit.txt +135 EYECAMEW 0x0A equip 0x023D 0x02D2 149 52 body_exhausted 0 pseudocode/EYECAMEW/slot_0A_equip.txt +135 EYECAMEW 0x0B unequip 0x0131 0x0196 101 39 body_exhausted 0 pseudocode/EYECAMEW/slot_0B_unequip.txt +135 EYECAMEW 0x0F enterFastArea 0x00D4 0x0131 93 37 end_opcode 0 pseudocode/EYECAMEW/slot_0F_enterFastArea.txt +135 EYECAMEW 0x10 leaveFastArea 0x0196 0x01EF 89 35 end_opcode 0 pseudocode/EYECAMEW/slot_10_leaveFastArea.txt +136 MALRM_EW 0x0F enterFastArea 0x00D4 0x0126 82 32 end_opcode 0 pseudocode/MALRM_EW/slot_0F_enterFastArea.txt +137 GLASS_EW 0x06 gotHit 0x00D4 0x0351 637 226 debug_symbols_then_end 7 pseudocode/GLASS_EW/slot_06_gotHit.txt +138 ESPACE2 0x0A equip 0x01A6 0x01FB 85 30 body_exhausted 0 pseudocode/ESPACE2/slot_0A_equip.txt +138 ESPACE2 0x0F enterFastArea 0x00D4 0x01A6 210 71 debug_symbols_then_end 3 pseudocode/ESPACE2/slot_0F_enterFastArea.txt +139 CONV_NL 0x06 gotHit 0x01D6 0x02E4 270 78 debug_symbols_then_end 8 pseudocode/CONV_NL/slot_06_gotHit.txt +139 CONV_NL 0x0A equip 0x00D4 0x01D6 258 99 body_exhausted 0 pseudocode/CONV_NL/slot_0A_equip.txt +140 CONV_EL 0x06 gotHit 0x01D6 0x02E4 270 78 debug_symbols_then_end 8 pseudocode/CONV_EL/slot_06_gotHit.txt +140 CONV_EL 0x0A equip 0x00D4 0x01D6 258 99 body_exhausted 0 pseudocode/CONV_EL/slot_0A_equip.txt +141 MGR_NS 0x06 gotHit 0x00D4 0x01A4 208 62 debug_symbols_then_end 3 pseudocode/MGR_NS/slot_06_gotHit.txt +142 MINELET 0x05 hit 0x00D4 0x011D 73 15 debug_symbols_then_end 3 pseudocode/MINELET/slot_05_hit.txt +142 MINELET 0x10 leaveFastArea 0x011D 0x0152 53 21 end_opcode 0 pseudocode/MINELET/slot_10_leaveFastArea.txt +143 FLORMINE 0x06 gotHit 0x00D4 0x021D 329 112 debug_symbols_then_end 5 pseudocode/FLORMINE/slot_06_gotHit.txt +144 SWITCHNS 0x01 use 0x00D4 0x0181 173 65 end_opcode 0 pseudocode/SWITCHNS/slot_01_use.txt +145 HOVER_EW 0x0A equip 0x0130 0x0185 85 30 body_exhausted 0 pseudocode/HOVER_EW/slot_0A_equip.txt +145 HOVER_EW 0x0B unequip 0x00D4 0x0130 92 33 body_exhausted 0 pseudocode/HOVER_EW/slot_0B_unequip.txt +145 HOVER_EW 0x0F enterFastArea 0x0185 0x0202 125 52 end_opcode 0 pseudocode/HOVER_EW/slot_0F_enterFastArea.txt +145 HOVER_EW 0x10 leaveFastArea 0x0202 0x0253 81 34 end_opcode 0 pseudocode/HOVER_EW/slot_10_leaveFastArea.txt +146 HOVER_NS 0x0A equip 0x0130 0x0185 85 30 body_exhausted 0 pseudocode/HOVER_NS/slot_0A_equip.txt +146 HOVER_NS 0x0B unequip 0x00D4 0x0130 92 33 body_exhausted 0 pseudocode/HOVER_NS/slot_0B_unequip.txt +146 HOVER_NS 0x0F enterFastArea 0x0185 0x0202 125 52 end_opcode 0 pseudocode/HOVER_NS/slot_0F_enterFastArea.txt +146 HOVER_NS 0x10 leaveFastArea 0x0202 0x0253 81 34 end_opcode 0 pseudocode/HOVER_NS/slot_10_leaveFastArea.txt +147 MGR_EW 0x06 gotHit 0x00D4 0x01A4 208 62 debug_symbols_then_end 3 pseudocode/MGR_EW/slot_06_gotHit.txt +148 SSBOX_EW 0x06 gotHit 0x00D4 0x0215 321 103 debug_symbols_then_end 3 pseudocode/SSBOX_EW/slot_06_gotHit.txt +149 BLASERNS 0x05 hit 0x025A 0x02B8 94 21 debug_symbols_then_end 3 pseudocode/BLASERNS/slot_05_hit.txt +149 BLASERNS 0x06 gotHit 0x02B8 0x0316 94 21 debug_symbols_then_end 3 pseudocode/BLASERNS/slot_06_gotHit.txt +149 BLASERNS 0x0A equip 0x013D 0x01CD 144 47 debug_symbols_then_end 3 pseudocode/BLASERNS/slot_0A_equip.txt +149 BLASERNS 0x0B unequip 0x00D4 0x013D 105 42 body_exhausted 0 pseudocode/BLASERNS/slot_0B_unequip.txt +149 BLASERNS 0x0F enterFastArea 0x01CD 0x0221 84 35 end_opcode 0 pseudocode/BLASERNS/slot_0F_enterFastArea.txt +149 BLASERNS 0x10 leaveFastArea 0x0221 0x025A 57 23 end_opcode 0 pseudocode/BLASERNS/slot_10_leaveFastArea.txt +150 BLASEREW 0x05 hit 0x025A 0x02B8 94 21 debug_symbols_then_end 3 pseudocode/BLASEREW/slot_05_hit.txt +150 BLASEREW 0x06 gotHit 0x02B8 0x0316 94 21 debug_symbols_then_end 3 pseudocode/BLASEREW/slot_06_gotHit.txt +150 BLASEREW 0x0A equip 0x013D 0x01CD 144 47 debug_symbols_then_end 3 pseudocode/BLASEREW/slot_0A_equip.txt +150 BLASEREW 0x0B unequip 0x00D4 0x013D 105 42 body_exhausted 0 pseudocode/BLASEREW/slot_0B_unequip.txt +150 BLASEREW 0x0F enterFastArea 0x01CD 0x0221 84 35 end_opcode 0 pseudocode/BLASEREW/slot_0F_enterFastArea.txt +150 BLASEREW 0x10 leaveFastArea 0x0221 0x025A 57 23 end_opcode 0 pseudocode/BLASEREW/slot_10_leaveFastArea.txt +151 BETTYUP 0x06 gotHit 0x010C 0x01CB 191 57 debug_symbols_then_end 4 pseudocode/BETTYUP/slot_06_gotHit.txt +151 BETTYUP 0x0A equip 0x01CB 0x027C 177 65 body_exhausted 0 pseudocode/BETTYUP/slot_0A_equip.txt +151 BETTYUP 0x0F enterFastArea 0x00D4 0x010C 56 22 end_opcode 0 pseudocode/BETTYUP/slot_0F_enterFastArea.txt +152 SSBOX_NS 0x06 gotHit 0x00D4 0x0215 321 103 debug_symbols_then_end 3 pseudocode/SSBOX_NS/slot_06_gotHit.txt +153 ROAMING 0x0E calledFromAnim 0x00D4 0x013F 107 34 debug_symbols_then_end 2 pseudocode/ROAMING/slot_0E_calledFromAnim.txt +154 STABLE 0x06 gotHit 0x00D4 0x02AF 475 170 debug_symbols_then_end 6 pseudocode/STABLE/slot_06_gotHit.txt +155 LIFTPIT 0x06 gotHit 0x00D4 0x0133 95 23 debug_symbols_then_end 4 pseudocode/LIFTPIT/slot_06_gotHit.txt +156 CONGRESS 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/CONGRESS/slot_0E_calledFromAnim.txt +157 SICBOXNS 0x06 gotHit 0x00D4 0x02BE 490 188 debug_symbols_then_end 4 pseudocode/SICBOXNS/slot_06_gotHit.txt +158 SICBFLNS 0x06 gotHit 0x00D4 0x043E 874 341 debug_symbols_then_end 4 pseudocode/SICBFLNS/slot_06_gotHit.txt +158 SICBFLNS 0x09 release 0x043E 0x04A4 102 28 debug_symbols_then_end 2 pseudocode/SICBFLNS/slot_09_release.txt +159 PRISBENC 0x0F enterFastArea 0x00D4 0x033B 615 207 debug_symbols_then_end 2 pseudocode/PRISBENC/slot_0F_enterFastArea.txt +159 PRISBENC 0x10 leaveFastArea 0x033B 0x0376 59 23 end_opcode 0 pseudocode/PRISBENC/slot_10_leaveFastArea.txt +160 PRISSIT 0x0F enterFastArea 0x00D4 0x033B 615 207 debug_symbols_then_end 2 pseudocode/PRISSIT/slot_0F_enterFastArea.txt +160 PRISSIT 0x10 leaveFastArea 0x033B 0x0376 59 23 end_opcode 0 pseudocode/PRISSIT/slot_10_leaveFastArea.txt +161 PRISLEAN 0x0F enterFastArea 0x00D4 0x033B 615 207 debug_symbols_then_end 2 pseudocode/PRISLEAN/slot_0F_enterFastArea.txt +161 PRISLEAN 0x10 leaveFastArea 0x033B 0x0376 59 23 end_opcode 0 pseudocode/PRISLEAN/slot_10_leaveFastArea.txt +162 WALGUNNS 0x06 gotHit 0x01EF 0x023D 78 17 debug_symbols_then_end 3 pseudocode/WALGUNNS/slot_06_gotHit.txt +162 WALGUNNS 0x0A equip 0x023D 0x02D2 149 52 body_exhausted 0 pseudocode/WALGUNNS/slot_0A_equip.txt +162 WALGUNNS 0x0B unequip 0x0131 0x0196 101 39 body_exhausted 0 pseudocode/WALGUNNS/slot_0B_unequip.txt +162 WALGUNNS 0x0F enterFastArea 0x00D4 0x0131 93 37 end_opcode 0 pseudocode/WALGUNNS/slot_0F_enterFastArea.txt +162 WALGUNNS 0x10 leaveFastArea 0x0196 0x01EF 89 35 end_opcode 0 pseudocode/WALGUNNS/slot_10_leaveFastArea.txt +163 GLASS_NS 0x06 gotHit 0x00D4 0x0351 637 226 debug_symbols_then_end 7 pseudocode/GLASS_NS/slot_06_gotHit.txt +164 MAINTMAN 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/MAINTMAN/slot_0E_calledFromAnim.txt +165 CHEMSUIT 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/CHEMSUIT/slot_0E_calledFromAnim.txt +166 OFFWORK 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/OFFWORK/slot_0E_calledFromAnim.txt +167 GUARD 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/GUARD/slot_0E_calledFromAnim.txt +168 GDOOR_N 0x06 gotHit 0x00D4 0x0133 95 21 debug_symbols_then_end 3 pseudocode/GDOOR_N/slot_06_gotHit.txt +169 GDOOR_E 0x06 gotHit 0x00D4 0x0133 95 21 debug_symbols_then_end 3 pseudocode/GDOOR_E/slot_06_gotHit.txt +170 BIGCAN 0x06 gotHit 0x00D4 0x021C 328 105 debug_symbols_then_end 5 pseudocode/BIGCAN/slot_06_gotHit.txt +171 AND_BOOT 0x0A equip 0x00D4 0x0327 595 199 debug_symbols_then_end 3 pseudocode/AND_BOOT/slot_0A_equip.txt +171 AND_BOOT 0x0F enterFastArea 0x0327 0x055E 567 197 debug_symbols_then_end 3 pseudocode/AND_BOOT/slot_0F_enterFastArea.txt +171 AND_BOOT 0x10 leaveFastArea 0x055E 0x0599 59 23 end_opcode 0 pseudocode/AND_BOOT/slot_10_leaveFastArea.txt +172 BRO_BOOT 0x0A equip 0x00D4 0x03A9 725 244 debug_symbols_then_end 3 pseudocode/BRO_BOOT/slot_0A_equip.txt +172 BRO_BOOT 0x0F enterFastArea 0x03A9 0x05F5 588 209 debug_symbols_then_end 3 pseudocode/BRO_BOOT/slot_0F_enterFastArea.txt +172 BRO_BOOT 0x10 leaveFastArea 0x05F5 0x0630 59 23 end_opcode 0 pseudocode/BRO_BOOT/slot_10_leaveFastArea.txt +173 CRUMORPH 0x0A equip 0x00D4 0x02DE 522 175 debug_symbols_then_end 4 pseudocode/CRUMORPH/slot_0A_equip.txt +174 GUARDSQ 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/GUARDSQ/slot_0E_calledFromAnim.txt +175 CARD_NS 0x01 use 0x00D4 0x010C 56 22 end_opcode 0 pseudocode/CARD_NS/slot_01_use.txt +176 CARD_EW 0x01 use 0x00D4 0x010C 56 22 end_opcode 0 pseudocode/CARD_EW/slot_01_use.txt +177 EWALLEW 0x0B unequip 0x010B 0x0157 76 29 body_exhausted 0 pseudocode/EWALLEW/slot_0B_unequip.txt +177 EWALLEW 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/EWALLEW/slot_0F_enterFastArea.txt +177 EWALLEW 0x13 avatarStoleSomething 0x0157 0x01A3 76 29 body_exhausted 0 pseudocode/EWALLEW/slot_13_avatarStoleSomething.txt +178 EWALLNS 0x0B unequip 0x010B 0x0157 76 29 body_exhausted 0 pseudocode/EWALLNS/slot_0B_unequip.txt +178 EWALLNS 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/EWALLNS/slot_0F_enterFastArea.txt +178 EWALLNS 0x13 avatarStoleSomething 0x0157 0x01A3 76 29 body_exhausted 0 pseudocode/EWALLNS/slot_13_avatarStoleSomething.txt +179 ESPACE 0x0A equip 0x01A6 0x01FB 85 30 body_exhausted 0 pseudocode/ESPACE/slot_0A_equip.txt +179 ESPACE 0x0F enterFastArea 0x00D4 0x01A6 210 71 debug_symbols_then_end 3 pseudocode/ESPACE/slot_0F_enterFastArea.txt +180 WINDSURF 0x06 gotHit 0x0226 0x0687 1121 425 debug_symbols_then_end 10 pseudocode/WINDSURF/slot_06_gotHit.txt +180 WINDSURF 0x0A equip 0x00D4 0x0195 193 63 debug_symbols_then_end 3 pseudocode/WINDSURF/slot_0A_equip.txt +180 WINDSURF 0x0B unequip 0x0195 0x0226 145 45 debug_symbols_then_end 3 pseudocode/WINDSURF/slot_0B_unequip.txt +180 WINDSURF 0x10 leaveFastArea 0x0687 0x06C2 59 23 end_opcode 0 pseudocode/WINDSURF/slot_10_leaveFastArea.txt +181 THERMATR 0x0E calledFromAnim 0x00D4 0x013F 107 34 debug_symbols_then_end 2 pseudocode/THERMATR/slot_0E_calledFromAnim.txt +182 D_GUARD 0x01 use 0x01ED 0x0251 100 39 end_opcode 0 pseudocode/D_GUARD/slot_01_use.txt +182 D_GUARD 0x06 gotHit 0x00D4 0x01ED 281 94 debug_symbols_then_end 4 pseudocode/D_GUARD/slot_06_gotHit.txt +183 OBSERVER 0x0E calledFromAnim 0x00D4 0x00FE 42 17 end_opcode 0 pseudocode/OBSERVER/slot_0E_calledFromAnim.txt +184 GRENADE 0x05 hit 0x011C 0x0164 72 15 debug_symbols_then_end 3 pseudocode/GRENADE/slot_05_hit.txt +184 GRENADE 0x06 gotHit 0x00D4 0x011C 72 15 debug_symbols_then_end 3 pseudocode/GRENADE/slot_06_gotHit.txt +185 SCIENTIS 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/SCIENTIS/slot_0E_calledFromAnim.txt +186 ROLL_NS 0x05 hit 0x0C03 0x0C64 97 25 debug_symbols_then_end 3 pseudocode/ROLL_NS/slot_05_hit.txt +186 ROLL_NS 0x06 gotHit 0x0B1A 0x0C03 233 73 debug_symbols_then_end 3 pseudocode/ROLL_NS/slot_06_gotHit.txt +186 ROLL_NS 0x0A equip 0x0135 0x01DC 167 67 body_exhausted 0 pseudocode/ROLL_NS/slot_0A_equip.txt +186 ROLL_NS 0x0B unequip 0x00E0 0x0135 85 30 body_exhausted 0 pseudocode/ROLL_NS/slot_0B_unequip.txt +186 ROLL_NS 0x20 0x01DC 0x03D9 509 159 debug_symbols_then_end 11 pseudocode/ROLL_NS/slot_20_slot_20.txt +186 ROLL_NS 0x21 0x03D9 0x0B1A 1857 689 debug_symbols_then_end 12 pseudocode/ROLL_NS/slot_21_slot_21.txt +187 REB_COUP 0x0A equip 0x0219 0x0366 333 109 debug_symbols_then_end 3 pseudocode/REB_COUP/slot_0A_equip.txt +187 REB_COUP 0x0F enterFastArea 0x00D4 0x0219 325 102 debug_symbols_then_end 2 pseudocode/REB_COUP/slot_0F_enterFastArea.txt +188 MEDIKIT 0x01 use 0x00D4 0x020C 312 94 debug_symbols_then_end 2 pseudocode/MEDIKIT/slot_01_use.txt +189 COR_BOOT 0x0A equip 0x00D4 0x02FB 551 184 debug_symbols_then_end 3 pseudocode/COR_BOOT/slot_0A_equip.txt +189 COR_BOOT 0x0F enterFastArea 0x02FB 0x052F 564 197 debug_symbols_then_end 3 pseudocode/COR_BOOT/slot_0F_enterFastArea.txt +189 COR_BOOT 0x10 leaveFastArea 0x052F 0x056A 59 23 end_opcode 0 pseudocode/COR_BOOT/slot_10_leaveFastArea.txt +190 EVENT 0x0A equip 0x00D4 0x20AA 8150 2938 debug_symbols_then_end 24 pseudocode/EVENT/slot_0A_equip.txt +191 NPCTRIG 0x0A equip 0x00DA 0x024F 373 111 debug_symbols_then_end 5 pseudocode/NPCTRIG/slot_0A_equip.txt +191 NPCTRIG 0x20 0x024F 0x03A8 345 111 debug_symbols_then_end 5 pseudocode/NPCTRIG/slot_20_slot_20.txt +192 PIT 0x06 gotHit 0x00D4 0x01FC 296 91 debug_symbols_then_end 5 pseudocode/PIT/slot_06_gotHit.txt +193 CRUZTRIG 0x06 gotHit 0x00D4 0x034B 631 209 debug_symbols_then_end 5 pseudocode/CRUZTRIG/slot_06_gotHit.txt +194 NPC_ONLY 0x06 gotHit 0x00D4 0x02EB 535 179 debug_symbols_then_end 6 pseudocode/NPC_ONLY/slot_06_gotHit.txt +195 VMAIL 0x0A equip 0x00D4 0x047A 934 270 debug_symbols_then_end 3 pseudocode/VMAIL/slot_0A_equip.txt +196 STORMTRO 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/STORMTRO/slot_0E_calledFromAnim.txt +197 WALGUNEW 0x06 gotHit 0x01EF 0x023D 78 17 debug_symbols_then_end 3 pseudocode/WALGUNEW/slot_06_gotHit.txt +197 WALGUNEW 0x0A equip 0x023D 0x02D2 149 52 body_exhausted 0 pseudocode/WALGUNEW/slot_0A_equip.txt +197 WALGUNEW 0x0B unequip 0x0131 0x0196 101 39 body_exhausted 0 pseudocode/WALGUNEW/slot_0B_unequip.txt +197 WALGUNEW 0x0F enterFastArea 0x00D4 0x0131 93 37 end_opcode 0 pseudocode/WALGUNEW/slot_0F_enterFastArea.txt +197 WALGUNEW 0x10 leaveFastArea 0x0196 0x01EF 89 35 end_opcode 0 pseudocode/WALGUNEW/slot_10_leaveFastArea.txt +198 STATICEW 0x06 gotHit 0x00D4 0x012F 91 22 debug_symbols_then_end 3 pseudocode/STATICEW/slot_06_gotHit.txt +198 STATICEW 0x0F enterFastArea 0x012F 0x0159 42 17 end_opcode 0 pseudocode/STATICEW/slot_0F_enterFastArea.txt +199 BARDUDES 0x0F enterFastArea 0x00D4 0x034D 633 219 debug_symbols_then_end 2 pseudocode/BARDUDES/slot_0F_enterFastArea.txt +200 ANDROID 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/ANDROID/slot_0E_calledFromAnim.txt +201 SOLDIER 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/SOLDIER/slot_0E_calledFromAnim.txt +202 CHEDITRO 0x0E calledFromAnim 0x00D4 0x012A 86 25 debug_symbols_then_end 2 pseudocode/CHEDITRO/slot_0E_calledFromAnim.txt +203 SPIDWALK 0x05 hit 0x0164 0x01AD 73 15 debug_symbols_then_end 3 pseudocode/SPIDWALK/slot_05_hit.txt +203 SPIDWALK 0x06 gotHit 0x0109 0x0164 91 22 debug_symbols_then_end 3 pseudocode/SPIDWALK/slot_06_gotHit.txt +203 SPIDWALK 0x10 leaveFastArea 0x00D4 0x0109 53 21 end_opcode 0 pseudocode/SPIDWALK/slot_10_leaveFastArea.txt +204 SPIDPAD 0x0A equip 0x011D 0x018A 109 41 body_exhausted 0 pseudocode/SPIDPAD/slot_0A_equip.txt +204 SPIDPAD 0x10 leaveFastArea 0x00D4 0x011D 73 28 end_opcode 0 pseudocode/SPIDPAD/slot_10_leaveFastArea.txt +205 GOVGUNNS 0x06 gotHit 0x01EF 0x023D 78 17 debug_symbols_then_end 3 pseudocode/GOVGUNNS/slot_06_gotHit.txt +205 GOVGUNNS 0x0A equip 0x023D 0x02D2 149 52 body_exhausted 0 pseudocode/GOVGUNNS/slot_0A_equip.txt +205 GOVGUNNS 0x0B unequip 0x0131 0x0196 101 39 body_exhausted 0 pseudocode/GOVGUNNS/slot_0B_unequip.txt +205 GOVGUNNS 0x0F enterFastArea 0x00D4 0x0131 93 37 end_opcode 0 pseudocode/GOVGUNNS/slot_0F_enterFastArea.txt +205 GOVGUNNS 0x10 leaveFastArea 0x0196 0x01EF 89 35 end_opcode 0 pseudocode/GOVGUNNS/slot_10_leaveFastArea.txt +206 LANDMINE 0x01 use 0x00D4 0x055A 1158 432 debug_symbols_then_end 8 pseudocode/LANDMINE/slot_01_use.txt +206 LANDMINE 0x06 gotHit 0x055A 0x0629 207 61 debug_symbols_then_end 5 pseudocode/LANDMINE/slot_06_gotHit.txt +207 BLASTPAC 0x01 use 0x00DA 0x06F2 1560 560 debug_symbols_then_end 10 pseudocode/BLASTPAC/slot_01_use.txt +207 BLASTPAC 0x20 0x06F2 0x106A 2424 821 debug_symbols_then_end 11 pseudocode/BLASTPAC/slot_20_slot_20.txt +208 FUSPAC 0x01 use 0x00D4 0x0800 1836 669 debug_symbols_then_end 12 pseudocode/FUSPAC/slot_01_use.txt +209 GOVGUNEW 0x06 gotHit 0x01EF 0x023D 78 17 debug_symbols_then_end 3 pseudocode/GOVGUNEW/slot_06_gotHit.txt +209 GOVGUNEW 0x0A equip 0x023D 0x02D2 149 52 body_exhausted 0 pseudocode/GOVGUNEW/slot_0A_equip.txt +209 GOVGUNEW 0x0B unequip 0x0131 0x0196 101 39 body_exhausted 0 pseudocode/GOVGUNEW/slot_0B_unequip.txt +209 GOVGUNEW 0x0F enterFastArea 0x00D4 0x0131 93 37 end_opcode 0 pseudocode/GOVGUNEW/slot_0F_enterFastArea.txt +209 GOVGUNEW 0x10 leaveFastArea 0x0196 0x01EF 89 35 end_opcode 0 pseudocode/GOVGUNEW/slot_10_leaveFastArea.txt +210 EBRIDGE 0x0A equip 0x0180 0x01E2 98 35 body_exhausted 0 pseudocode/EBRIDGE/slot_0A_equip.txt +210 EBRIDGE 0x0F enterFastArea 0x00D4 0x0180 172 56 debug_symbols_then_end 3 pseudocode/EBRIDGE/slot_0F_enterFastArea.txt +211 SPANEL 0x01 use 0x00D4 0x015B 135 52 end_opcode 0 pseudocode/SPANEL/slot_01_use.txt +212 VARGAS 0x0E calledFromAnim 0x00D4 0x0132 94 39 end_opcode 0 pseudocode/VARGAS/slot_0E_calledFromAnim.txt +213 SL_NS-16 0x0B unequip 0x00D4 0x0114 64 27 body_exhausted 0 pseudocode/SL_NS-16/slot_0B_unequip.txt +213 SL_NS-16 0x13 avatarStoleSomething 0x0114 0x0154 64 27 body_exhausted 0 pseudocode/SL_NS-16/slot_13_avatarStoleSomething.txt +214 SL_NS-8 0x0B unequip 0x00D4 0x0114 64 27 body_exhausted 0 pseudocode/SL_NS-8/slot_0B_unequip.txt +214 SL_NS-8 0x13 avatarStoleSomething 0x0114 0x0154 64 27 body_exhausted 0 pseudocode/SL_NS-8/slot_13_avatarStoleSomething.txt +215 SL_NS-4 0x0B unequip 0x00D4 0x0114 64 27 body_exhausted 0 pseudocode/SL_NS-4/slot_0B_unequip.txt +215 SL_NS-4 0x13 avatarStoleSomething 0x0114 0x0154 64 27 body_exhausted 0 pseudocode/SL_NS-4/slot_13_avatarStoleSomething.txt +216 SL_EW-4 0x0B unequip 0x00D4 0x0114 64 27 body_exhausted 0 pseudocode/SL_EW-4/slot_0B_unequip.txt +216 SL_EW-4 0x13 avatarStoleSomething 0x0114 0x0154 64 27 body_exhausted 0 pseudocode/SL_EW-4/slot_13_avatarStoleSomething.txt +217 SL_EW-8 0x0B unequip 0x00D4 0x0114 64 27 body_exhausted 0 pseudocode/SL_EW-8/slot_0B_unequip.txt +217 SL_EW-8 0x13 avatarStoleSomething 0x0114 0x0154 64 27 body_exhausted 0 pseudocode/SL_EW-8/slot_13_avatarStoleSomething.txt +218 SL_EW-16 0x0B unequip 0x00D4 0x0114 64 27 body_exhausted 0 pseudocode/SL_EW-16/slot_0B_unequip.txt +218 SL_EW-16 0x13 avatarStoleSomething 0x0114 0x0154 64 27 body_exhausted 0 pseudocode/SL_EW-16/slot_13_avatarStoleSomething.txt +219 MELF 0x01 use 0x00D4 0x0245 369 123 debug_symbols_then_end 2 pseudocode/MELF/slot_01_use.txt +220 OPC 0x01 use 0x00D4 0x03F7 803 273 debug_symbols_then_end 2 pseudocode/OPC/slot_01_use.txt +221 GENERATR 0x06 gotHit 0x00D4 0x0132 94 21 debug_symbols_then_end 3 pseudocode/GENERATR/slot_06_gotHit.txt +222 RFANBADE 0x06 gotHit 0x00D4 0x01ED 281 90 debug_symbols_then_end 6 pseudocode/RFANBADE/slot_06_gotHit.txt +222 RFANBADE 0x0A equip 0x01ED 0x0401 532 184 debug_symbols_then_end 7 pseudocode/RFANBADE/slot_0A_equip.txt +223 RFANBADN 0x06 gotHit 0x00D4 0x01ED 281 90 debug_symbols_then_end 6 pseudocode/RFANBADN/slot_06_gotHit.txt +223 RFANBADN 0x0A equip 0x01ED 0x0402 533 184 debug_symbols_then_end 7 pseudocode/RFANBADN/slot_0A_equip.txt +224 WVENTNS 0x06 gotHit 0x010B 0x01D7 204 61 debug_symbols_then_end 5 pseudocode/WVENTNS/slot_06_gotHit.txt +224 WVENTNS 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/WVENTNS/slot_0F_enterFastArea.txt +225 WVENTEW 0x06 gotHit 0x010B 0x01E4 217 66 debug_symbols_then_end 5 pseudocode/WVENTEW/slot_06_gotHit.txt +225 WVENTEW 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/WVENTEW/slot_0F_enterFastArea.txt +226 REBEL_TV 0x01 use 0x00D4 0x041F 843 290 end_opcode 0 pseudocode/REBEL_TV/slot_01_use.txt +227 SDOOR_N 0x06 gotHit 0x00D4 0x0130 92 20 debug_symbols_then_end 3 pseudocode/SDOOR_N/slot_06_gotHit.txt +228 SDOOR_E 0x06 gotHit 0x00D4 0x0130 92 20 debug_symbols_then_end 3 pseudocode/SDOOR_E/slot_06_gotHit.txt +229 FLAMEBOX 0x0A equip 0x00E0 0x034A 618 229 debug_symbols_then_end 5 pseudocode/FLAMEBOX/slot_0A_equip.txt +229 FLAMEBOX 0x20 0x034A 0x04F6 428 138 debug_symbols_then_end 5 pseudocode/FLAMEBOX/slot_20_slot_20.txt +229 FLAMEBOX 0x21 0x04F6 0x0790 666 221 debug_symbols_then_end 6 pseudocode/FLAMEBOX/slot_21_slot_21.txt +230 EBRIDGE2 0x0A equip 0x0180 0x01E2 98 35 body_exhausted 0 pseudocode/EBRIDGE2/slot_0A_equip.txt +230 EBRIDGE2 0x0F enterFastArea 0x00D4 0x0180 172 56 debug_symbols_then_end 3 pseudocode/EBRIDGE2/slot_0F_enterFastArea.txt +231 MCRATE 0x06 gotHit 0x00D4 0x028F 443 148 debug_symbols_then_end 7 pseudocode/MCRATE/slot_06_gotHit.txt +232 COPY_EW 0x06 gotHit 0x00D4 0x01BF 235 69 debug_symbols_then_end 5 pseudocode/COPY_EW/slot_06_gotHit.txt +233 COPY_NS 0x06 gotHit 0x00D4 0x01BF 235 69 debug_symbols_then_end 5 pseudocode/COPY_NS/slot_06_gotHit.txt +234 ART 0x06 gotHit 0x00D4 0x01A2 206 60 debug_symbols_then_end 4 pseudocode/ART/slot_06_gotHit.txt +235 FLAME1 0x06 gotHit 0x010B 0x0168 93 20 debug_symbols_then_end 3 pseudocode/FLAME1/slot_06_gotHit.txt +235 FLAME1 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/FLAME1/slot_0F_enterFastArea.txt +236 REB_PAD 0x06 gotHit 0x00E0 0x0416 822 302 debug_symbols_then_end 6 pseudocode/REB_PAD/slot_06_gotHit.txt +236 REB_PAD 0x20 0x0416 0x0588 370 107 debug_symbols_then_end 3 pseudocode/REB_PAD/slot_20_slot_20.txt +236 REB_PAD 0x21 0x0588 0x06D2 330 98 debug_symbols_then_end 6 pseudocode/REB_PAD/slot_21_slot_21.txt +237 NOSTRIL 0x0A equip 0x00E0 0x01A0 192 61 debug_symbols_then_end 3 pseudocode/NOSTRIL/slot_0A_equip.txt +237 NOSTRIL 0x20 0x01A0 0x02C9 297 90 debug_symbols_then_end 4 pseudocode/NOSTRIL/slot_20_slot_20.txt +237 NOSTRIL 0x21 0x02C9 0x0487 446 149 debug_symbols_then_end 4 pseudocode/NOSTRIL/slot_21_slot_21.txt +238 VARDESK 0x01 use 0x00D4 0x03CA 758 256 debug_symbols_then_end 3 pseudocode/VARDESK/slot_01_use.txt +238 VARDESK 0x0F enterFastArea 0x03CA 0x05C8 510 171 debug_symbols_then_end 3 pseudocode/VARDESK/slot_0F_enterFastArea.txt +238 VARDESK 0x10 leaveFastArea 0x05C8 0x0603 59 23 end_opcode 0 pseudocode/VARDESK/slot_10_leaveFastArea.txt +239 BLASER1 0x05 hit 0x0266 0x02C4 94 21 debug_symbols_then_end 3 pseudocode/BLASER1/slot_05_hit.txt +239 BLASER1 0x06 gotHit 0x02C4 0x0322 94 21 debug_symbols_then_end 3 pseudocode/BLASER1/slot_06_gotHit.txt +239 BLASER1 0x0A equip 0x0149 0x01D9 144 47 debug_symbols_then_end 3 pseudocode/BLASER1/slot_0A_equip.txt +239 BLASER1 0x0B unequip 0x00E0 0x0149 105 42 body_exhausted 0 pseudocode/BLASER1/slot_0B_unequip.txt +239 BLASER1 0x0F enterFastArea 0x01D9 0x022D 84 35 end_opcode 0 pseudocode/BLASER1/slot_0F_enterFastArea.txt +239 BLASER1 0x10 leaveFastArea 0x022D 0x0266 57 23 end_opcode 0 pseudocode/BLASER1/slot_10_leaveFastArea.txt +239 BLASER1 0x20 0x0322 0x0847 1317 527 debug_symbols_then_end 13 pseudocode/BLASER1/slot_20_slot_20.txt +239 BLASER1 0x21 0x0847 0x08E8 161 41 debug_symbols_then_end 4 pseudocode/BLASER1/slot_21_slot_21.txt +240 REB_BOOT 0x0F enterFastArea 0x00D4 0x0208 308 94 debug_symbols_then_end 2 pseudocode/REB_BOOT/slot_0F_enterFastArea.txt +241 UPPLATE 0x06 gotHit 0x00D4 0x02A9 469 154 debug_symbols_then_end 4 pseudocode/UPPLATE/slot_06_gotHit.txt +242 KEYPADNS 0x01 use 0x00D4 0x01EF 283 89 debug_symbols_then_end 2 pseudocode/KEYPADNS/slot_01_use.txt +243 KEYPADEW 0x01 use 0x00D4 0x01EF 283 89 debug_symbols_then_end 2 pseudocode/KEYPADEW/slot_01_use.txt +244 WSHOCKNS 0x06 gotHit 0x0185 0x03F5 624 196 debug_symbols_then_end 17 pseudocode/WSHOCKNS/slot_06_gotHit.txt +244 WSHOCKNS 0x0B unequip 0x00D4 0x0185 177 58 debug_symbols_then_end 3 pseudocode/WSHOCKNS/slot_0B_unequip.txt +244 WSHOCKNS 0x13 avatarStoleSomething 0x03F5 0x0435 64 24 body_exhausted 0 pseudocode/WSHOCKNS/slot_13_avatarStoleSomething.txt +245 WSHOCKEW 0x06 gotHit 0x0185 0x03F5 624 196 debug_symbols_then_end 17 pseudocode/WSHOCKEW/slot_06_gotHit.txt +245 WSHOCKEW 0x0B unequip 0x00D4 0x0185 177 58 debug_symbols_then_end 3 pseudocode/WSHOCKEW/slot_0B_unequip.txt +245 WSHOCKEW 0x13 avatarStoleSomething 0x03F5 0x0435 64 24 body_exhausted 0 pseudocode/WSHOCKEW/slot_13_avatarStoleSomething.txt +246 ELYDESK 0x01 use 0x00D4 0x0446 882 301 debug_symbols_then_end 3 pseudocode/ELYDESK/slot_01_use.txt +246 ELYDESK 0x0F enterFastArea 0x0446 0x0677 561 193 debug_symbols_then_end 2 pseudocode/ELYDESK/slot_0F_enterFastArea.txt +246 ELYDESK 0x10 leaveFastArea 0x0677 0x06B2 59 23 end_opcode 0 pseudocode/ELYDESK/slot_10_leaveFastArea.txt +247 SSWITCHN 0x01 use 0x015C 0x08A8 1868 673 debug_symbols_then_end 17 pseudocode/SSWITCHN/slot_01_use.txt +247 SSWITCHN 0x06 gotHit 0x00D4 0x015C 136 37 debug_symbols_then_end 3 pseudocode/SSWITCHN/slot_06_gotHit.txt +248 SSWITCHE 0x01 use 0x015C 0x08A8 1868 673 debug_symbols_then_end 17 pseudocode/SSWITCHE/slot_01_use.txt +248 SSWITCHE 0x06 gotHit 0x00D4 0x015C 136 37 debug_symbols_then_end 3 pseudocode/SSWITCHE/slot_06_gotHit.txt +249 SHOCKNS1 0x0B unequip 0x00D4 0x0165 145 52 body_exhausted 0 pseudocode/SHOCKNS1/slot_0B_unequip.txt +249 SHOCKNS1 0x0F enterFastArea 0x0165 0x019D 56 22 end_opcode 0 pseudocode/SHOCKNS1/slot_0F_enterFastArea.txt +249 SHOCKNS1 0x10 leaveFastArea 0x019D 0x01FA 93 35 end_opcode 0 pseudocode/SHOCKNS1/slot_10_leaveFastArea.txt +250 SHOCKEW1 0x0B unequip 0x00D4 0x0165 145 52 body_exhausted 0 pseudocode/SHOCKEW1/slot_0B_unequip.txt +250 SHOCKEW1 0x0F enterFastArea 0x0165 0x019D 56 22 end_opcode 0 pseudocode/SHOCKEW1/slot_0F_enterFastArea.txt +250 SHOCKEW1 0x10 leaveFastArea 0x019D 0x01FA 93 35 end_opcode 0 pseudocode/SHOCKEW1/slot_10_leaveFastArea.txt +251 WEA_BOOT 0x01 use 0x0262 0x028C 42 17 end_opcode 0 pseudocode/WEA_BOOT/slot_01_use.txt +251 WEA_BOOT 0x0A equip 0x00D4 0x0262 398 132 debug_symbols_then_end 3 pseudocode/WEA_BOOT/slot_0A_equip.txt +251 WEA_BOOT 0x0F enterFastArea 0x028C 0x047B 495 165 debug_symbols_then_end 3 pseudocode/WEA_BOOT/slot_0F_enterFastArea.txt +251 WEA_BOOT 0x10 leaveFastArea 0x047B 0x04B6 59 23 end_opcode 0 pseudocode/WEA_BOOT/slot_10_leaveFastArea.txt +252 VAR_BOOT 0x0A equip 0x00D4 0x036E 666 224 debug_symbols_then_end 3 pseudocode/VAR_BOOT/slot_0A_equip.txt +252 VAR_BOOT 0x0F enterFastArea 0x036E 0x05B2 580 205 debug_symbols_then_end 3 pseudocode/VAR_BOOT/slot_0F_enterFastArea.txt +252 VAR_BOOT 0x10 leaveFastArea 0x05B2 0x05ED 59 23 end_opcode 0 pseudocode/VAR_BOOT/slot_10_leaveFastArea.txt +253 COURIER 0x0E calledFromAnim 0x00D4 0x013F 107 34 debug_symbols_then_end 2 pseudocode/COURIER/slot_0E_calledFromAnim.txt +254 LWPLATE4 0x06 gotHit 0x00D4 0x0165 145 38 debug_symbols_then_end 4 pseudocode/LWPLATE4/slot_06_gotHit.txt +255 LWPLATE8 0x06 gotHit 0x00D4 0x0165 145 38 debug_symbols_then_end 4 pseudocode/LWPLATE8/slot_06_gotHit.txt +256 ALARMBOX 0x01 use 0x0188 0x024E 198 65 debug_symbols_then_end 2 pseudocode/ALARMBOX/slot_01_use.txt +256 ALARMBOX 0x0A equip 0x024E 0x03E4 406 145 debug_symbols_then_end 3 pseudocode/ALARMBOX/slot_0A_equip.txt +256 ALARMBOX 0x0F enterFastArea 0x00D4 0x0188 180 74 end_opcode 0 pseudocode/ALARMBOX/slot_0F_enterFastArea.txt +257 BLOOD 0x06 gotHit 0x00D4 0x0189 181 58 debug_symbols_then_end 3 pseudocode/BLOOD/slot_06_gotHit.txt +258 D_CHEM 0x01 use 0x01F3 0x0257 100 39 end_opcode 0 pseudocode/D_CHEM/slot_01_use.txt +258 D_CHEM 0x06 gotHit 0x00D4 0x01F3 287 97 debug_symbols_then_end 4 pseudocode/D_CHEM/slot_06_gotHit.txt +259 D_CONG 0x01 use 0x01F3 0x0257 100 39 end_opcode 0 pseudocode/D_CONG/slot_01_use.txt +259 D_CONG 0x06 gotHit 0x00D4 0x01F3 287 97 debug_symbols_then_end 4 pseudocode/D_CONG/slot_06_gotHit.txt +260 D_MAINT 0x01 use 0x01F3 0x0257 100 39 end_opcode 0 pseudocode/D_MAINT/slot_01_use.txt +260 D_MAINT 0x06 gotHit 0x00D4 0x01F3 287 97 debug_symbols_then_end 4 pseudocode/D_MAINT/slot_06_gotHit.txt +261 D_OWORK 0x01 use 0x01F3 0x0257 100 39 end_opcode 0 pseudocode/D_OWORK/slot_01_use.txt +261 D_OWORK 0x06 gotHit 0x00D4 0x01F3 287 97 debug_symbols_then_end 4 pseudocode/D_OWORK/slot_06_gotHit.txt +262 D_SCIEN 0x01 use 0x01F3 0x0257 100 39 end_opcode 0 pseudocode/D_SCIEN/slot_01_use.txt +262 D_SCIEN 0x06 gotHit 0x00D4 0x01F3 287 97 debug_symbols_then_end 4 pseudocode/D_SCIEN/slot_06_gotHit.txt +263 D_STORM 0x01 use 0x01F3 0x0257 100 39 end_opcode 0 pseudocode/D_STORM/slot_01_use.txt +263 D_STORM 0x06 gotHit 0x00D4 0x01F3 287 97 debug_symbols_then_end 4 pseudocode/D_STORM/slot_06_gotHit.txt +264 D_SOLD 0x01 use 0x01F3 0x0257 100 39 end_opcode 0 pseudocode/D_SOLD/slot_01_use.txt +264 D_SOLD 0x06 gotHit 0x00D4 0x01F3 287 97 debug_symbols_then_end 4 pseudocode/D_SOLD/slot_06_gotHit.txt +265 D_VARG 0x01 use 0x00D4 0x0138 100 39 end_opcode 0 pseudocode/D_VARG/slot_01_use.txt +266 D_COUR 0x06 gotHit 0x00D4 0x01CE 250 71 debug_symbols_then_end 4 pseudocode/D_COUR/slot_06_gotHit.txt +267 D_SUSAN 0x06 gotHit 0x00D4 0x01CE 250 71 debug_symbols_then_end 4 pseudocode/D_SUSAN/slot_06_gotHit.txt +268 D_THERM 0x01 use 0x00D4 0x0138 100 39 end_opcode 0 pseudocode/D_THERM/slot_01_use.txt +269 SURCAMNS 0x01 use 0x01B7 0x0208 81 32 end_opcode 0 pseudocode/SURCAMNS/slot_01_use.txt +269 SURCAMNS 0x0A equip 0x00E6 0x01B7 209 83 body_exhausted 0 pseudocode/SURCAMNS/slot_0A_equip.txt +269 SURCAMNS 0x20 0x0208 0x04C2 698 236 debug_symbols_then_end 7 pseudocode/SURCAMNS/slot_20_slot_20.txt +269 SURCAMNS 0x21 0x04C2 0x0BCB 1801 589 debug_symbols_then_end 12 pseudocode/SURCAMNS/slot_21_slot_21.txt +269 SURCAMNS 0x22 0x0BCB 0x0D6E 419 128 debug_symbols_then_end 4 pseudocode/SURCAMNS/slot_22_slot_22.txt +270 BASEGUN 0x06 gotHit 0x01EF 0x023D 78 17 debug_symbols_then_end 3 pseudocode/BASEGUN/slot_06_gotHit.txt +270 BASEGUN 0x0A equip 0x023D 0x02D2 149 52 body_exhausted 0 pseudocode/BASEGUN/slot_0A_equip.txt +270 BASEGUN 0x0B unequip 0x0131 0x0196 101 39 body_exhausted 0 pseudocode/BASEGUN/slot_0B_unequip.txt +270 BASEGUN 0x0E calledFromAnim 0x02D2 0x0442 368 132 debug_symbols_then_end 5 pseudocode/BASEGUN/slot_0E_calledFromAnim.txt +270 BASEGUN 0x0F enterFastArea 0x00D4 0x0131 93 37 end_opcode 0 pseudocode/BASEGUN/slot_0F_enterFastArea.txt +270 BASEGUN 0x10 leaveFastArea 0x0196 0x01EF 89 35 end_opcode 0 pseudocode/BASEGUN/slot_10_leaveFastArea.txt +271 TIMER 0x0A equip 0x0198 0x0219 129 52 body_exhausted 0 pseudocode/TIMER/slot_0A_equip.txt +271 TIMER 0x0F enterFastArea 0x00DA 0x013A 96 40 end_opcode 0 pseudocode/TIMER/slot_0F_enterFastArea.txt +271 TIMER 0x10 leaveFastArea 0x013A 0x0198 94 39 end_opcode 0 pseudocode/TIMER/slot_10_leaveFastArea.txt +271 TIMER 0x20 0x0219 0x0552 825 306 debug_symbols_then_end 8 pseudocode/TIMER/slot_20_slot_20.txt +272 SPECIAL 0x0A equip 0x00E0 0x0146 102 38 body_exhausted 0 pseudocode/SPECIAL/slot_0A_equip.txt +272 SPECIAL 0x0F enterFastArea 0x0616 0x075B 325 104 debug_symbols_then_end 3 pseudocode/SPECIAL/slot_0F_enterFastArea.txt +272 SPECIAL 0x10 leaveFastArea 0x075B 0x080E 179 69 end_opcode 0 pseudocode/SPECIAL/slot_10_leaveFastArea.txt +272 SPECIAL 0x20 0x0146 0x04DC 918 329 debug_symbols_then_end 6 pseudocode/SPECIAL/slot_20_slot_20.txt +272 SPECIAL 0x21 0x04DC 0x0616 314 95 debug_symbols_then_end 5 pseudocode/SPECIAL/slot_21_slot_21.txt +273 TRIGPAD 0x06 gotHit 0x00D4 0x035C 648 213 debug_symbols_then_end 6 pseudocode/TRIGPAD/slot_06_gotHit.txt +274 MONSTER 0x0A equip 0x0163 0x05A3 1088 427 debug_symbols_then_end 7 pseudocode/MONSTER/slot_0A_equip.txt +274 MONSTER 0x0F enterFastArea 0x00D4 0x0163 143 46 debug_symbols_then_end 2 pseudocode/MONSTER/slot_0F_enterFastArea.txt +275 ELITE 0x0E calledFromAnim 0x00D4 0x013F 107 34 debug_symbols_then_end 2 pseudocode/ELITE/slot_0E_calledFromAnim.txt +276 D_ESTORM 0x01 use 0x01F3 0x0257 100 39 end_opcode 0 pseudocode/D_ESTORM/slot_01_use.txt +276 D_ESTORM 0x06 gotHit 0x00D4 0x01F3 287 97 debug_symbols_then_end 4 pseudocode/D_ESTORM/slot_06_gotHit.txt +277 JELYHACK 0x01 use 0x00D4 0x00FE 42 17 end_opcode 0 pseudocode/JELYHACK/slot_01_use.txt +278 DATALINK 0x01 use 0x00D4 0x1488 5044 960 debug_symbols_then_end 2 pseudocode/DATALINK/slot_01_use.txt +279 SLIDEFLR 0x0B unequip 0x00D4 0x01B4 224 82 body_exhausted 0 pseudocode/SLIDEFLR/slot_0B_unequip.txt +279 SLIDEFLR 0x13 avatarStoleSomething 0x01B4 0x0294 224 82 body_exhausted 0 pseudocode/SLIDEFLR/slot_13_avatarStoleSomething.txt +280 JELYH2 0x01 use 0x00D4 0x00FE 42 17 end_opcode 0 pseudocode/JELYH2/slot_01_use.txt +281 HOFFMAN 0x0E calledFromAnim 0x00D4 0x0162 142 31 debug_symbols_then_end 5 pseudocode/HOFFMAN/slot_0E_calledFromAnim.txt +282 D_HOFFMA 0x01 use 0x00D4 0x0138 100 39 end_opcode 0 pseudocode/D_HOFFMA/slot_01_use.txt +283 REE_BOOT 0x0A equip 0x00D4 0x041F 843 284 debug_symbols_then_end 3 pseudocode/REE_BOOT/slot_0A_equip.txt +283 REE_BOOT 0x0F enterFastArea 0x041F 0x067B 604 217 debug_symbols_then_end 3 pseudocode/REE_BOOT/slot_0F_enterFastArea.txt +283 REE_BOOT 0x10 leaveFastArea 0x067B 0x06B6 59 23 end_opcode 0 pseudocode/REE_BOOT/slot_10_leaveFastArea.txt +284 SURCAMEW 0x01 use 0x01B7 0x02AE 247 93 end_opcode 0 pseudocode/SURCAMEW/slot_01_use.txt +284 SURCAMEW 0x0A equip 0x00E6 0x01B7 209 83 body_exhausted 0 pseudocode/SURCAMEW/slot_0A_equip.txt +284 SURCAMEW 0x20 0x02AE 0x0568 698 236 debug_symbols_then_end 7 pseudocode/SURCAMEW/slot_20_slot_20.txt +284 SURCAMEW 0x21 0x0568 0x0BBD 1621 527 debug_symbols_then_end 12 pseudocode/SURCAMEW/slot_21_slot_21.txt +284 SURCAMEW 0x22 0x0BBD 0x0D60 419 128 debug_symbols_then_end 4 pseudocode/SURCAMEW/slot_22_slot_22.txt +285 SFXTRIG 0x0A equip 0x00D4 0x018C 184 68 end_opcode 0 pseudocode/SFXTRIG/slot_0A_equip.txt +286 SKILLBOX 0x0A equip 0x00D4 0x0300 556 212 body_exhausted 0 pseudocode/SKILLBOX/slot_0A_equip.txt +287 D_GURDSQ 0x01 use 0x01F3 0x027D 138 50 end_opcode 0 pseudocode/D_GURDSQ/slot_01_use.txt +287 D_GURDSQ 0x06 gotHit 0x00D4 0x01F3 287 97 debug_symbols_then_end 4 pseudocode/D_GURDSQ/slot_06_gotHit.txt +288 VETRON 0x0E calledFromAnim 0x00D4 0x012A 86 25 debug_symbols_then_end 2 pseudocode/VETRON/slot_0E_calledFromAnim.txt +289 DEATHBOX 0x0A equip 0x00D4 0x029F 459 145 debug_symbols_then_end 7 pseudocode/DEATHBOX/slot_0A_equip.txt +290 REB_GAR 0x0F enterFastArea 0x0123 0x02CD 426 143 debug_symbols_then_end 2 pseudocode/REB_GAR/slot_0F_enterFastArea.txt +290 REB_GAR 0x10 leaveFastArea 0x00D4 0x0123 79 31 end_opcode 0 pseudocode/REB_GAR/slot_10_leaveFastArea.txt +291 BOUNCBOX 0x06 gotHit 0x00D4 0x04DE 1034 402 debug_symbols_then_end 11 pseudocode/BOUNCBOX/slot_06_gotHit.txt +291 BOUNCBOX 0x0A equip 0x04DE 0x051D 63 24 body_exhausted 0 pseudocode/BOUNCBOX/slot_0A_equip.txt +292 HOVER1 0x0A equip 0x0130 0x0185 85 30 body_exhausted 0 pseudocode/HOVER1/slot_0A_equip.txt +292 HOVER1 0x0B unequip 0x00D4 0x0130 92 33 body_exhausted 0 pseudocode/HOVER1/slot_0B_unequip.txt +292 HOVER1 0x0F enterFastArea 0x0185 0x0202 125 52 end_opcode 0 pseudocode/HOVER1/slot_0F_enterFastArea.txt +292 HOVER1 0x10 leaveFastArea 0x0202 0x0253 81 34 end_opcode 0 pseudocode/HOVER1/slot_10_leaveFastArea.txt +293 STEAM1 0x06 gotHit 0x010B 0x0168 93 20 debug_symbols_then_end 3 pseudocode/STEAM1/slot_06_gotHit.txt +293 STEAM1 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/STEAM1/slot_0F_enterFastArea.txt +294 FADE 0x0A equip 0x00DA 0x029A 448 167 body_exhausted 0 pseudocode/FADE/slot_0A_equip.txt +294 FADE 0x20 0x029A 0x0414 378 123 debug_symbols_then_end 3 pseudocode/FADE/slot_20_slot_20.txt +295 PHIR 0x01 use 0x00D4 0x01B3 223 75 end_opcode 0 pseudocode/PHIR/slot_01_use.txt +296 STEAMBOX 0x0A equip 0x00E0 0x0346 614 229 debug_symbols_then_end 5 pseudocode/STEAMBOX/slot_0A_equip.txt +296 STEAMBOX 0x20 0x0346 0x053C 502 164 debug_symbols_then_end 5 pseudocode/STEAMBOX/slot_20_slot_20.txt +296 STEAMBOX 0x21 0x053C 0x07E3 679 227 debug_symbols_then_end 5 pseudocode/STEAMBOX/slot_21_slot_21.txt +297 FLAME2 0x06 gotHit 0x010B 0x0168 93 20 debug_symbols_then_end 3 pseudocode/FLAME2/slot_06_gotHit.txt +297 FLAME2 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/FLAME2/slot_0F_enterFastArea.txt +298 STEAM2 0x06 gotHit 0x010B 0x0168 93 20 debug_symbols_then_end 3 pseudocode/STEAM2/slot_06_gotHit.txt +298 STEAM2 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/STEAM2/slot_0F_enterFastArea.txt +299 FLAMELP 0x06 gotHit 0x010B 0x0168 93 20 debug_symbols_then_end 3 pseudocode/FLAMELP/slot_06_gotHit.txt +299 FLAMELP 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/FLAMELP/slot_0F_enterFastArea.txt +300 BBOX 0x06 gotHit 0x00D4 0x0215 321 103 debug_symbols_then_end 3 pseudocode/BBOX/slot_06_gotHit.txt +301 GBOX_NS 0x06 gotHit 0x00D4 0x0215 321 103 debug_symbols_then_end 3 pseudocode/GBOX_NS/slot_06_gotHit.txt +302 GBOX_EW 0x06 gotHit 0x00D4 0x0215 321 103 debug_symbols_then_end 3 pseudocode/GBOX_EW/slot_06_gotHit.txt +303 EGRENADE 0x0E calledFromAnim 0x00D4 0x013F 107 34 debug_symbols_then_end 2 pseudocode/EGRENADE/slot_0E_calledFromAnim.txt +304 SCANNER 0x01 use 0x00DA 0x0251 375 123 debug_symbols_then_end 2 pseudocode/SCANNER/slot_01_use.txt +304 SCANNER 0x20 0x0251 0x02D7 134 40 debug_symbols_then_end 3 pseudocode/SCANNER/slot_20_slot_20.txt +305 IONIC 0x01 use 0x00D4 0x00FE 42 17 end_opcode 0 pseudocode/IONIC/slot_01_use.txt +306 PLASMA 0x01 use 0x00D4 0x00FE 42 17 end_opcode 0 pseudocode/PLASMA/slot_01_use.txt +307 GRAVITON 0x01 use 0x00D4 0x00FE 42 17 end_opcode 0 pseudocode/GRAVITON/slot_01_use.txt +308 GLDIV_EW 0x06 gotHit 0x00D4 0x0351 637 226 debug_symbols_then_end 7 pseudocode/GLDIV_EW/slot_06_gotHit.txt +309 GLDIV_NS 0x06 gotHit 0x00D4 0x0351 637 226 debug_symbols_then_end 7 pseudocode/GLDIV_NS/slot_06_gotHit.txt +310 REBSNOR 0x0F enterFastArea 0x00D4 0x0241 365 119 debug_symbols_then_end 2 pseudocode/REBSNOR/slot_0F_enterFastArea.txt +310 REBSNOR 0x10 leaveFastArea 0x0241 0x027C 59 23 end_opcode 0 pseudocode/REBSNOR/slot_10_leaveFastArea.txt +311 REBWORK 0x04 cachein 0x00D4 0x0142 110 44 end_opcode 0 pseudocode/REBWORK/slot_04_cachein.txt +312 SATARG 0x01 use 0x00D4 0x05E9 1301 435 debug_symbols_then_end 3 pseudocode/SATARG/slot_01_use.txt +313 CHEST_ON 0x01 use 0x018C 0x01F2 102 40 end_opcode 0 pseudocode/CHEST_ON/slot_01_use.txt +313 CHEST_ON 0x06 gotHit 0x00D4 0x018C 184 57 debug_symbols_then_end 3 pseudocode/CHEST_ON/slot_06_gotHit.txt +314 CHEST_OE 0x01 use 0x018C 0x01F2 102 40 end_opcode 0 pseudocode/CHEST_OE/slot_01_use.txt +314 CHEST_OE 0x06 gotHit 0x00D4 0x018C 184 57 debug_symbols_then_end 3 pseudocode/CHEST_OE/slot_06_gotHit.txt +315 D_GRENAD 0x01 use 0x01F3 0x0257 100 39 end_opcode 0 pseudocode/D_GRENAD/slot_01_use.txt +315 D_GRENAD 0x06 gotHit 0x00D4 0x01F3 287 97 debug_symbols_then_end 4 pseudocode/D_GRENAD/slot_06_gotHit.txt +316 CHEST_NS 0x01 use 0x01F6 0x056D 887 327 debug_symbols_then_end 6 pseudocode/CHEST_NS/slot_01_use.txt +316 CHEST_NS 0x06 gotHit 0x00D4 0x01F6 290 93 debug_symbols_then_end 4 pseudocode/CHEST_NS/slot_06_gotHit.txt +317 CHEST_EW 0x01 use 0x01F6 0x0543 845 312 debug_symbols_then_end 4 pseudocode/CHEST_EW/slot_01_use.txt +317 CHEST_EW 0x06 gotHit 0x00D4 0x01F6 290 93 debug_symbols_then_end 4 pseudocode/CHEST_EW/slot_06_gotHit.txt +318 D_ENFORC 0x01 use 0x01F3 0x0257 100 39 end_opcode 0 pseudocode/D_ENFORC/slot_01_use.txt +318 D_ENFORC 0x06 gotHit 0x00D4 0x01F3 287 97 debug_symbols_then_end 4 pseudocode/D_ENFORC/slot_06_gotHit.txt +319 DETPAC 0x01 use 0x00D4 0x04C4 1008 376 debug_symbols_then_end 8 pseudocode/DETPAC/slot_01_use.txt +320 CRU_SPID 0x01 use 0x0123 0x05D9 1206 438 debug_symbols_then_end 11 pseudocode/CRU_SPID/slot_01_use.txt +320 CRU_SPID 0x05 hit 0x00DA 0x0123 73 15 debug_symbols_then_end 3 pseudocode/CRU_SPID/slot_05_hit.txt +320 CRU_SPID 0x20 0x05D9 0x096D 916 350 debug_symbols_then_end 9 pseudocode/CRU_SPID/slot_20_slot_20.txt +321 ALARMHAT 0x0A equip 0x00D4 0x025F 395 147 debug_symbols_then_end 4 pseudocode/ALARMHAT/slot_0A_equip.txt +322 ETWALLNS 0x0B unequip 0x00D4 0x0120 76 29 body_exhausted 0 pseudocode/ETWALLNS/slot_0B_unequip.txt +322 ETWALLNS 0x0F enterFastArea 0x015F 0x0196 55 22 end_opcode 0 pseudocode/ETWALLNS/slot_0F_enterFastArea.txt +322 ETWALLNS 0x13 avatarStoleSomething 0x0120 0x015F 63 24 body_exhausted 0 pseudocode/ETWALLNS/slot_13_avatarStoleSomething.txt +323 ETWALLEW 0x0B unequip 0x00D4 0x0120 76 29 body_exhausted 0 pseudocode/ETWALLEW/slot_0B_unequip.txt +323 ETWALLEW 0x0F enterFastArea 0x015F 0x0196 55 22 end_opcode 0 pseudocode/ETWALLEW/slot_0F_enterFastArea.txt +323 ETWALLEW 0x13 avatarStoleSomething 0x0120 0x015F 63 24 body_exhausted 0 pseudocode/ETWALLEW/slot_13_avatarStoleSomething.txt +324 THRMBCKN 0x0A equip 0x00D4 0x0380 684 227 debug_symbols_then_end 6 pseudocode/THRMBCKN/slot_0A_equip.txt +325 THRMBCKE 0x0A equip 0x00D4 0x0380 684 227 debug_symbols_then_end 6 pseudocode/THRMBCKE/slot_0A_equip.txt +326 ROLL_EW 0x05 hit 0x0C03 0x0C64 97 25 debug_symbols_then_end 3 pseudocode/ROLL_EW/slot_05_hit.txt +326 ROLL_EW 0x06 gotHit 0x0B1A 0x0C03 233 73 debug_symbols_then_end 3 pseudocode/ROLL_EW/slot_06_gotHit.txt +326 ROLL_EW 0x0A equip 0x0135 0x01DC 167 67 body_exhausted 0 pseudocode/ROLL_EW/slot_0A_equip.txt +326 ROLL_EW 0x0B unequip 0x00E0 0x0135 85 30 body_exhausted 0 pseudocode/ROLL_EW/slot_0B_unequip.txt +326 ROLL_EW 0x20 0x01DC 0x03D9 509 159 debug_symbols_then_end 11 pseudocode/ROLL_EW/slot_20_slot_20.txt +326 ROLL_EW 0x21 0x03D9 0x0B1A 1857 689 debug_symbols_then_end 12 pseudocode/ROLL_EW/slot_21_slot_21.txt +327 KORESH 0x0E calledFromAnim 0x00D4 0x013F 107 34 debug_symbols_then_end 2 pseudocode/KORESH/slot_0E_calledFromAnim.txt +327 KORESH 0x0F enterFastArea 0x013F 0x01AC 109 40 end_opcode 0 pseudocode/KORESH/slot_0F_enterFastArea.txt +328 ALRMTRIG 0x0A equip 0x00D4 0x01F4 288 104 body_exhausted 0 pseudocode/ALRMTRIG/slot_0A_equip.txt +329 ENERGY 0x01 use 0x00D4 0x02DE 522 166 debug_symbols_then_end 4 pseudocode/ENERGY/slot_01_use.txt +330 ROLLB_NS 0x05 hit 0x0C03 0x0C64 97 25 debug_symbols_then_end 3 pseudocode/ROLLB_NS/slot_05_hit.txt +330 ROLLB_NS 0x06 gotHit 0x0B1A 0x0C03 233 73 debug_symbols_then_end 3 pseudocode/ROLLB_NS/slot_06_gotHit.txt +330 ROLLB_NS 0x0A equip 0x0135 0x01DC 167 67 body_exhausted 0 pseudocode/ROLLB_NS/slot_0A_equip.txt +330 ROLLB_NS 0x0B unequip 0x00E0 0x0135 85 30 body_exhausted 0 pseudocode/ROLLB_NS/slot_0B_unequip.txt +330 ROLLB_NS 0x20 0x01DC 0x03D9 509 159 debug_symbols_then_end 11 pseudocode/ROLLB_NS/slot_20_slot_20.txt +330 ROLLB_NS 0x21 0x03D9 0x0B1A 1857 689 debug_symbols_then_end 12 pseudocode/ROLLB_NS/slot_21_slot_21.txt +331 ROLLB_EW 0x05 hit 0x0C0B 0x0C6C 97 25 debug_symbols_then_end 3 pseudocode/ROLLB_EW/slot_05_hit.txt +331 ROLLB_EW 0x06 gotHit 0x0B22 0x0C0B 233 73 debug_symbols_then_end 3 pseudocode/ROLLB_EW/slot_06_gotHit.txt +331 ROLLB_EW 0x0A equip 0x0135 0x01DC 167 67 body_exhausted 0 pseudocode/ROLLB_EW/slot_0A_equip.txt +331 ROLLB_EW 0x0B unequip 0x00E0 0x0135 85 30 body_exhausted 0 pseudocode/ROLLB_EW/slot_0B_unequip.txt +331 ROLLB_EW 0x20 0x01DC 0x03E1 517 163 debug_symbols_then_end 11 pseudocode/ROLLB_EW/slot_20_slot_20.txt +331 ROLLB_EW 0x21 0x03E1 0x0B22 1857 689 debug_symbols_then_end 12 pseudocode/ROLLB_EW/slot_21_slot_21.txt +332 D_PLASMA 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/D_PLASMA/slot_0E_calledFromAnim.txt +332 D_PLASMA 0x0F enterFastArea 0x011B 0x0188 109 40 end_opcode 0 pseudocode/D_PLASMA/slot_0F_enterFastArea.txt +333 D_SKELET 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/D_SKELET/slot_0E_calledFromAnim.txt +333 D_SKELET 0x0F enterFastArea 0x011B 0x0188 109 40 end_opcode 0 pseudocode/D_SKELET/slot_0F_enterFastArea.txt +334 D_EM_GUY 0x0E calledFromAnim 0x00D4 0x011B 71 29 end_opcode 0 pseudocode/D_EM_GUY/slot_0E_calledFromAnim.txt +334 D_EM_GUY 0x0F enterFastArea 0x011B 0x0188 109 40 end_opcode 0 pseudocode/D_EM_GUY/slot_0F_enterFastArea.txt +335 DEATHFL4 0x06 gotHit 0x010B 0x0159 78 17 debug_symbols_then_end 3 pseudocode/DEATHFL4/slot_06_gotHit.txt +335 DEATHFL4 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/DEATHFL4/slot_0F_enterFastArea.txt +336 DAMNLUGG 0x06 gotHit 0x00D4 0x01C4 240 73 debug_symbols_then_end 3 pseudocode/DAMNLUGG/slot_06_gotHit.txt +337 DAMNMCR8 0x06 gotHit 0x00D4 0x01C4 240 73 debug_symbols_then_end 3 pseudocode/DAMNMCR8/slot_06_gotHit.txt +338 DEATHFL5 0x06 gotHit 0x010B 0x0159 78 17 debug_symbols_then_end 3 pseudocode/DEATHFL5/slot_06_gotHit.txt +338 DEATHFL5 0x0F enterFastArea 0x00D4 0x010B 55 22 end_opcode 0 pseudocode/DEATHFL5/slot_0F_enterFastArea.txt +339 AVATAR 0x00 look 0x00FE 0x0128 42 17 end_opcode 0 pseudocode/AVATAR/slot_00_look.txt +339 AVATAR 0x01 use 0x00D4 0x00FE 42 17 end_opcode 0 pseudocode/AVATAR/slot_01_use.txt +339 AVATAR 0x04 cachein 0x0128 0x0182 90 16 debug_symbols_then_end 4 pseudocode/AVATAR/slot_04_cachein.txt +339 AVATAR 0x11 cast 0x0182 0x03A2 544 206 debug_symbols_then_end 3 pseudocode/AVATAR/slot_11_cast.txt +340 TRIGEGG 0x07 hatch 0x00D4 0x017E 170 49 debug_symbols_then_end 4 pseudocode/TRIGEGG/slot_07_hatch.txt +340 TRIGEGG 0x15 unhatch 0x017E 0x0228 170 49 debug_symbols_then_end 4 pseudocode/TRIGEGG/slot_15_unhatch.txt +341 ONCEEGG 0x07 hatch 0x00D4 0x017E 170 49 debug_symbols_then_end 4 pseudocode/ONCEEGG/slot_07_hatch.txt +341 ONCEEGG 0x15 unhatch 0x017E 0x0233 181 53 debug_symbols_then_end 4 pseudocode/ONCEEGG/slot_15_unhatch.txt +342 FLOOR1 0x0F enterFastArea 0x00D4 0x053D 1129 366 debug_symbols_then_end 13 pseudocode/FLOOR1/slot_0F_enterFastArea.txt +342 FLOOR1 0x10 leaveFastArea 0x053D 0x0578 59 23 end_opcode 0 pseudocode/FLOOR1/slot_10_leaveFastArea.txt +343 MTAREGG 0x07 hatch 0x00DA 0x0226 332 115 debug_symbols_then_end 5 pseudocode/MTAREGG/slot_07_hatch.txt +343 MTAREGG 0x20 0x0226 0x0387 353 116 debug_symbols_then_end 8 pseudocode/MTAREGG/slot_20_slot_20.txt +344 CHANGER 0x07 hatch 0x00D4 0x01B5 225 62 debug_symbols_then_end 5 pseudocode/CHANGER/slot_07_hatch.txt +345 CAMERA 0x07 hatch 0x00D4 0x029E 458 196 end_opcode 0 pseudocode/CAMERA/slot_07_hatch.txt +345 CAMERA 0x15 unhatch 0x029E 0x0313 117 47 end_opcode 0 pseudocode/CAMERA/slot_15_unhatch.txt +346 SECRTEGG 0x07 hatch 0x00D4 0x0186 178 51 debug_symbols_then_end 5 pseudocode/SECRTEGG/slot_07_hatch.txt +347 REB_EGG 0x04 cachein 0x00DA 0x012B 81 31 end_opcode 0 pseudocode/REB_EGG/slot_04_cachein.txt +347 REB_EGG 0x07 hatch 0x01BB 0x0F9A 3551 1280 debug_symbols_then_end 6 pseudocode/REB_EGG/slot_07_hatch.txt +347 REB_EGG 0x15 unhatch 0x012B 0x01BB 144 47 debug_symbols_then_end 2 pseudocode/REB_EGG/slot_15_unhatch.txt +347 REB_EGG 0x20 0x0F9A 0x10B6 284 86 debug_symbols_then_end 7 pseudocode/REB_EGG/slot_20_slot_20.txt +348 TEST 0x07 hatch 0x00D4 0x0222 334 113 end_opcode 0 pseudocode/TEST/slot_07_hatch.txt +349 GRENEGG 0x07 hatch 0x00D4 0x0233 351 121 debug_symbols_then_end 6 pseudocode/GRENEGG/slot_07_hatch.txt +350 DOOREGG 0x07 hatch 0x00E0 0x0129 73 26 end_opcode 0 pseudocode/DOOREGG/slot_07_hatch.txt +350 DOOREGG 0x15 unhatch 0x0129 0x0172 73 26 end_opcode 0 pseudocode/DOOREGG/slot_15_unhatch.txt +350 DOOREGG 0x20 0x0172 0x01F8 134 44 debug_symbols_then_end 2 pseudocode/DOOREGG/slot_20_slot_20.txt +350 DOOREGG 0x21 0x01F8 0x027E 134 44 debug_symbols_then_end 2 pseudocode/DOOREGG/slot_21_slot_21.txt +351 BBTRIP 0x07 hatch 0x00D4 0x0172 158 46 debug_symbols_then_end 3 pseudocode/BBTRIP/slot_07_hatch.txt +352 LAZEREGG 0x07 hatch 0x00D4 0x018F 187 58 debug_symbols_then_end 3 pseudocode/LAZEREGG/slot_07_hatch.txt +353 MISS1EGG 0x04 cachein 0x1055 0x1483 1070 369 debug_symbols_then_end 5 pseudocode/MISS1EGG/slot_04_cachein.txt +353 MISS1EGG 0x07 hatch 0x00F8 0x029E 422 133 debug_symbols_then_end 5 pseudocode/MISS1EGG/slot_07_hatch.txt +353 MISS1EGG 0x20 0x029E 0x088F 1521 505 debug_symbols_then_end 5 pseudocode/MISS1EGG/slot_20_slot_20.txt +353 MISS1EGG 0x21 0x088F 0x093F 176 54 debug_symbols_then_end 2 pseudocode/MISS1EGG/slot_21_slot_21.txt +353 MISS1EGG 0x22 0x093F 0x0B9A 603 210 debug_symbols_then_end 4 pseudocode/MISS1EGG/slot_22_slot_22.txt +353 MISS1EGG 0x23 0x0B9A 0x0E3F 677 225 debug_symbols_then_end 6 pseudocode/MISS1EGG/slot_23_slot_23.txt +353 MISS1EGG 0x24 0x0E3F 0x0F64 293 92 debug_symbols_then_end 3 pseudocode/MISS1EGG/slot_24_slot_24.txt +353 MISS1EGG 0x25 0x0F64 0x1055 241 86 end_opcode 0 pseudocode/MISS1EGG/slot_25_slot_25.txt +354 MISS2 0x04 cachein 0x011C 0x014F 51 20 end_opcode 0 pseudocode/MISS2/slot_04_cachein.txt +354 MISS2 0x07 hatch 0x014F 0x0282 307 108 end_opcode 0 pseudocode/MISS2/slot_07_hatch.txt +354 MISS2 0x20 0x0282 0x035E 220 69 debug_symbols_then_end 4 pseudocode/MISS2/slot_20_slot_20.txt +354 MISS2 0x21 0x035E 0x03C7 105 37 end_opcode 0 pseudocode/MISS2/slot_21_slot_21.txt +354 MISS2 0x22 0x03C7 0x04F2 299 109 body_exhausted 0 pseudocode/MISS2/slot_22_slot_22.txt +354 MISS2 0x23 0x04F2 0x06A4 434 148 debug_symbols_then_end 5 pseudocode/MISS2/slot_23_slot_23.txt +354 MISS2 0x24 0x06A4 0x0716 114 40 body_exhausted 0 pseudocode/MISS2/slot_24_slot_24.txt +354 MISS2 0x25 0x0716 0x09AF 665 227 debug_symbols_then_end 8 pseudocode/MISS2/slot_25_slot_25.txt +354 MISS2 0x26 0x09AF 0x0B86 471 160 debug_symbols_then_end 8 pseudocode/MISS2/slot_26_slot_26.txt +354 MISS2 0x27 0x0B86 0x0C9C 278 88 debug_symbols_then_end 3 pseudocode/MISS2/slot_27_slot_27.txt +354 MISS2 0x28 0x0C9C 0x1D84 4328 1528 debug_symbols_then_end 14 pseudocode/MISS2/slot_28_slot_28.txt +354 MISS2 0x29 0x1D84 0x21C5 1089 353 debug_symbols_then_end 5 pseudocode/MISS2/slot_29_slot_29.txt +354 MISS2 0x2A 0x21C5 0x2286 193 55 debug_symbols_then_end 2 pseudocode/MISS2/slot_2A_slot_2A.txt +354 MISS2 0x2B 0x2286 0x22DC 86 28 end_opcode 0 pseudocode/MISS2/slot_2B_slot_2B.txt +355 MISS3 0x04 cachein 0x00D4 0x0107 51 20 end_opcode 0 pseudocode/MISS3/slot_04_cachein.txt +355 MISS3 0x07 hatch 0x0107 0x021F 280 95 end_opcode 0 pseudocode/MISS3/slot_07_hatch.txt +356 MISS4 0x04 cachein 0x0212 0x02A2 144 41 debug_symbols_then_end 2 pseudocode/MISS4/slot_04_cachein.txt +356 MISS4 0x07 hatch 0x00DA 0x0140 102 38 end_opcode 0 pseudocode/MISS4/slot_07_hatch.txt +356 MISS4 0x20 0x0140 0x0212 210 59 debug_symbols_then_end 2 pseudocode/MISS4/slot_20_slot_20.txt +357 MISS5 0x04 cachein 0x00DA 0x010D 51 20 end_opcode 0 pseudocode/MISS5/slot_04_cachein.txt +357 MISS5 0x07 hatch 0x010D 0x0179 108 39 end_opcode 0 pseudocode/MISS5/slot_07_hatch.txt +357 MISS5 0x20 0x0179 0x0A64 2283 788 debug_symbols_then_end 10 pseudocode/MISS5/slot_20_slot_20.txt +358 MISS6 0x04 cachein 0x00E0 0x0113 51 20 end_opcode 0 pseudocode/MISS6/slot_04_cachein.txt +358 MISS6 0x07 hatch 0x0113 0x01B0 157 56 end_opcode 0 pseudocode/MISS6/slot_07_hatch.txt +358 MISS6 0x20 0x01B0 0x0775 1477 494 debug_symbols_then_end 6 pseudocode/MISS6/slot_20_slot_20.txt +358 MISS6 0x21 0x0775 0x07D5 96 32 end_opcode 0 pseudocode/MISS6/slot_21_slot_21.txt +359 MISS7 0x04 cachein 0x00D4 0x013E 106 30 debug_symbols_then_end 2 pseudocode/MISS7/slot_04_cachein.txt +360 MISS8 0x04 cachein 0x00DA 0x010D 51 20 end_opcode 0 pseudocode/MISS8/slot_04_cachein.txt +360 MISS8 0x07 hatch 0x010D 0x0170 99 36 end_opcode 0 pseudocode/MISS8/slot_07_hatch.txt +360 MISS8 0x20 0x0170 0x0949 2009 683 debug_symbols_then_end 9 pseudocode/MISS8/slot_20_slot_20.txt +361 MISS9 0x04 cachein 0x00DA 0x010D 51 20 end_opcode 0 pseudocode/MISS9/slot_04_cachein.txt +361 MISS9 0x07 hatch 0x010D 0x0170 99 36 end_opcode 0 pseudocode/MISS9/slot_07_hatch.txt +361 MISS9 0x20 0x0170 0x05FD 1165 392 debug_symbols_then_end 6 pseudocode/MISS9/slot_20_slot_20.txt +362 MISS10 0x04 cachein 0x00D4 0x0107 51 20 end_opcode 0 pseudocode/MISS10/slot_04_cachein.txt +362 MISS10 0x07 hatch 0x0107 0x01B2 171 51 debug_symbols_then_end 2 pseudocode/MISS10/slot_07_hatch.txt +363 MISS11 0x04 cachein 0x00D4 0x0107 51 20 end_opcode 0 pseudocode/MISS11/slot_04_cachein.txt +363 MISS11 0x07 hatch 0x0107 0x01D8 209 71 end_opcode 0 pseudocode/MISS11/slot_07_hatch.txt +364 MISS12 0x04 cachein 0x00D4 0x0107 51 20 end_opcode 0 pseudocode/MISS12/slot_04_cachein.txt +364 MISS12 0x07 hatch 0x0107 0x01FB 244 71 debug_symbols_then_end 4 pseudocode/MISS12/slot_07_hatch.txt +365 MISS13 0x04 cachein 0x00DA 0x010D 51 20 end_opcode 0 pseudocode/MISS13/slot_04_cachein.txt +365 MISS13 0x07 hatch 0x010D 0x0182 117 44 end_opcode 0 pseudocode/MISS13/slot_07_hatch.txt +365 MISS13 0x20 0x0182 0x0690 1294 431 debug_symbols_then_end 7 pseudocode/MISS13/slot_20_slot_20.txt +366 MISS14 0x04 cachein 0x032C 0x03AB 127 39 debug_symbols_then_end 2 pseudocode/MISS14/slot_04_cachein.txt +366 MISS14 0x07 hatch 0x00D4 0x032C 600 196 debug_symbols_then_end 2 pseudocode/MISS14/slot_07_hatch.txt +367 MISS15 0x04 cachein 0x00D4 0x0153 127 39 debug_symbols_then_end 2 pseudocode/MISS15/slot_04_cachein.txt +367 MISS15 0x07 hatch 0x0153 0x0528 981 319 debug_symbols_then_end 5 pseudocode/MISS15/slot_07_hatch.txt +368 MUSIC 0x07 hatch 0x00D4 0x00FE 42 17 end_opcode 0 pseudocode/MUSIC/slot_07_hatch.txt +369 STEAMEGG 0x07 hatch 0x00D4 0x01CD 249 79 debug_symbols_then_end 3 pseudocode/STEAMEGG/slot_07_hatch.txt +370 BARREL 0x20 0x00DA 0x0575 1179 410 debug_symbols_then_end 11 pseudocode/BARREL/slot_20_slot_20.txt +371 BBETTY 0x10 leaveFastArea 0x0566 0x05A0 58 23 end_opcode 0 pseudocode/BBETTY/slot_10_leaveFastArea.txt +371 BBETTY 0x20 0x00E0 0x027F 415 141 debug_symbols_then_end 5 pseudocode/BBETTY/slot_20_slot_20.txt +371 BBETTY 0x21 0x027F 0x0566 743 276 debug_symbols_then_end 8 pseudocode/BBETTY/slot_21_slot_21.txt +372 BLASER 0x20 0x00E0 0x04FC 1052 387 debug_symbols_then_end 12 pseudocode/BLASER/slot_20_slot_20.txt +372 BLASER 0x21 0x04FC 0x0669 365 123 debug_symbols_then_end 6 pseudocode/BLASER/slot_21_slot_21.txt +373 BRIDGE 0x20 0x00FE 0x0220 290 95 debug_symbols_then_end 3 pseudocode/BRIDGE/slot_20_slot_20.txt +373 BRIDGE 0x21 0x0220 0x02B1 145 40 debug_symbols_then_end 4 pseudocode/BRIDGE/slot_21_slot_21.txt +373 BRIDGE 0x22 0x02B1 0x036C 187 60 debug_symbols_then_end 4 pseudocode/BRIDGE/slot_22_slot_22.txt +373 BRIDGE 0x23 0x036C 0x0588 540 207 debug_symbols_then_end 5 pseudocode/BRIDGE/slot_23_slot_23.txt +373 BRIDGE 0x24 0x0588 0x0803 635 210 debug_symbols_then_end 8 pseudocode/BRIDGE/slot_24_slot_24.txt +373 BRIDGE 0x25 0x0803 0x0CC6 1219 443 debug_symbols_then_end 10 pseudocode/BRIDGE/slot_25_slot_25.txt +373 BRIDGE 0x26 0x0CC6 0x1395 1743 610 debug_symbols_then_end 16 pseudocode/BRIDGE/slot_26_slot_26.txt +374 CONVEYOR 0x10 leaveFastArea 0x03F3 0x043B 72 28 end_opcode 0 pseudocode/CONVEYOR/slot_10_leaveFastArea.txt +374 CONVEYOR 0x20 0x00DA 0x03F3 793 285 debug_symbols_then_end 10 pseudocode/CONVEYOR/slot_20_slot_20.txt +375 DEATHFL 0x20 0x00DA 0x07AE 1748 637 debug_symbols_then_end 13 pseudocode/DEATHFL/slot_20_slot_20.txt +376 DOOR 0x20 0x00EC 0x017A 142 52 end_opcode 0 pseudocode/DOOR/slot_20_slot_20.txt +376 DOOR 0x21 0x017A 0x16B9 5439 2146 debug_symbols_then_end 4 pseudocode/DOOR/slot_21_slot_21.txt +376 DOOR 0x22 0x16B9 0x1801 328 99 debug_symbols_then_end 6 pseudocode/DOOR/slot_22_slot_22.txt +376 DOOR 0x23 0x1801 0x2128 2343 886 debug_symbols_then_end 8 pseudocode/DOOR/slot_23_slot_23.txt +377 DOOR2 0x20 0x01CA 0x0341 375 119 debug_symbols_then_end 4 pseudocode/DOOR2/slot_20_slot_20.txt +377 DOOR2 0x21 0x0341 0x0565 548 196 debug_symbols_then_end 4 pseudocode/DOOR2/slot_21_slot_21.txt +377 DOOR2 0x22 0x0565 0x06D5 368 119 debug_symbols_then_end 4 pseudocode/DOOR2/slot_22_slot_22.txt +377 DOOR2 0x23 0x06D5 0x08F5 544 191 debug_symbols_then_end 5 pseudocode/DOOR2/slot_23_slot_23.txt +377 DOOR2 0x24 0x08F5 0x0A18 291 94 debug_symbols_then_end 3 pseudocode/DOOR2/slot_24_slot_24.txt +377 DOOR2 0x25 0x0A18 0x0B55 317 101 debug_symbols_then_end 4 pseudocode/DOOR2/slot_25_slot_25.txt +377 DOOR2 0x26 0x0B55 0x0C78 291 94 debug_symbols_then_end 3 pseudocode/DOOR2/slot_26_slot_26.txt +377 DOOR2 0x27 0x0C78 0x0DB5 317 101 debug_symbols_then_end 4 pseudocode/DOOR2/slot_27_slot_27.txt +377 DOOR2 0x28 0x0DB5 0x0F1C 359 114 debug_symbols_then_end 4 pseudocode/DOOR2/slot_28_slot_28.txt +377 DOOR2 0x29 0x0F1C 0x1119 509 181 debug_symbols_then_end 4 pseudocode/DOOR2/slot_29_slot_29.txt +377 DOOR2 0x2A 0x1119 0x1275 348 110 debug_symbols_then_end 4 pseudocode/DOOR2/slot_2A_slot_2A.txt +377 DOOR2 0x2B 0x1275 0x1472 509 181 debug_symbols_then_end 4 pseudocode/DOOR2/slot_2B_slot_2B.txt +377 DOOR2 0x2C 0x1472 0x1588 278 88 debug_symbols_then_end 3 pseudocode/DOOR2/slot_2C_slot_2C.txt +377 DOOR2 0x2D 0x1588 0x16A5 285 92 debug_symbols_then_end 3 pseudocode/DOOR2/slot_2D_slot_2D.txt +377 DOOR2 0x2E 0x16A5 0x1791 236 70 debug_symbols_then_end 3 pseudocode/DOOR2/slot_2E_slot_2E.txt +377 DOOR2 0x2F 0x1791 0x18AE 285 92 debug_symbols_then_end 3 pseudocode/DOOR2/slot_2F_slot_2F.txt +377 DOOR2 0x30 0x18AE 0x1AD7 553 175 debug_symbols_then_end 8 pseudocode/DOOR2/slot_30_slot_30.txt +377 DOOR2 0x31 0x1AD7 0x1EEF 1048 362 debug_symbols_then_end 12 pseudocode/DOOR2/slot_31_slot_31.txt +377 DOOR2 0x32 0x1EEF 0x2118 553 175 debug_symbols_then_end 8 pseudocode/DOOR2/slot_32_slot_32.txt +377 DOOR2 0x33 0x2118 0x2561 1097 382 debug_symbols_then_end 12 pseudocode/DOOR2/slot_33_slot_33.txt +377 DOOR2 0x34 0x2561 0x2704 419 138 debug_symbols_then_end 6 pseudocode/DOOR2/slot_34_slot_34.txt +377 DOOR2 0x35 0x2704 0x29E9 741 233 debug_symbols_then_end 17 pseudocode/DOOR2/slot_35_slot_35.txt +377 DOOR2 0x36 0x29E9 0x2B8C 419 138 debug_symbols_then_end 6 pseudocode/DOOR2/slot_36_slot_36.txt +377 DOOR2 0x37 0x2B8C 0x2E67 731 233 debug_symbols_then_end 16 pseudocode/DOOR2/slot_37_slot_37.txt +377 DOOR2 0x38 0x2E67 0x2F71 266 88 debug_symbols_then_end 2 pseudocode/DOOR2/slot_38_slot_38.txt +377 DOOR2 0x39 0x2F71 0x3052 225 78 debug_symbols_then_end 2 pseudocode/DOOR2/slot_39_slot_39.txt +377 DOOR2 0x3A 0x3052 0x3132 224 70 debug_symbols_then_end 2 pseudocode/DOOR2/slot_3A_slot_3A.txt +377 DOOR2 0x3B 0x3132 0x320F 221 76 debug_symbols_then_end 2 pseudocode/DOOR2/slot_3B_slot_3B.txt +377 DOOR2 0x3C 0x320F 0x33B9 426 153 debug_symbols_then_end 2 pseudocode/DOOR2/slot_3C_slot_3C.txt +377 DOOR2 0x3D 0x33B9 0x3506 333 110 debug_symbols_then_end 3 pseudocode/DOOR2/slot_3D_slot_3D.txt +377 DOOR2 0x3E 0x3506 0x36B4 430 161 debug_symbols_then_end 3 pseudocode/DOOR2/slot_3E_slot_3E.txt +377 DOOR2 0x3F 0x36B4 0x3801 333 110 debug_symbols_then_end 3 pseudocode/DOOR2/slot_3F_slot_3F.txt +377 DOOR2 0x40 0x3801 0x39AF 430 161 debug_symbols_then_end 3 pseudocode/DOOR2/slot_40_slot_40.txt +377 DOOR2 0x41 0x39AF 0x3AA3 244 74 debug_symbols_then_end 3 pseudocode/DOOR2/slot_41_slot_41.txt +377 DOOR2 0x42 0x3AA3 0x3B8A 231 77 debug_symbols_then_end 3 pseudocode/DOOR2/slot_42_slot_42.txt +377 DOOR2 0x43 0x3B8A 0x3C7E 244 74 debug_symbols_then_end 3 pseudocode/DOOR2/slot_43_slot_43.txt +377 DOOR2 0x44 0x3C7E 0x3D65 231 77 debug_symbols_then_end 3 pseudocode/DOOR2/slot_44_slot_44.txt +377 DOOR2 0x45 0x3D65 0x3E92 301 94 debug_symbols_then_end 4 pseudocode/DOOR2/slot_45_slot_45.txt +377 DOOR2 0x46 0x3E92 0x3FAA 280 92 debug_symbols_then_end 4 pseudocode/DOOR2/slot_46_slot_46.txt +377 DOOR2 0x47 0x3FAA 0x40D7 301 94 debug_symbols_then_end 4 pseudocode/DOOR2/slot_47_slot_47.txt +377 DOOR2 0x48 0x40D7 0x41EF 280 92 debug_symbols_then_end 4 pseudocode/DOOR2/slot_48_slot_48.txt +378 DOOR3 0x20 0x011C 0x03CF 691 233 debug_symbols_then_end 6 pseudocode/DOOR3/slot_20_slot_20.txt +378 DOOR3 0x21 0x03CF 0x08DC 1293 471 debug_symbols_then_end 12 pseudocode/DOOR3/slot_21_slot_21.txt +378 DOOR3 0x22 0x08DC 0x0B8F 691 233 debug_symbols_then_end 6 pseudocode/DOOR3/slot_22_slot_22.txt +378 DOOR3 0x23 0x0B8F 0x109C 1293 471 debug_symbols_then_end 12 pseudocode/DOOR3/slot_23_slot_23.txt +378 DOOR3 0x24 0x109C 0x1327 651 215 debug_symbols_then_end 6 pseudocode/DOOR3/slot_24_slot_24.txt +378 DOOR3 0x25 0x1327 0x1848 1313 476 debug_symbols_then_end 12 pseudocode/DOOR3/slot_25_slot_25.txt +378 DOOR3 0x26 0x1848 0x1AD0 648 213 debug_symbols_then_end 6 pseudocode/DOOR3/slot_26_slot_26.txt +378 DOOR3 0x27 0x1AD0 0x1FE9 1305 472 debug_symbols_then_end 12 pseudocode/DOOR3/slot_27_slot_27.txt +378 DOOR3 0x28 0x1FE9 0x20FF 278 88 debug_symbols_then_end 3 pseudocode/DOOR3/slot_28_slot_28.txt +378 DOOR3 0x29 0x20FF 0x221C 285 92 debug_symbols_then_end 3 pseudocode/DOOR3/slot_29_slot_29.txt +378 DOOR3 0x2A 0x221C 0x2332 278 88 debug_symbols_then_end 3 pseudocode/DOOR3/slot_2A_slot_2A.txt +378 DOOR3 0x2B 0x2332 0x244F 285 92 debug_symbols_then_end 3 pseudocode/DOOR3/slot_2B_slot_2B.txt +379 ELEVAT 0x20 0x00F8 0x01B1 185 67 end_opcode 0 pseudocode/ELEVAT/slot_20_slot_20.txt +379 ELEVAT 0x21 0x01B1 0x01E2 49 19 end_opcode 0 pseudocode/ELEVAT/slot_21_slot_21.txt +379 ELEVAT 0x22 0x01E2 0x0213 49 19 end_opcode 0 pseudocode/ELEVAT/slot_22_slot_22.txt +379 ELEVAT 0x23 0x0213 0x0514 769 268 debug_symbols_then_end 9 pseudocode/ELEVAT/slot_23_slot_23.txt +379 ELEVAT 0x24 0x0514 0x0989 1141 411 debug_symbols_then_end 12 pseudocode/ELEVAT/slot_24_slot_24.txt +379 ELEVAT 0x25 0x0989 0x0B95 524 173 debug_symbols_then_end 6 pseudocode/ELEVAT/slot_25_slot_25.txt +381 FLAME 0x20 0x00E0 0x0203 291 93 debug_symbols_then_end 4 pseudocode/FLAME/slot_20_slot_20.txt +381 FLAME 0x21 0x0203 0x02D0 205 64 debug_symbols_then_end 3 pseudocode/FLAME/slot_21_slot_21.txt +382 FREE 0x20 0x01A0 0x01CC 44 16 body_exhausted 0 pseudocode/FREE/slot_20_slot_20.txt +382 FREE 0x21 0x01CC 0x0237 107 36 body_exhausted 0 pseudocode/FREE/slot_21_slot_21.txt +382 FREE 0x22 0x0237 0x057F 840 248 body_exhausted 0 pseudocode/FREE/slot_22_slot_22.txt +382 FREE 0x23 0x057F 0x05AC 45 14 body_exhausted 0 pseudocode/FREE/slot_23_slot_23.txt +382 FREE 0x24 0x05AC 0x06ED 321 104 body_exhausted 0 pseudocode/FREE/slot_24_slot_24.txt +382 FREE 0x25 0x06ED 0x0724 55 17 body_exhausted 0 pseudocode/FREE/slot_25_slot_25.txt +382 FREE 0x26 0x0724 0x0886 354 107 debug_symbols_then_end 2 pseudocode/FREE/slot_26_slot_26.txt +382 FREE 0x27 0x0886 0x0965 223 100 body_exhausted 0 pseudocode/FREE/slot_27_slot_27.txt +382 FREE 0x28 0x0965 0x0B2D 456 159 debug_symbols_then_end 10 pseudocode/FREE/slot_28_slot_28.txt +382 FREE 0x29 0x0B2D 0x0B80 83 20 debug_symbols_then_end 3 pseudocode/FREE/slot_29_slot_29.txt +382 FREE 0x2A 0x0B80 0x0C60 224 60 debug_symbols_then_end 7 pseudocode/FREE/slot_2A_slot_2A.txt +382 FREE 0x2B 0x0C60 0x0CA9 73 29 body_exhausted 0 pseudocode/FREE/slot_2B_slot_2B.txt +382 FREE 0x2C 0x0CA9 0x0CF8 79 32 body_exhausted 0 pseudocode/FREE/slot_2C_slot_2C.txt +382 FREE 0x2D 0x0CF8 0x0E00 264 81 debug_symbols_then_end 8 pseudocode/FREE/slot_2D_slot_2D.txt +382 FREE 0x2E 0x0E00 0x0F25 293 103 debug_symbols_then_end 6 pseudocode/FREE/slot_2E_slot_2E.txt +382 FREE 0x2F 0x0F25 0x105F 314 108 debug_symbols_then_end 7 pseudocode/FREE/slot_2F_slot_2F.txt +382 FREE 0x30 0x105F 0x1158 249 77 debug_symbols_then_end 6 pseudocode/FREE/slot_30_slot_30.txt +382 FREE 0x31 0x1158 0x12E6 398 140 debug_symbols_then_end 6 pseudocode/FREE/slot_31_slot_31.txt +382 FREE 0x32 0x12E6 0x139B 181 54 debug_symbols_then_end 3 pseudocode/FREE/slot_32_slot_32.txt +382 FREE 0x33 0x139B 0x13CC 49 17 body_exhausted 0 pseudocode/FREE/slot_33_slot_33.txt +382 FREE 0x34 0x13CC 0x1454 136 59 body_exhausted 0 pseudocode/FREE/slot_34_slot_34.txt +382 FREE 0x35 0x1454 0x14B5 97 23 debug_symbols_then_end 3 pseudocode/FREE/slot_35_slot_35.txt +382 FREE 0x36 0x14B5 0x1510 91 24 debug_symbols_then_end 3 pseudocode/FREE/slot_36_slot_36.txt +382 FREE 0x37 0x1510 0x1569 89 34 end_opcode 0 pseudocode/FREE/slot_37_slot_37.txt +382 FREE 0x38 0x1569 0x15B7 78 24 end_opcode 0 pseudocode/FREE/slot_38_slot_38.txt +382 FREE 0x39 0x15B7 0x1621 106 28 debug_symbols_then_end 3 pseudocode/FREE/slot_39_slot_39.txt +382 FREE 0x3A 0x1621 0x1681 96 22 debug_symbols_then_end 3 pseudocode/FREE/slot_3A_slot_3A.txt +382 FREE 0x3B 0x1681 0x1AC0 1087 406 debug_symbols_then_end 6 pseudocode/FREE/slot_3B_slot_3B.txt +382 FREE 0x3C 0x1AC0 0x1D2E 622 198 debug_symbols_then_end 3 pseudocode/FREE/slot_3C_slot_3C.txt +382 FREE 0x3D 0x1D2E 0x1D71 67 26 body_exhausted 0 pseudocode/FREE/slot_3D_slot_3D.txt +382 FREE 0x3E 0x1D71 0x1DBE 77 28 body_exhausted 0 pseudocode/FREE/slot_3E_slot_3E.txt +382 FREE 0x3F 0x1DBE 0x1DFB 61 24 body_exhausted 0 pseudocode/FREE/slot_3F_slot_3F.txt +382 FREE 0x40 0x1DFB 0x1EA9 174 52 debug_symbols_then_end 3 pseudocode/FREE/slot_40_slot_40.txt +382 FREE 0x41 0x1EA9 0x1F02 89 28 debug_symbols_then_end 1 pseudocode/FREE/slot_41_slot_41.txt +383 HOVER 0x20 0x00F2 0x0F22 3632 1473 debug_symbols_then_end 30 pseudocode/HOVER/slot_20_slot_20.txt +383 HOVER 0x21 0x0F22 0x12D7 949 328 debug_symbols_then_end 13 pseudocode/HOVER/slot_21_slot_21.txt +383 HOVER 0x22 0x12D7 0x14E6 527 183 debug_symbols_then_end 3 pseudocode/HOVER/slot_22_slot_22.txt +383 HOVER 0x23 0x14E6 0x16F7 529 175 debug_symbols_then_end 14 pseudocode/HOVER/slot_23_slot_23.txt +383 HOVER 0x24 0x16F7 0x18D4 477 152 debug_symbols_then_end 14 pseudocode/HOVER/slot_24_slot_24.txt +384 KEYPAD 0x20 0x00DA 0x0328 590 173 debug_symbols_then_end 8 pseudocode/KEYPAD/slot_20_slot_20.txt +385 LAZER 0x20 0x00DA 0x0331 599 220 debug_symbols_then_end 4 pseudocode/LAZER/slot_20_slot_20.txt +386 LITEWALL 0x20 0x00E0 0x02CA 490 155 debug_symbols_then_end 6 pseudocode/LITEWALL/slot_20_slot_20.txt +386 LITEWALL 0x21 0x02CA 0x04D5 523 157 debug_symbols_then_end 14 pseudocode/LITEWALL/slot_21_slot_21.txt +387 NPC 0x0A equip 0x0BB7 0x0E13 604 235 body_exhausted 0 pseudocode/NPC/slot_0A_equip.txt +387 NPC 0x20 0x012E 0x01C8 154 47 debug_symbols_then_end 2 pseudocode/NPC/slot_20_slot_20.txt +387 NPC 0x21 0x01C8 0x027F 183 61 debug_symbols_then_end 3 pseudocode/NPC/slot_21_slot_21.txt +387 NPC 0x22 0x027F 0x02FB 124 31 debug_symbols_then_end 3 pseudocode/NPC/slot_22_slot_22.txt +387 NPC 0x23 0x02FB 0x055E 611 213 debug_symbols_then_end 4 pseudocode/NPC/slot_23_slot_23.txt +387 NPC 0x24 0x055E 0x08FE 928 318 debug_symbols_then_end 4 pseudocode/NPC/slot_24_slot_24.txt +387 NPC 0x25 0x08FE 0x09C9 203 58 debug_symbols_then_end 4 pseudocode/NPC/slot_25_slot_25.txt +387 NPC 0x26 0x09C9 0x0BB7 494 152 debug_symbols_then_end 13 pseudocode/NPC/slot_26_slot_26.txt +387 NPC 0x27 0x0E13 0x0F5C 329 131 body_exhausted 0 pseudocode/NPC/slot_27_slot_27.txt +387 NPC 0x28 0x0F5C 0x0F88 44 17 end_opcode 0 pseudocode/NPC/slot_28_slot_28.txt +387 NPC 0x29 0x0F88 0x100E 134 51 body_exhausted 0 pseudocode/NPC/slot_29_slot_29.txt +387 NPC 0x2A 0x100E 0x111A 268 83 debug_symbols_then_end 3 pseudocode/NPC/slot_2A_slot_2A.txt +387 NPC 0x2B 0x111A 0x11D8 190 82 end_opcode 0 pseudocode/NPC/slot_2B_slot_2B.txt +387 NPC 0x2C 0x11D8 0x123A 98 21 debug_symbols_then_end 2 pseudocode/NPC/slot_2C_slot_2C.txt +387 NPC 0x2D 0x123A 0x137B 321 107 debug_symbols_then_end 4 pseudocode/NPC/slot_2D_slot_2D.txt +387 NPC 0x2E 0x137B 0x13E5 106 38 end_opcode 0 pseudocode/NPC/slot_2E_slot_2E.txt +389 SHOCKER 0x20 0x00E0 0x0345 613 198 debug_symbols_then_end 7 pseudocode/SHOCKER/slot_20_slot_20.txt +389 SHOCKER 0x21 0x0345 0x0485 320 106 debug_symbols_then_end 2 pseudocode/SHOCKER/slot_21_slot_21.txt +390 SPIDER 0x20 0x00E6 0x042E 840 285 debug_symbols_then_end 7 pseudocode/SPIDER/slot_20_slot_20.txt +390 SPIDER 0x21 0x042E 0x05B0 386 128 debug_symbols_then_end 7 pseudocode/SPIDER/slot_21_slot_21.txt +390 SPIDER 0x22 0x05B0 0x0A37 1159 426 debug_symbols_then_end 23 pseudocode/SPIDER/slot_22_slot_22.txt +391 STEAM 0x20 0x00E0 0x0243 355 120 debug_symbols_then_end 4 pseudocode/STEAM/slot_20_slot_20.txt +391 STEAM 0x21 0x0243 0x0354 273 94 debug_symbols_then_end 3 pseudocode/STEAM/slot_21_slot_21.txt +392 SWITCH 0x20 0x00E0 0x01E4 260 85 debug_symbols_then_end 2 pseudocode/SWITCH/slot_20_slot_20.txt +392 SWITCH 0x21 0x01E4 0x0457 627 202 debug_symbols_then_end 2 pseudocode/SWITCH/slot_21_slot_21.txt +393 TEXTFILE 0x20 0x00EC 0x0131 69 29 end_opcode 0 pseudocode/TEXTFILE/slot_20_slot_20.txt +393 TEXTFILE 0x21 0x0131 0x01D0 159 48 debug_symbols_then_end 3 pseudocode/TEXTFILE/slot_21_slot_21.txt +393 TEXTFILE 0x22 0x01D0 0x02B5 229 73 debug_symbols_then_end 3 pseudocode/TEXTFILE/slot_22_slot_22.txt +393 TEXTFILE 0x23 0x02B5 0x252C 8823 812 debug_symbols_then_end 6 pseudocode/TEXTFILE/slot_23_slot_23.txt +394 TRIGGER 0x20 0x011C 0x0699 1405 488 debug_symbols_then_end 14 pseudocode/TRIGGER/slot_20_slot_20.txt +394 TRIGGER 0x21 0x0699 0x09FE 869 300 debug_symbols_then_end 10 pseudocode/TRIGGER/slot_21_slot_21.txt +394 TRIGGER 0x22 0x09FE 0x0AD8 218 61 debug_symbols_then_end 4 pseudocode/TRIGGER/slot_22_slot_22.txt +394 TRIGGER 0x23 0x0AD8 0x1107 1583 606 debug_symbols_then_end 17 pseudocode/TRIGGER/slot_23_slot_23.txt +394 TRIGGER 0x24 0x1107 0x1761 1626 618 debug_symbols_then_end 18 pseudocode/TRIGGER/slot_24_slot_24.txt +394 TRIGGER 0x25 0x1761 0x1D00 1439 542 debug_symbols_then_end 17 pseudocode/TRIGGER/slot_25_slot_25.txt +394 TRIGGER 0x26 0x1D00 0x22ED 1517 576 debug_symbols_then_end 17 pseudocode/TRIGGER/slot_26_slot_26.txt +394 TRIGGER 0x27 0x22ED 0x2905 1560 588 debug_symbols_then_end 18 pseudocode/TRIGGER/slot_27_slot_27.txt +394 TRIGGER 0x28 0x2905 0x2E62 1373 512 debug_symbols_then_end 17 pseudocode/TRIGGER/slot_28_slot_28.txt +394 TRIGGER 0x29 0x2E62 0x3516 1716 611 debug_symbols_then_end 22 pseudocode/TRIGGER/slot_29_slot_29.txt +394 TRIGGER 0x2A 0x3516 0x3AA7 1425 496 debug_symbols_then_end 17 pseudocode/TRIGGER/slot_2A_slot_2A.txt +394 TRIGGER 0x2B 0x3AA7 0x41A0 1785 649 debug_symbols_then_end 17 pseudocode/TRIGGER/slot_2B_slot_2B.txt +395 VALBOX 0x20 0x00DA 0x0178 158 42 debug_symbols_then_end 4 pseudocode/VALBOX/slot_20_slot_20.txt +396 WALLGUN 0x20 0x01DC 0x0234 88 26 debug_symbols_then_end 2 pseudocode/WALLGUN/slot_20_slot_20.txt +396 WALLGUN 0x21 0x0234 0x028C 88 26 debug_symbols_then_end 2 pseudocode/WALLGUN/slot_21_slot_21.txt +396 WALLGUN 0x22 0x028C 0x02D0 68 28 body_exhausted 0 pseudocode/WALLGUN/slot_22_slot_22.txt +396 WALLGUN 0x23 0x02D0 0x0314 68 28 body_exhausted 0 pseudocode/WALLGUN/slot_23_slot_23.txt +396 WALLGUN 0x24 0x0314 0x042F 283 100 debug_symbols_then_end 3 pseudocode/WALLGUN/slot_24_slot_24.txt +396 WALLGUN 0x25 0x042F 0x0520 241 92 debug_symbols_then_end 3 pseudocode/WALLGUN/slot_25_slot_25.txt +396 WALLGUN 0x26 0x0520 0x058A 106 38 end_opcode 0 pseudocode/WALLGUN/slot_26_slot_26.txt +396 WALLGUN 0x27 0x058A 0x06B5 299 114 end_opcode 0 pseudocode/WALLGUN/slot_27_slot_27.txt +396 WALLGUN 0x28 0x06B5 0x0C36 1409 488 debug_symbols_then_end 5 pseudocode/WALLGUN/slot_28_slot_28.txt +396 WALLGUN 0x29 0x0C36 0x0C8D 87 26 debug_symbols_then_end 2 pseudocode/WALLGUN/slot_29_slot_29.txt +396 WALLGUN 0x2A 0x0C8D 0x0CED 96 36 end_opcode 0 pseudocode/WALLGUN/slot_2A_slot_2A.txt +396 WALLGUN 0x2B 0x0CED 0x0D44 87 33 end_opcode 0 pseudocode/WALLGUN/slot_2B_slot_2B.txt +396 WALLGUN 0x2C 0x0D44 0x0DE3 159 68 end_opcode 0 pseudocode/WALLGUN/slot_2C_slot_2C.txt +396 WALLGUN 0x2D 0x0DE3 0x0FB2 463 166 debug_symbols_then_end 7 pseudocode/WALLGUN/slot_2D_slot_2D.txt +396 WALLGUN 0x2E 0x0FB2 0x113A 392 124 debug_symbols_then_end 10 pseudocode/WALLGUN/slot_2E_slot_2E.txt +396 WALLGUN 0x2F 0x113A 0x1264 298 99 debug_symbols_then_end 6 pseudocode/WALLGUN/slot_2F_slot_2F.txt +396 WALLGUN 0x30 0x1264 0x12F2 142 43 debug_symbols_then_end 2 pseudocode/WALLGUN/slot_30_slot_30.txt +396 WALLGUN 0x31 0x12F2 0x1669 887 307 debug_symbols_then_end 10 pseudocode/WALLGUN/slot_31_slot_31.txt +396 WALLGUN 0x32 0x1669 0x1968 767 250 debug_symbols_then_end 10 pseudocode/WALLGUN/slot_32_slot_32.txt +396 WALLGUN 0x33 0x1968 0x1C6A 770 252 debug_symbols_then_end 10 pseudocode/WALLGUN/slot_33_slot_33.txt +396 WALLGUN 0x34 0x1C6A 0x1EB6 588 192 debug_symbols_then_end 8 pseudocode/WALLGUN/slot_34_slot_34.txt +396 WALLGUN 0x35 0x1EB6 0x2104 590 194 debug_symbols_then_end 8 pseudocode/WALLGUN/slot_35_slot_35.txt +396 WALLGUN 0x36 0x2104 0x23C3 703 232 debug_symbols_then_end 9 pseudocode/WALLGUN/slot_36_slot_36.txt +396 WALLGUN 0x37 0x23C3 0x2685 706 234 debug_symbols_then_end 9 pseudocode/WALLGUN/slot_37_slot_37.txt +396 WALLGUN 0x38 0x2685 0x295D 728 233 debug_symbols_then_end 10 pseudocode/WALLGUN/slot_38_slot_38.txt +396 WALLGUN 0x39 0x295D 0x2C35 728 233 debug_symbols_then_end 10 pseudocode/WALLGUN/slot_39_slot_39.txt +396 WALLGUN 0x3A 0x2C35 0x2F59 804 255 debug_symbols_then_end 10 pseudocode/WALLGUN/slot_3A_slot_3A.txt +396 WALLGUN 0x3B 0x2F59 0x3283 810 259 debug_symbols_then_end 10 pseudocode/WALLGUN/slot_3B_slot_3B.txt +396 WALLGUN 0x3C 0x3283 0x353A 695 235 debug_symbols_then_end 9 pseudocode/WALLGUN/slot_3C_slot_3C.txt +396 WALLGUN 0x3D 0x353A 0x365D 291 93 debug_symbols_then_end 5 pseudocode/WALLGUN/slot_3D_slot_3D.txt +396 WALLGUN 0x3E 0x365D 0x3F94 2359 1043 debug_symbols_then_end 2 pseudocode/WALLGUN/slot_3E_slot_3E.txt +396 WALLGUN 0x3F 0x3F94 0x48DF 2379 1041 debug_symbols_then_end 3 pseudocode/WALLGUN/slot_3F_slot_3F.txt +396 WALLGUN 0x40 0x48DF 0x49F9 282 114 debug_symbols_then_end 2 pseudocode/WALLGUN/slot_40_slot_40.txt +396 WALLGUN 0x41 0x49F9 0x4B7B 386 158 debug_symbols_then_end 2 pseudocode/WALLGUN/slot_41_slot_41.txt +396 WALLGUN 0x42 0x4B7B 0x4CFD 386 158 debug_symbols_then_end 2 pseudocode/WALLGUN/slot_42_slot_42.txt +396 WALLGUN 0x43 0x4CFD 0x4D54 87 23 debug_symbols_then_end 2 pseudocode/WALLGUN/slot_43_slot_43.txt +396 WALLGUN 0x44 0x4D54 0x4DC1 109 35 debug_symbols_then_end 2 pseudocode/WALLGUN/slot_44_slot_44.txt +396 WALLGUN 0x45 0x4DC1 0x53D6 1557 537 debug_symbols_then_end 9 pseudocode/WALLGUN/slot_45_slot_45.txt +396 WALLGUN 0x46 0x53D6 0x59E7 1553 540 debug_symbols_then_end 8 pseudocode/WALLGUN/slot_46_slot_46.txt +396 WALLGUN 0x47 0x59E7 0x5B91 426 143 debug_symbols_then_end 9 pseudocode/WALLGUN/slot_47_slot_47.txt +396 WALLGUN 0x48 0x5B91 0x5DA7 534 197 debug_symbols_then_end 6 pseudocode/WALLGUN/slot_48_slot_48.txt +396 WALLGUN 0x49 0x5DA7 0x6548 1953 774 debug_symbols_then_end 6 pseudocode/WALLGUN/slot_49_slot_49.txt +396 WALLGUN 0x4A 0x6548 0x6B59 1553 540 debug_symbols_then_end 8 pseudocode/WALLGUN/slot_4A_slot_4A.txt +396 WALLGUN 0x4B 0x6B59 0x6D03 426 143 debug_symbols_then_end 9 pseudocode/WALLGUN/slot_4B_slot_4B.txt +397 YELRAIL 0x20 0x00DA 0x048C 946 369 debug_symbols_then_end 6 pseudocode/YELRAIL/slot_20_slot_20.txt +398 NPCDEATH 0x20 0x00E6 0x1432 4940 1903 debug_symbols_then_end 24 pseudocode/NPCDEATH/slot_20_slot_20.txt +398 NPCDEATH 0x21 0x1432 0x14C8 150 42 debug_symbols_then_end 3 pseudocode/NPCDEATH/slot_21_slot_21.txt +398 NPCDEATH 0x22 0x14C8 0x1EDD 2581 1027 debug_symbols_then_end 8 pseudocode/NPCDEATH/slot_22_slot_22.txt +399 TEXTFIL1 0x20 0x00DA 0x2567 9357 801 debug_symbols_then_end 5 pseudocode/TEXTFIL1/slot_20_slot_20.txt +400 ITEM 0x20 0x012E 0x0184 86 13 debug_symbols_then_end 4 pseudocode/ITEM/slot_20_slot_20.txt +400 ITEM 0x21 0x0184 0x0223 159 39 debug_symbols_then_end 4 pseudocode/ITEM/slot_21_slot_21.txt +400 ITEM 0x22 0x0223 0x0288 101 42 body_exhausted 0 pseudocode/ITEM/slot_22_slot_22.txt +400 ITEM 0x23 0x0288 0x02C4 60 25 body_exhausted 0 pseudocode/ITEM/slot_23_slot_23.txt +400 ITEM 0x24 0x02C4 0x0301 61 26 body_exhausted 0 pseudocode/ITEM/slot_24_slot_24.txt +400 ITEM 0x25 0x0301 0x0746 1093 406 debug_symbols_then_end 23 pseudocode/ITEM/slot_25_slot_25.txt +400 ITEM 0x26 0x0746 0x0B0E 968 352 debug_symbols_then_end 22 pseudocode/ITEM/slot_26_slot_26.txt +400 ITEM 0x27 0x0B0E 0x0C03 245 63 debug_symbols_then_end 7 pseudocode/ITEM/slot_27_slot_27.txt +400 ITEM 0x28 0x0C03 0x0F54 849 313 debug_symbols_then_end 8 pseudocode/ITEM/slot_28_slot_28.txt +400 ITEM 0x29 0x0F54 0x10D9 389 133 debug_symbols_then_end 8 pseudocode/ITEM/slot_29_slot_29.txt +400 ITEM 0x2A 0x10D9 0x13C2 745 281 debug_symbols_then_end 7 pseudocode/ITEM/slot_2A_slot_2A.txt +400 ITEM 0x2B 0x13C2 0x169B 729 264 debug_symbols_then_end 3 pseudocode/ITEM/slot_2B_slot_2B.txt +400 ITEM 0x2C 0x169B 0x1726 139 50 debug_symbols_then_end 2 pseudocode/ITEM/slot_2C_slot_2C.txt +400 ITEM 0x2D 0x1726 0x1A22 764 277 debug_symbols_then_end 10 pseudocode/ITEM/slot_2D_slot_2D.txt +400 ITEM 0x2E 0x1A22 0x1ABB 153 33 debug_symbols_then_end 5 pseudocode/ITEM/slot_2E_slot_2E.txt +401 TEXTFIL2 0x20 0x00DA 0x26A8 9678 1021 debug_symbols_then_end 5 pseudocode/TEXTFIL2/slot_20_slot_20.txt +402 FLICTEST 0x20 0x00E0 0x279F 9919 3435 debug_symbols_then_end 2 pseudocode/FLICTEST/slot_20_slot_20.txt +402 FLICTEST 0x21 0x279F 0x4E4C 9901 3439 body_exhausted 0 pseudocode/FLICTEST/slot_21_slot_21.txt diff --git a/docs/retail-debug-arg.md b/docs/retail-debug-arg.md new file mode 100644 index 0000000..03988f9 --- /dev/null +++ b/docs/retail-debug-arg.md @@ -0,0 +1,401 @@ +# Retail `-debug` Argument in `CRUSADER.EXE` + +This note records the current evidence-backed read of the retail `-debug` command-line switch in the live NE `CRUSADER.EXE` database. + +Short version: +- retail `CRUSADER.EXE` does recognize `-debug` +- the switch is not fully disabled in the parser +- it sets a global debug-print threshold and two debug-related globals +- one surviving `-debug` feature is now concretely identified as an AVI/video-player timing overlay +- current evidence does **not** show it constructing or wiring the hidden seg109/seg1408 usecode debugger state object at `1478:659c/659e` +- current best read is `debug-print threshold plus movie-playback timing overlay`, not `the lost hidden debugger bootstrap` + +## Verified Parser Evidence + +In the live NE image, `HandleCommandlineArgs` at `1048:09b9` contains a real branch for `"-debug"` at `1048:0a93`. + +The branch body does all of the following: +- writes `0x000a` to `1478:87e0` (`g_debugMsgLevel`) +- calls `ConsolePrintf(0x32, 1478:0ad6)` +- writes `1` to `1478:0845` (`g_someDebugFlag`) +- writes `1` to `1478:0859` (`g_someDebugFlag2`) + +So the parameter has exactly three direct state effects currently recovered: +- it changes the global print threshold +- it sets one still-unresolved debug latch at `1478:0845` +- it enables the seg1468 video timing overlay through `1478:0859` + +The printed string at `1478:0ad6` is: + +`Debugging mode ON.` + +That is strong evidence against the narrow claim that retail only still recognizes the string but has the feature body disabled. The retail parser still executes real side effects when `-debug` is present. + +Nearby startup strings in the same table also confirm this is the normal command-line switch cluster: +- `CRUSADER: No Remorse` +- `Cheats are active.` +- `You DO need help!` +- `Debugging mode ON.` +- `Enabling ENHANCED mode. (NOT!)` + +## What Still Reacts To `-debug` + +### 1. Debug message threshold is live + +`1478:87e0` is already symbolized as `g_debugMsgLevel` in the live export. + +Data-use recovery shows it is read by: +- `ConsolePrintf` +- `DebugPrintAndWaitForInput` +- two adjacent positioned debug-print helpers in the same family (`12d0:0391`, `12d0:0442`) + +Current best read: +- `-debug` sets the runtime print threshold to `10` +- the compare in the wrappers is effectively `if (call_level < g_debugMsgLevel) skip` +- so `-debug` does **not** create a new console sink by itself; it only changes which existing callsites are eligible to print +- the shared print staging buffer at `1478:45a6` is allocated independently by `12d0:0513`, not by the `-debug` parser branch + +The low-level sink path is now tighter too: +- `ProbablyPrintDebugMessage` at `1000:65cc` formats through the generic `ProbablySomethingDebuggy` / `FUN_1000_67ac` stream pipeline +- that helper passes DS:`1478:6c46` as the target stream object +- the surrounding DS data at `1478:6c32..1478:6c81` is a four-entry static stdio-style table with handle words `0`, `1`, `2`, and `3` +- the `1478:6c46` entry is therefore the handle-`1` stream, i.e. the program's `stdout` slot + +Practical implication: +- the text side of `-debug` is not a hidden second debugger UI and not a newly-created in-memory log sink +- it is ordinary formatted DOS standard-output text gated by `g_debugMsgLevel` +- the main reason it is easy to miss is that Crusader spends most of its runtime in graphics mode, while many eligible callsites are startup, shutdown, or failure diagnostics + +This matters because it narrows the real effect of the print side: +- `-debug` definitely changes print gating +- but it does not add a new visible on-screen text channel by itself +- any visible text side effect depends on already-existing print callsites and on how DOS `stdout` is surfaced in the running environment + +### 1a. What subsystems use that print gate + +Recovered `ConsolePrintf` callers show that the thresholded text/debug lane is not limited to video. Current caller families include: +- command-line handling and startup/shutdown (`HandleCommandlineArgs`, `CheckForLaurieArg`, `Init_Everything`, `Uninitialize`) +- config parsing (`LoadConfigFile`) +- cache/shape rebuild work (`CacheShapeHand_1070_15a9`) +- item/glob spawning failure paths (`ItemGlob_GlobEggHatch`) +- drawlist or display initialization (`DList_Init`) +- audio init (`Init_ASS`) +- joystick init/calibration (`Joystick_Init`, `Joystick_Calibrate`, nearby helper `1400:0c7e`) +- teleporter and several `UProcess_*` / `1428:*` runtime helpers + +The rarer blocking helper `DebugPrintAndWaitForInput` is much narrower. Current recovered callers are: +- `Dispatch_Init_320_0281` +- `Dispatch_1320_103e` +- `NewGump_Alloc` + +Those are all failure/debug-stop style paths rather than normal AVI playback logic. + +Practical interpretation: +- there **is** a non-video `-debug` lane +- but the recovered non-video lane is primarily `thresholded debug/error text`, often in startup or failure handling +- it is not currently a second confirmed visible feature on the level of the movie timing dots you observed + +### 1c. Recovered printed strings and format strings + +The print inventory is now tighter than the earlier subsystem-only caller list. + +Recovered call levels so far: +- `0x32` +- `0xff` + +Because retail `-debug` sets `g_debugMsgLevel = 10`, both recovered levels are above threshold and therefore eligible to print when their code paths execute. + +#### Command-line and startup argument strings + +Recovered directly from `HandleCommandlineArgs` / `CheckForLaurieArg`: +- `Cheats are active.` +- `You DO need help!` +- `Debugging mode ON.` +- `Enabling ENHANCED mode. (NOT!)` +- `Warping to mission %d.` +- `Warping to mission %d @ x:%d y:%d z:%d.` +- `Defaulting to skill level %d` +- `Map offset = %d` +- `Destination Egg = %d` +- `Demo mode.` + +These are the cleanest first things to look for in DOSBox logging because they belong to deterministic early startup/argument paths. + +#### Init / config / install-status strings + +Recovered from `Init_Everything` and `LoadConfigFile`: +- `Using map patch file.` +- `Loading: [` +- ` ]` +- `.` +- `Running with partial installation.` +- `Running with full installation.` +- `Redirecting mission %d tune to '%s'` + +Interpretation: +- some of these are not human-readable status sentences so much as progress-bar fragments and single-character emitters +- that means an `INT 21h` log may show very short writes rather than one tidy line of text + +#### Cache / rebuild strings + +Recovered from `CacheShapeHand_1070_15a9`: +- `Creating Swap file [` +- ` ]` +- `] ` +- `\n\r[` +- ` ]\r[` +- a single-byte progress marker at `1478:0e1e` + +Interpretation: +- this lane appears to print progress scaffolding rather than rich prose +- if DOSBox logs writes with counts but not payload text, many tiny startup writes may belong to this cache/swap-file progress path + +#### Runtime / failure diagnostics + +Recovered from narrower runtime and failure paths: +- `dl init ` from `DList_Init` +- `COULD NOT CREATE GLOB ITEM!` from `ItemGlob_GlobEggHatch` + +These are useful because they are strong “real debug text” fingerprints if they ever show up in a live log. + +#### Audio init marker + +Recovered from `Init_ASS`: +- `.` + +Current best read: +- this is another minimal progress marker, not a descriptive sentence + +#### Blocking `DebugPrintAndWaitForInput` strings + +Recovered from the three currently known `DebugPrintAndWaitForInput` callers: +- `No room for Dispatcher Record/Playback.` +- `End of script! (press any key)` +- `Out of Memory! [%u]` + +Interpretation: +- these are failure/debug-stop strings +- they are good fingerprints for recognizing the lane, but they should not be expected during healthy normal gameplay + +#### Shutdown strings + +Recovered from `Uninitialize` and nearby startup/shutdown text: +- `CRUSADER: No Remorse` +- `No pity. No mercy. No remorse.` + +Current best read: +- the first is a normal shutdown-side banner +- the second is associated with the Laurie-enabled lane and is not a generic `-debug` print on its own + +### 1b. How to read that text in practice + +Current best evidence-backed read is: +- the messages go to the executable's normal DOS `stdout` stream, not to a bespoke debugger console +- if `stdout` is left attached to `CON`, text may only be practically visible when Crusader is still in a text-ish startup/shutdown context or when a failure path forces a text-mode-style report +- replacing `stdout` with a disk file via shell redirection is now a poor default recommendation, because live user testing showed `CRUSADER.EXE -debug > DEBUG.TXT` surviving startup but crashing after the intro cutscene + +What this does and does not mean: +- plain file redirection probably changes the handle-1 stream semantics enough to destabilize later stdio/device logic in this executable or runtime +- it will not magically produce extra chatter unless existing callsites actually execute at or above the threshold +- it does not by itself surface the hidden seg109/seg1408 debugger UI, because that is a separate control path + +Remaining caution: +- this is a strong static conclusion about the sink identity +- runtime capture details still depend on the exact DOSBox / shell setup, because the game often runs after switching away from a normal text-console presentation +- safest current guidance is to keep handle `1` attached to a character-device-style sink and capture around it, rather than redirecting directly to a regular file + +### 2. `g_someDebugFlag2` is live + +`1478:0859` (`g_someDebugFlag2`) is written by the `-debug` parser branch and read later in segment `1468`. + +Recovered readers: +- `VideoPlayer_AdvanceFrameAndHandleSkip` (`1468:2869`) +- `VideoPlayer_StreamChunks` (`1468:2af4`) + +Both routines conditionally call `VideoPlayer_DrawDebugTimingOverlay` (`1468:2de9`) when `g_someDebugFlag2 != 0`. + +The current live export already places these functions in the `VideoPlayer_*` neighborhood: +- preceding function `1468:283f..2868` is typed as `VideoPlayer_Run(struct Process * p_proc)` +- `AVI_1468_2188` is an AVI-header parser that recognizes `AVI ` / `LIST` / `strl` / `strh` / `strf` +- `FUN_1468_3904` is a later `movi`-chunk setup/prime path that calls `VideoPlayer_StreamChunks(..., 1)` + +Current best read of this lane: +- this is part of a video / presentation / media-processing subsystem +- `-debug` leaves behind an extra instrumentation path in that subsystem +- the behavior does not currently look like debugger-object creation, breakpoint management, or usecode UI entry + +`VideoPlayer_DrawDebugTimingOverlay` is now specific enough to describe concretely: +- it clears a temporary `0x1f4`-byte buffer (`500` bytes) +- it computes marker positions from AVI timing fields using a divisor of `6000` +- it writes marker bytes `8` and `9` into that temporary line buffer +- it copies the resulting `500`-byte line into a video buffer near offset `0x1de * 0x280 + 0x78` +- it builds and copies a second `500`-byte line into the next scanline at `+0x280` + +Because the helper writes into two adjacent scanlines of a `0x280`-wide (`640`-pixel) buffer near the bottom of the frame, current best read is: +- this is a built-in movie-playback timing overlay or marker strip +- it is probably intended to visualize AVI/video timing state while playback is running +- it is a practical runtime feature that may be observable during intro/cutscene playback when launched with `-debug` +- it is still unrelated to the seg109/seg1408 usecode debugger object model + +Runtime confirmation now matches the static read: +- the observed moving dots at the bottom of played videos are consistent with this helper's two-line marker overlay +- that closes the strongest user-visible effect of retail `-debug` + +### 3. `g_someDebugFlag` is only weakly understood + +`1478:0845` is symbolized as `g_someDebugFlag` and is also written by the `-debug` branch. + +Current evidence is weaker here: +- the parser write is confirmed +- no equally clear downstream reader has been recovered yet + +Current safest read: +- this is a real surviving `-debug` state cell +- it may be vestigial, sparsely used, or hiding inside still-unrecovered data/indirect uses +- it should not currently be overinterpreted as a debugger bootstrap flag + +At this point the absence evidence is fairly strong: +- direct data-use recovery still finds only the parser write +- nearby bytes `1478:0844` and `1478:0846` do have real readers/writers, so this is not just a search blind spot across the whole region +- current best read is `orphaned or still-hidden latch`, not `known active second feature` + +## Comprehensive Current Effect Summary + +Based on the current live NE evidence, retail `-debug` enables or changes the following and no more has yet been proven: + +### Confirmed direct effects + +1. It prints `Debugging mode ON.` during command-line handling. +2. It sets `g_debugMsgLevel` at `1478:87e0` to `10`. +3. It sets `g_someDebugFlag` at `1478:0845` to `1`. +4. It sets `g_someDebugFlag2` at `1478:0859` to `1`. + +### Confirmed runtime-visible effect + +1. It enables the seg1468 AVI/video-player timing overlay, which draws moving marker dots or traces near the bottom of played videos. + +### Confirmed non-video effect class + +1. It changes eligibility for existing debug/error print wrappers used across startup, config, cache, joystick, audio, item/glob, dispatch, and some runtime process code. +2. A smaller subset of those callsites are blocking `print-and-wait` diagnostics used on failure/debug-stop paths in dispatch/gump allocation code. +3. The recovered text sink for those wrappers is the program's handle-`1` stdio stream at `1478:6c46`, so the lane is standard-output text rather than a separate debugger-only channel. +4. The recovered printable inventory is currently dominated by startup/status/progress strings plus a smaller number of failure-only diagnostics; it is not a rich always-on gameplay console. + +### Things not currently proven as practical effects + +1. A new visible text console or new text window. +2. Any hidden usecode debugger bootstrap. +3. Any connection to the seg109/seg1408 debugger-state pointer at `1478:659c/659e`. +4. Any second confirmed user-visible feature beyond the AVI timing dots. +5. Any active downstream behavior for `1478:0845`. + +## What `-debug` Does **Not** Currently Prove + +The hidden retail debugger / unit-inspector work already mapped elsewhere in this repo still centers on: +- seg109 UI wrappers such as `usecode_debugger_open_for_current_unit` and `usecode_debugger_open_modal` +- seg1408 debugger-state helpers such as `usecode_debugger_break_state_create` and `usecode_debugger_maybe_break_on_current_line` +- the global debugger-state far pointer at `1478:659c/659e` + +That `1478:659c/659e` pointer is still read by the known interpreter-side debugger path, including the break callback lane around `1418:04aa..04b5` and the seg109 debugger-opening wrappers. + +What has **not** been shown in the current `-debug` pass: +- no recovered write from the `-debug` branch to `1478:659c/659e` +- no evidence that `-debug` calls `usecode_debugger_break_state_create` +- no evidence that `-debug` enters `usecode_debugger_open_for_current_unit` +- no evidence that `-debug` is the same switch as `-laurie` + +So the current answer is: +- `-debug` is real +- `-debug` still does something +- but it is currently **not** the same evidence trail as the hidden usecode debugger bootstrap + +## Relationship To `-laurie` + +The two switches should stay separated. + +Current repo evidence still supports: +- `-laurie` / `CheckForLaurieArg(...)` writes the cheat/debugger gate at `1478:0844` (`g_wasLaurieSet` / prior `cheats_enabled` lane) +- `-debug` is handled inside the normal command-line option loop in `HandleCommandlineArgs` +- `-debug` writes `1478:0845`, `1478:0859`, and `1478:87e0`, not `1478:0844` + +That means the old hidden debugger/UI work and the `-debug` switch are adjacent only at a broad `debug features existed` level. They are not currently the same recovered control path. + +## Best Current Conclusion + +The wiki claim is only partly right. + +Accurate part: +- there really is a retail `-debug` command-line argument + +Inaccurate or currently unsupported parts: +- it is not merely a dead recognized string; the parser branch is still live +- the current evidence does not support `secondary monitor debug kernel` specifically +- the current evidence does not support `-debug` as the missing bootstrap for the hidden seg109/seg1408 usecode debugger + +Best current evidence-backed replacement claim: + +> Retail `CRUSADER.EXE` still recognizes and executes a live `-debug` branch. That branch prints `Debugging mode ON.`, raises the debug message level, and enables a concrete seg1468 AVI/video-player timing overlay that draws two 500-byte marker traces into adjacent scanlines near the bottom of the playback buffer. However, current evidence does not show it creating the seg1408 debugger-state object at `1478:659c/659e`, so it should not currently be treated as the missing bootstrap for the hidden usecode debugger UI. + +## Claim Check: `E69FB` And The "Secondary Monochrome Monitor" Idea + +An external claim said the potential debug instructions were at flat file offset `E69FB` and might only be visible on a secondary monochrome monitor. + +Current evidence does not support that. + +### `E69FB` mapping + +Using the local NE segment map: +- NE segment `144` begins at file offset `0xE3C00` +- flat offset `0xE69FB` therefore lands at segment-relative offset `0x2dfb` +- in the live NE image that maps to `1478:2dfb` + +The bytes around that location are not executable instructions for a hidden monitor-debug path. They fall inside a data/string cluster: +- `KeyboardProcess` +- `KEYIO.C` +- `PRIORITY.C` +- `SystemTimer` +- `SYSTIMER.C` +- `AccWait` + +`1478:2dfb` itself lands inside the `SYSTIMER.C` string, not inside a code body. + +Current safest read: +- the cited flat offset is almost certainly a mistaken pointer into a data/descriptor/source-file-name region +- it is not a useful anchor for `-debug` behavior and not evidence for hidden display-specific code by itself + +### Secondary monochrome monitor check + +The current `-debug` evidence points elsewhere: +- text/debug output goes through the normal `stdout` sink at `1478:6c46` +- the user-visible runtime feature is the seg1468 AVI timing overlay drawn into the main video buffer + +Additional negative evidence from the live program: +- no recovered text strings mentioning `mono`, `monochrome`, `hercules`, or `MDA` +- no recovered instruction hits referencing obvious monochrome-adapter I/O ports such as `0x3b4`, `0x3b5`, `0x3b8`, or `0x3ba` +- no recovered instruction hits referencing the `B000` monochrome text-memory window + +That does **not** mathematically prove that no historical or stripped monitor-debug code ever existed during development, but it does mean: +- the current retail `-debug` evidence does not support the "secondary monochrome monitor" explanation +- the current retail implementation is better explained as `stdout`-gated text plus the AVI timing overlay + +## Ghidra Refinements Applied + +The live `CRUSADER.EXE` database now carries this batch's first-pass refinements too: +- `1468:2869` -> `VideoPlayer_AdvanceFrameAndHandleSkip` +- `1468:2af4` -> `VideoPlayer_StreamChunks` +- `1468:2de9` -> `VideoPlayer_DrawDebugTimingOverlay` +- parser and global comments at `1048:0a93`, `1478:0845`, `1478:0859`, and `1478:87e0` +- overlay-gate comments at `1468:2920` and `1468:2dc8` +- debug-print helper comments at `12d0:0391`, `12d0:03ee`, and `12d0:0442` +- sink/init comments at `1000:65cc` and `12d0:0513` +- stdio-table comments at `1478:6c32` and `1478:6c46` + +## Follow-Up Targets + +If this lane is revisited, the highest-value remaining questions are: +- identify a concrete behavioral name for `1478:0845` by finding a real downstream consumer +- classify the remaining nearby seg1468 helpers so the AVI/video-player object layout around `+0x117/+0x11b/+0x11f/+0x123` can be named cleanly +- test whether the overlay is visibly present during intro/cutscene playback in DOSBox or another live runtime +- find meaningful callsites into the seg12d0 positioned debug-print helpers to learn whether `-debug` exposes additional text diagnostics beyond movie timing markers +- determine the default runtime value path for `g_debugMsgLevel` more rigorously, since static initialized data alone does not yet explain the full practical print behavior +- sample a few representative `ConsolePrintf` / `DebugPrintAndWaitForInput` format strings under live capture so the stdout lane can be characterized with runtime output rather than only static caller families \ No newline at end of file diff --git a/docs/usecode-alarmhat-analysis.md b/docs/usecode-alarmhat-analysis.md new file mode 100644 index 0000000..fb7d4b7 --- /dev/null +++ b/docs/usecode-alarmhat-analysis.md @@ -0,0 +1,180 @@ +# ALARMHAT Analysis + +## Purpose + +This note records the current evidence-backed read of exported `ALARMHAT` pseudocode and what the class most likely means in gameplay. + +The goal is not to force a final rename. The goal is to state what the script definitely does, what it probably does, and where the remaining uncertainty sits. + +## Sources used + +- exported pseudocode: `USECODE/EUSECODE_extracted/pseudocode/ALARMHAT/slot_0A_equip.txt` +- class/event index rows for `ALARMHAT` +- raw linear disassembly in `K:/ghidra/crusader-disasm/crusader_disasm.txt` +- nearby alarm-family comparators: + - `ALARMBOX` + - `ALRMTRIG` + - `ALARM_NS` + - `ALARM_EW` + +## Short version + +`ALARMHAT` is not a general many-event alarm controller. In the extracted corpus it has one live body: slot `0x0A` (`equip`). + +That body behaves like an alarm-family state controller attached to an item. It does two different things depending on the current frame of the item: + +1. in frame `0`, it searches nearby shape `0x04D0` objects and equips qualifying ones with mode `0x17` +2. in non-zero frames, it first requires the item to be on-screen, then performs a nearby actor/family scan, and if that passes it searches nearby shape `0x04D0` objects and equips qualifying ones with mode `0x15` + +The likely gameplay read is: `ALARMHAT` is a local alarm-state driver that flips nearby helper objects or actors into one of two equipment/activation states, with the second state gated by player-visible activity near the item. + +## Structural facts + +From `class_event_index.tsv`: + +- class: `ALARMHAT` +- class id: `0x0561` +- only decoded non-zero slot: `0x0A equip` +- body window: `0x00D4..0x025F` +- body length: `395` bytes + +From the debug trailer/local names in the exported body: + +- locals currently render as `referent`, `var`, `item`, and `npc` + +Those local names are useful hints, but the behavior matters more than the variable spelling. + +## Direct script behavior + +The body begins with the standard alarm-family setup: + +```text +set_info(0x0211, *(arg_06)); +process_exclude(); +``` + +That matches `ALARMBOX::equip`, which also begins with `set_info(0x0211, *(arg_06)); process_exclude();`. + +After that, the script splits on `Item.getFrame(arg_06)`. + +### Branch 1: frame == 0 + +The raw disassembly shows a loop-selector sequence equivalent to: + +- search nearby items +- constrain by `item->shape == 0x04D0` +- use the current item as the search origin + +For each matching object: + +- call `Item.getFrame(item)` +- only continue on frame `0` +- call `Item::I_equip(pid, 0x17, item)` +- `suspend` + +So the first branch is not sounding an alarm by itself. It is driving nearby shape `0x04D0` objects into a specific equip/activation mode. + +### Branch 2: frame != 0 + +This branch only runs if `Item::I_isOnScreen(arg_06)` passes. + +It then performs another nearby search, this time using `item->family` with family value `6`. Inside that scan it uses: + +- `Actor::I_isNPC(...)` +- `Item::I_getZ(...)` +- a vertical-band test of `origin_z - 10 < candidate_z < origin_z + 10` + +The exact truth sense of the `Actor::I_isNPC` step is still slightly uncertain because we are reading it through the current pseudo-IR condition simplifier, but the script is clearly trying to qualify nearby actor-like entities in the same local vertical band before proceeding. + +If that actor/family gate succeeds, the script runs a second nearby shape search for `item->shape == 0x04D0`, again requiring frame `0` on the found object, then calls: + +```text +Item::I_equip(pid, 0x15, item) +``` + +followed by `suspend`. + +So the non-zero-frame branch is the more selective mode: it only arms the nearby `0x04D0` helper objects once a local visibility/actor-proximity condition is satisfied. + +## What shape `0x04D0` likely is + +The old disassembly corpus labels usecode class `0x04D0` as `MONSTER`. + +That does not prove every shape-id use of `0x04D0` is literally a monster actor object, but it is a strong clue that `ALARMHAT` is not interacting with an arbitrary visual prop. It is probably targeting a helper/actor class in the monster or hostile-response lane. + +This is the strongest reason not to read `ALARMHAT` as just a decorative siren hat sprite. The script is actively scanning for nearby `0x04D0` objects and equipping them. + +## Comparison to the rest of the alarm family + +`ALARMHAT` fits the broader alarm family, but it is not identical to the other alarm classes. + +### `ALARM_NS` and `ALARM_EW` + +These are tiny `enterFastArea` stubs. They mainly stamp info, exclude themselves from processing, and gate on a simple intrinsic. + +Those look like directional/environment trigger markers. + +### `ALRMTRIG` + +This class is a compact trigger/spawner. Its `equip` body branches on map/state and spawns `class_0A18_slot_20(...)` with different mode values. + +That looks more like an alarm-event relay. + +### `ALARMBOX` + +This is the closest comparator. + +`ALARMBOX::equip`: + +- uses the same `set_info(0x0211)` + `process_exclude()` prologue +- branches by local state and frame +- spawns different helper slots for low/high alarm states +- can also spawn `class_0A18_slot_20(...)` + +So `ALARMBOX` reads like a more explicit alarm control box, while `ALARMHAT` reads like a local accessory/controller that pushes nearby helper objects into one of two equip states. + +## Gameplay interpretation + +The safest gameplay-facing read is: + +`ALARMHAT` is an alarm-state accessory or controller item that toggles nearby hostile/helper objects between two alarm-response modes. + +The second mode only activates when the item is visible on screen and when a nearby actor-like entity qualifies within a narrow Z band, which strongly suggests local encounter awareness rather than a map-global trigger. + +In practical gameplay terms, the object likely does something like one of these: + +- wake up or arm nearby hostile responders +- switch nearby helper entities between idle and alert states +- mark a local alarm point as actively triggered once the player or another actor is nearby + +The name `ALARMHAT` therefore probably reflects object art or designer shorthand rather than a full behavior description. The script behavior is closer to `alarm accessory that equips nearby monster/helper actors into a response mode` than to `play a siren sound` or `flash a light`. + +## Confidence and uncertainty + +High confidence: + +- `ALARMHAT` has one live exported body, slot `0x0A equip` +- it uses the same `0x0211` alarm-family setup as `ALARMBOX` +- it branches on its own frame +- it performs nearby searches on shape `0x04D0` +- it calls `Item::I_equip(...)` on qualifying found objects with two different mode values: `0x17` and `0x15` +- the second mode is gated by on-screen and nearby actor/family checks + +Moderate confidence: + +- shape `0x04D0` is a monster/helper/hostile-response class rather than an inert prop +- the non-zero-frame branch is the alert or escalation state + +Lower confidence / still open: + +- the exact semantic meaning of equip modes `0x17` versus `0x15` +- the precise truth sense of the `Actor::I_isNPC`-named intrinsic inside the family-`6` scan +- whether `ALARMHAT` is physically a wearable-looking prop, a mounted alarm device, or a small controller object whose art happened to be named `HAT` + +## Current best rename-level takeaway + +Do not rename it yet. + +But the current best mental model is: + +`ALARMHAT = local alarm-state driver that equips nearby MONSTER/helper objects into one of two response modes depending on frame/state and nearby actor visibility.` \ No newline at end of file diff --git a/docs/usecode-equipment-system.md b/docs/usecode-equipment-system.md new file mode 100644 index 0000000..fe3189d --- /dev/null +++ b/docs/usecode-equipment-system.md @@ -0,0 +1,248 @@ +# Crusader USECODE Equipment System + +## Purpose + +This note records the current evidence-backed read of Crusader's surviving `equip` / `unequip` system. + +The short answer is: yes, a real inherited equipment-style event system survived into Crusader, but by this point it has been generalized far beyond RPG inventory handling. In Crusader, `equip` and `unequip` are standard item usecode events that many classes reuse for actor setup, turret arming, trap activation, alarm-state changes, and environmental control. + +## Short version + +The funny interpretation is half true and half misleading. + +What is true: + +- Crusader still has first-class `equip` and `unequip` item events. +- The live binary has dedicated intrinsics for them. +- The extracted USECODE corpus has a large number of slot `0x0A equip` and slot `0x0B unequip` bodies. +- Actor-like classes such as `NPC` and `MONSTER` really do implement `equip` bodies. + +What is misleading: + +- this is not yet proof of a fully intact Ultima-style paper-doll equipment subsystem +- many `equip` bodies are plainly being used as generalized state-change hooks rather than literal "put item on actor" logic +- alarms, sentries, guns, floors, conveyors, cameras, and hazard objects all reuse the same event vocabulary + +Current best read: + +Crusader inherited the Ultima 8 event names and event slots, then repurposed them into a broad object-activation vocabulary. The old RPG-flavored name `equip` survived, but its semantics widened into `apply mode / arm / initialize / attach behavior / activate state`. + +## Compiled-side proof + +The live `CRUSADER.EXE` session already has named intrinsic handlers for these events: + +- `10a0:2a35` = `Item_Equip` +- `10a0:2a68` = `Item_Unequip` +- nearby sibling `10a0:2b30` = `Item_EnterFastArea` + +The decompiler output for `Item_Equip` is the key proof: + +```c +word __cdecl16far Item_Equip(int *pitemno,uint dest) +{ + res = Usecode_ItemCallEvent(pitemno,0x400,UC_Equip,...); + if (res != 0) { + return in_stack_0000fffc; + } + return 0; +} +``` + +`Item_Unequip` is parallel: + +```c +word __cdecl16far Item_Unequip(int *pitemno,int val) +{ + res = Usecode_ItemCallEvent(pitemno,0x800,UC_Unequip,...); + if (res != 0) { + return in_stack_0000fffc; + } + return 0; +} +``` + +That proves several things immediately: + +1. `equip` and `unequip` are real compiled-side usecode events, not parser inventions. +2. They are gated by dedicated owner-row capability masks: `0x400` for equip and `0x800` for unequip. +3. The intrinsic does not directly manipulate an inventory table itself. It forwards into a generic item-event dispatcher. + +The central dispatcher decompiles as `Usecode_ItemCallEvent`. Its current Ghidra decompile explicitly comments it as a generic owner-row mask gate: + +- compute item usecode class id +- consult the owner-row table behind the runtime at `0x6611` +- test the supplied capability mask +- if the row supports the event, create a usecode process for the requested event + +That is the architectural core of the surviving system: `equip` and `unequip` are class capabilities, not hardwired game-engine special cases. + +## Cross-check against the engine source lineage + +ScummVM's Ultima8/Crusader code preserves the same event interpretation. + +In `engines/ultima/ultima8/world/item.cpp`: + +- `callUsecodeEvent_equipWithParam(param)` is explicitly documented as event `A` +- `callUsecodeEvent_unequipWithParam(param)` is explicitly documented as event `B` + +That source also shows the event neighborhood: + +- event `9` = release +- event `A` = equip +- event `B` = unequip +- event `C` = combine +- event `E` = called from anim +- event `F` = enter fast area +- event `10` = leave fast area +- event `11` = cast + +This strongly supports the idea that Crusader inherited an Ultima-style item event vocabulary wholesale and kept using it even after the gameplay moved away from a classic RPG. + +## How widespread it is in the extracted corpus + +The current exported pseudocode corpus contains: + +- `77` slot `0x0A equip` entries +- `50` slot `0x0B unequip` entries + +That is far too widespread to be accidental or restricted to a tiny one-off subsystem. + +The distribution is also telling: + +- actor/NPC classes: `NPC`, `MONSTER` +- turret/weapon classes: `BASEGUN`, `SENTRY`, `GATGUN*`, `WALGUN*`, `GOVGUN*` +- alarm/hazard/environment classes: `ALARMBOX`, `ALARMHAT`, `FFFLOOR`, `FLAMEBOX`, `STEAMBOX` +- cameras and movers: `CAM_*`, `EYECAM*`, `CONVEY_*`, `ROLL_*`, `HOVER*` + +So the names survived as a general event interface across many object families. + +## What `equip` means in practice + +### 1. General activation or state application + +Many non-actor classes use `equip` exactly the way a modern engine might use `activate`, `arm`, `enable`, or `set mode`. + +Representative example: `BASEGUN::equip` + +```text +set_info(0x0211, *(arg_06)); +process_exclude(); +spawn class_0A1A_slot_24(pid, arg_0A, ..., arg_06); +suspend; +``` + +Parallel example: `SENTRY::equip` + +Its exported pseudocode is the same structural pattern as `BASEGUN::equip`, and `SENTRY::unequip` mirrors the same shutdown logic as `BASEGUN::unequip`. + +That is not wearable-item behavior. It is a clean arm/disarm lifecycle. + +### 2. Alarm-state or environmental mode switching + +`ALARMBOX::equip` and `ALARMHAT::equip` are good examples of the generalized meaning. + +They both begin with: + +```text +set_info(0x0211, *(arg_06)); +process_exclude(); +``` + +Then they branch by frame/state and spawn or equip helper objects in specific response modes. + +`ALARMHAT` is especially illustrative because it calls `Item::I_equip(pid, 0x17, item)` and `Item::I_equip(pid, 0x15, item)` on nearby `shape 0x04D0` helper objects. That is exactly where the older RPG-flavored naming sounds absurdly literal, but the behavior is really `push nearby helper into alarm response mode`. + +### 3. NPC and monster setup + +Actor-facing classes really do implement `equip`, but the current evidence still points to scripted setup and state application rather than visible inventory slot management. + +Representative example: `NPC::equip` + +The exported body does not look like a paper-doll or inventory routine. It looks like a setup dispatcher keyed by `arg_0A`: + +- `arg_0A == 10`: reset, teleport to egg, gather several values, create or legalize the NPC/item context, then spawn `class_0A11_slot_29(...)` +- `arg_0A == 30`: read several values with `Intrinsic00DF(...)` +- `arg_0A == 31`: suspend +- `arg_0A == 1/2/3`: explicit but empty branches + +That reads much more like `apply initialization mode` or `run NPC setup variant` than `equip helmet`. + +Representative example: `MONSTER::equip` + +`MONSTER::equip` checks frame/state, stamps `0x0211`, then spawns `class_0A1E_slot_2D(pid, var, monster1, arg_06)` for a range of mode values. Again, that looks like a dispatcher for monster behavior setup or activation, not a visible inventory pane. + +## What `unequip` means in practice + +`unequip` is the paired shutdown or detachment event. + +Representative example: `BASEGUN::unequip` + +```text +set_info(0x0212, *(arg_06)); +process_exclude(); +if (Item.getStatus(arg_06) & 4) { + spawn class_0A1A_slot_27(arg_06); +} +``` + +`SENTRY::unequip` is the same pattern. + +That strongly suggests `unequip` has become the general reverse transition for classes that use `equip` as `arm` or `enable`. + +Environmental example: `FFFLOOR::unequip` + +This body does not resemble inventory logic at all. It scans nearby family-`6` objects, filters by overlap, and then spawns an actor-facing helper `class_0A11_slot_2D(retval, *(arg_06), item)` before suspending. + +So by the time we reach Crusader, `unequip` has clearly broadened into `deactivate / detach / reverse state / cleanup side effects`. + +## What survived from the RPG ancestor + +The surviving part is not just the word choice. The system architecture survived too: + +- item classes advertise event capabilities through owner-row mask bits +- the engine exposes generic intrinsics that dispatch into class-specific usecode handlers +- the event numbers remain organized in an Ultima-style item-event vocabulary +- actor and item classes both participate in the same event model + +That is exactly the kind of subsystem that makes sense as an inherited RPG engine layer which later got repurposed for an action game. + +## What we do not have yet + +We do **not** yet have proof of a fully intact classic RPG equipment layout such as: + +- fixed visible paper-doll slots +- a clean actor inventory table indexed by helmet/armor/weapon slots +- universal actor gear attachment semantics across all NPCs + +The current evidence is stronger for: + +- an inherited event vocabulary with `equip` / `unequip` +- class-specific scripted setup and mode application +- actor and environmental reuse of the same event names + +So the safe statement is: + +Crusader definitely has a hidden equipment **event system**. + +Crusader may also retain deeper actor-equipment semantics under that layer, but that is not yet proven from the current pass. + +## Current best model + +The most defensible current model is: + +1. Ultima-style item events `A = equip` and `B = unequip` survived into Crusader. +2. The compiled engine still dispatches them through generic item-event intrinsics. +3. Owner-row capability bits decide which classes support those events. +4. USECODE then interprets `equip` and `unequip` per class. +5. In Crusader, many classes reinterpret those events as `activate/deactivate`, `arm/disarm`, `initialize/teardown`, or `switch mode`, while actor-facing classes also use them for setup-like behavior. + +## Good follow-up targets + +The best next places to deepen this are: + +1. compare more actor-facing equip bodies (`NPC`, `MONSTER`, `ANDROID`, `AVATAR`) against each other +2. find compiled-side consumers of the value passed as the `equip` parameter to see whether it maps to actor slots, modes, or stance/state enums +3. recover more names around the helper slots repeatedly spawned from equip bodies, especially the `0A11`, `0A1A`, and `0A1E` families +4. check whether any actor-only classes expose both equip and unequip in ways that look like real gear attach/detach rather than generic initialization +5. decode more loop-selector idioms so actor/environment equip bodies become less VM-shaped +6. cross-check ScummVM Crusader actor/inventory code for surviving slot semantics that may still map to the retail binary \ No newline at end of file diff --git a/docs/usecode-jelyhack-analysis.md b/docs/usecode-jelyhack-analysis.md new file mode 100644 index 0000000..4e90739 --- /dev/null +++ b/docs/usecode-jelyhack-analysis.md @@ -0,0 +1,140 @@ +# JELYHACK USECODE Analysis + +## Scope + +This note focuses on the currently exported pseudocode and byte-level decode for `JELYHACK` class `277` / class id `0x04D3`, especially its only non-zero event body: slot `0x01` (`use`). + +Current generated pseudocode lives at: + +- `USECODE/EUSECODE_extracted/pseudocode/JELYHACK/slot_01_use.txt` +- `USECODE/EUSECODE_extracted/pseudocode/JELYH2/slot_01_use.txt` + +## Direct decompilation result + +Current readable decompilation for `JELYHACK::use`: + +```text +function jelyhack_use() /* entry=277 class_id=0x04D3 slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + return; + +} +``` + +Byte-faithful decode of the same body: + +```text +00D4: 5A init local_bytes=0x0 +00D6: 5C symbol_info symbol=JELYHACK +00E2: 0B push_word_immediate value_u16=0x0207 +00E5: 40 push_local_dword [BP+06h] +00E7: 4C push_indirect size=0x2 +00E9: 77 set_info +00EA: 78 process_exclude +00EB: 5B line_number line_number=0x00DB +00EE: 50 ret +``` + +The parser still sees bytes after `ret`, but on the current readable pass they are intentionally elided because control has already returned. Those post-`ret` bytes are identical between `JELYHACK` and `JELYH2`, so they do not currently support any class-specific behavioral claim. + +## What is directly supported + +1. `JELYHACK` is not an active event hub in the same sense as `EVENT`, `NPCTRIG`, or `_BOOT` classes. +2. Its only non-zero slot is `0x01` (`use`), with `raw_event_entry_word = 0x002A`, `raw_code_offset = 0x00000001`, and body range `0x00D4..0x00FE` (`42` bytes). +3. The actual readable body before return is tiny: one `set_info(0x0207, *(arg_06))`, one `process_exclude()`, then return. +4. `JELYH2` is the same script body for practical purposes. The only pre-return differences are the symbol label string and line-number metadata; control flow and active ops are otherwise the same. +5. `JELYHACK` still exposes only the `referent` field on the descriptor side, which keeps it in the `referent-anchor` category rather than the event-bearing category. + +## Comparison against the exported pseudocode corpus + +The `JELYHACK::use` body is not unique. Normalizing away only the function header, the exact same readable body currently appears in these seven exports: + +- `AVATAR/slot_01_use.txt` +- `GRAVITON/slot_01_use.txt` +- `IONIC/slot_01_use.txt` +- `JELYHACK/slot_01_use.txt` +- `JELYH2/slot_01_use.txt` +- `PLASMA/slot_01_use.txt` +- `WEA_BOOT/slot_01_use.txt` + +That matters because it argues against a special-purpose `JELYHACK` event implementation. The more defensible reading is that this is one small generic `use` stub reused across several classes. + +There is also a second useful comparison: other classes often start with the same `set_info(...); process_exclude();` prologue and then continue into much richer logic. `DATALINK::use` is a good example: it begins with the same opening but then expands into a larger branch-heavy routine. So the `set_info/process_exclude` pair is best treated as a common preamble, not the whole semantic payload of a class family. + +## What `JELYHACK::use` most likely does + +Current safest reading: + +- It performs a small generic `use`-entry setup using info id `0x0207` and the dereferenced word at `arg_06`. +- It then marks the current process or handler for exclusion/suppression through `process_exclude()`. +- It does not itself implement the richer trigger logic one would expect from an active gameplay event script. + +The unresolved part is the exact gameplay meaning of `set_info(0x0207, *(arg_06))`. The exported corpus shows this exact pattern in multiple unrelated classes, so `0x0207` currently looks more like a shared UI/message/interaction setup code than a JELYHACK-specific action. + +## What it probably does not do + +The current evidence argues against several stronger claims: + +- It is probably not the main script that drives the JELYHACK gameplay behavior by itself. +- It is probably not the actual event-bearing payload that reaches the richer runtime opcode lanes recovered around `000d:208b`, `000d:21ed`, and `000d:22bc`. +- It is probably not a unique script template specialized only for the JELYHACK object. + +## Relationship to JELYH2 and the surrounding island + +`JELYHACK` and `JELYH2` remain the clearest referent-anchor twins in the extracted USECODE data: + +- same lone live slot `0x01` +- same event-table row shape (`0x002A / 0x00000001`) +- same `42`-byte body length +- same readable `use` body before return +- same descriptor-side role: `referent-anchor` + +This fits the broader neighborhood evidence already captured elsewhere: + +- `JELYHACK` / `JELYH2` sit beside event-bearing neighbors such as `REE_BOOT`, `SURCAMEW`, and `SFXTRIG` +- those neighbors expose `event` or `eventTrigger` fields and carry materially richer behavior bodies +- the current best model is therefore still `referent anchor + neighboring event-bearing attachment`, not `JELYHACK as a standalone active event core` + +## Comparison with nearby event-bearing neighbors + +The generated pseudocode reinforces that split. + +`REE_BOOT` slot `0x0A` and `SFXTRIG` slot `0x0A` diverge immediately from the JELYHACK body: + +- they use `set_info(0x0211, *(arg_06))` instead of `0x0207` +- they perform status checks, helper calls, spawns, waits/suspends, and other active logic +- they therefore look like genuine event-bearing routines rather than passive anchor stubs + +`DATALINK` slot `0x01` is also instructive in the other direction: + +- it starts with the same `set_info/process_exclude` preamble +- but it then continues into a much larger routine +- so the shared opening is not enough to classify a body as anchor-only or event-bearing by itself + +## Current best conclusion + +The decompiled `JELYHACK::use` body is important mainly because it supports a negative result cleanly: + +- `JELYHACK` is not hiding a large active event script in its only live slot +- its visible `use` handler is a minimal generic stub shared with several other classes +- the interesting gameplay semantics around the JELYHACK island are still more likely to live in neighboring event-bearing descriptors attached to the same referent context + +So the current best human-readable model remains: + +```text +anchor JELYHACK(referent) +anchor JELYH2(referent) + +use: + set_info(shared_use_code_0x0207, deref(arg_06)) + process_exclude() + return + +actual island behavior: + likely carried by neighboring event-bearing attachments such as REE_BOOT / SURCAMEW / SFXTRIG +``` + +That is a stronger and cleaner claim than the older vague label `referent anchor`: the exported pseudocode now shows that the anchor really does have code, but the code is a tiny shared interaction stub, not the island's main behavior engine. \ No newline at end of file diff --git a/docs/usecode-tool-improvement-plan.md b/docs/usecode-tool-improvement-plan.md new file mode 100644 index 0000000..bcaa033 --- /dev/null +++ b/docs/usecode-tool-improvement-plan.md @@ -0,0 +1,248 @@ +# USECODE Tool Improvement Plan + +## Purpose + +This note turns the earlier tooling comparison into a concrete improvement plan for the local parser/decompiler. + +The intent is not to copy Pentagram or `crusader-disasm` wholesale. The intent is to extract the parts that are genuinely useful for the current workspace toolchain: + +- `tools/poc_crusader_usecode_parser.py` +- `tools/export_usecode_pseudocode.py` +- the extracted owner-loaded corpus under `USECODE/EUSECODE_extracted/` + +## Short version + +The most useful next upgrades are: + +1. make the decoder tables more authoritative +2. decode loop/selector idioms into real structured searches +3. improve intrinsic naming and signatures +4. distinguish code from trailers more rigorously +5. add corpus-level pattern clustering and family annotations +6. keep strengthening the runtime bridge back into the retail binary + +## Priority 1: Authoritative opcode metadata + +### What to borrow + +From Pentagram and `crusader-disasm`: + +- stable opcode names +- operand-shape knowledge +- special handling for records like `SYMBOL_INFO`, `LINE_NUMBER`, `PROCESS_EXCLUDE`, and `END` + +### Why it matters + +The current parser already decodes enough to produce readable pseudocode, but some opcodes are still treated more heuristically than declaratively. That is fine for proof-of-concept output, but it becomes fragile once more control-flow and loop idioms are added. + +### Concrete change + +Move the per-opcode knowledge into a single explicit table describing: + +- mnemonic +- stack effect where known +- immediate layout +- control-flow behavior +- whether the opcode is normal code, metadata, or trailer-oriented +- whether the opcode participates in loop selector mini-languages + +### Expected payoff + +- fewer ad hoc decode branches +- easier regression testing against the text corpus +- cleaner IR for later restructuring passes + +## Priority 2: Real loop/selector decoding + +### What to borrow + +From the older disassembly corpus: + +- the meaning of `loopscr` tokens such as `end`, `==`, `item->shape`, `item->family`, and typed literal selectors +- the visible repeated patterns in alarm-family and trigger-family bodies + +### Why it matters + +Right now the parser preserves loop selector bytes faithfully, but readable pseudocode still shows comments like `loopscr value_u8=0x40` instead of the underlying search semantics. + +That is the main reason scripts like `ALARMHAT` still read as partially machine-shaped even though the overall behavior is already understandable. + +### Concrete change + +Introduce a small loop-selector IR layer so common loop forms render as something closer to: + +```text +for item in nearby_items(shape=0x04D0, origin=arg_06): +``` + +or: + +```text +for candidate in nearby_items(family=6, origin=arg_06): +``` + +The first target is not full generality. The first target is the set of repeated loop forms already seen in: + +- `NPCTRIG` +- `ALARMHAT` +- `ALARMBOX` +- `ALRMTRIG` +- nearby environmental families + +### Expected payoff + +- much better readability for object-searching scripts +- better gameplay interpretation of trigger/controller classes +- a cleaner path to naming common search idioms + +## Priority 3: Better intrinsic naming and signatures + +### What to borrow + +From Pentagram and `crusader-disasm`: + +- historical intrinsic names +- text-mined call arities and stack cleanup behavior +- rough prototype guesses from the older corpus tools + +### Why it matters + +Readable pseudocode is bottlenecked less by control flow now and more by anonymous calls like `Intrinsic0007()` or generic placeholders like `class_0A18_slot_20(...)`. + +The older tool lines already contain partial information that can improve this materially, as long as it is treated as hint-quality evidence rather than rename authority. + +### Concrete change + +Build a local intrinsic metadata table with confidence levels: + +- `verified` +- `strong hint` +- `weak hint` + +Populate it from: + +- Pentagram tables +- `usecode_opcodes.txt` +- mined `calli`/`add sp` patterns from `crusader_disasm.txt` +- current repo notes where compiled-side names are already justified + +### Expected payoff + +- more readable pseudocode +- safer future promotion of intrinsic names +- less confusion between Remorse-only, Regret-only, and cross-game vocabulary + +## Priority 4: Explicit code-versus-trailer boundaries + +### What to borrow + +From Pentagram's symbol-info/debug-symbol handling: + +- the idea that `0x5C` points into structured trailer data +- the practical distinction between executable body and debug/local trailer rows + +### Why it matters + +The JELYHACK pass already showed how important this is. Tiny scripts are easy to misread if post-`ret` metadata gets rendered as live code. + +The current parser now avoids that in readable pseudocode, but the boundary logic should become a first-class part of the IR rather than a readability-only safeguard. + +### Concrete change + +Make trailer parsing explicit in the IR: + +- code extent +- trailer extent +- debug symbol rows +- line-number records +- terminal `END` + +### Expected payoff + +- safer whole-corpus export +- better local naming and source-like output +- fewer false positives when mining repeated code bodies + +## Priority 5: Corpus-level pattern clustering + +### What to borrow + +From the `crusader-disasm` corpus mindset: + +- treat the full body set as a searchable evidence base, not only as isolated scripts + +### Why it matters + +The JELYHACK result was only obvious after repeated-body comparison showed it was a small shared stub. The same strategy can keep the decompiler honest elsewhere. + +### Concrete change + +Add corpus analysis helpers that cluster or index: + +- exact repeated bodies +- normalized repeated bodies +- repeated loop-selector templates +- repeated spawn/call templates by class and slot + +Those results should feed back into readable annotations like: + +- `shared interaction stub` +- `alarm-family controller template` +- `common trigger setup pattern` + +### Expected payoff + +- faster triage of interesting scripts +- better distinction between generic templates and unique gameplay logic +- fewer overinterpretations of tiny bodies + +## Priority 6: Stronger runtime bridge and import path + +### What to borrow + +From the local repo workflow rather than directly from Pentagram: + +- the current runtime anchors already recorded in `runtime_vm_ir.tsv` +- the Ghidra-side annotation path planned in the USECODE notes + +### Why it matters + +The parser is strongest when its readable output can be tied back to the compiled loader and sequencer. That keeps the decompiler grounded instead of drifting into pure script aesthetics. + +### Concrete change + +Expand the export and annotation path so pseudocode/index output can carry verified runtime anchors where known, especially around: + +- `000d:51fd` +- `000d:5572` +- `000d:46ec` +- `000d:21ed` +- `000d:22bc` +- `000d:ebe3` + +### Expected payoff + +- easier Ghidra-side correlation +- safer promotion of slot/event names +- better compiled-to-script navigation + +## Suggested implementation order + +1. stabilize opcode metadata tables +2. formalize trailer parsing in IR +3. implement first real loop-selector decoder for common `shape` and `family` searches +4. add intrinsic metadata with confidence levels +5. add corpus clustering/index helpers +6. extend runtime-anchor export/import integration + +## What not to do yet + +- Do not chase full round-tripping first. Readability is still the higher-value frontier. +- Do not mass-promote intrinsic or event names from Pentagram or the old disasm corpus without current-binary support. +- Do not try to solve every loop/selector form before landing the small repeated set that already appears across the alarm and trigger families. + +## Current best next step + +The most leverage is in loop-selector decoding. + +That is the place where the older tools still give us directly reusable structure and where the current readable output most obviously needs another step forward. \ No newline at end of file diff --git a/docs/usecode-tooling-comparison.md b/docs/usecode-tooling-comparison.md new file mode 100644 index 0000000..dc2d4f5 --- /dev/null +++ b/docs/usecode-tooling-comparison.md @@ -0,0 +1,282 @@ +# USECODE Tooling Comparison + +## Purpose + +This note compares three different USECODE-facing tool lines now in use around the Crusader work: + +1. Pentagram's built-in Crusader usecode converter/disassembler +2. the local `crusader-disasm` corpus and helper scripts +3. the current workspace parser/decompiler in `tools/poc_crusader_usecode_parser.py` + +The goal is not to rank them abstractly. The goal is to state what each one is actually good at, what assumptions it bakes in, and why the current local parser had to diverge. + +## Short version + +Pentagram is a game-engine-side disassembler/converter with generic Crusader hooks. + +`crusader-disasm` is mostly a generated disassembly corpus plus small maintenance scripts that mine or preserve information from that corpus. + +Our current parser is the first tool in this workspace that is explicitly built around the validated owner-loaded `EUSECODE.FLX` structure recovered from the retail binary and then pushed further into readable pseudocode export. + +## Pentagram: what it does + +The relevant Pentagram pieces are: + +- `convert/crusader/ConvertUsecodeCrusader.h` +- `convert/Convert.h` +- `tools/disasm/Disasm.cpp` +- `usecode/UsecodeFlex.cpp` + +### Pentagram's model + +Pentagram is trying to solve a different problem from our current script. It is not primarily a workspace extraction/decompilation pipeline. It is an engine-aware converter/disassembler that sits on top of Pentagram's own USECODE model. + +Its Crusader-specific logic provides: + +- an event-name table for slots `0x00..0x1f` +- an intrinsic-name table +- a Crusader header reader +- Crusader event-table decoding through `readevents` +- Crusader opcode parsing by routing into the generic `readOpGeneric(..., crusader=true)` path + +### What Pentagram assumes + +Pentagram's class/container assumptions come from its own `UsecodeFlex` and converter model: + +- class bodies are addressed as object `classid + 2` +- class names come from object `1` +- the Crusader base offset comes from bytes `8..11`, then decremented by `1` +- event count is derived as `(base_offset + 19) / 6` +- disassembly is driven from the converter header and event table, not from our later owner-loaded extractor outputs + +That is close enough to be extremely useful, but it is not the same as the now-validated local owner-loaded reading we use in this repo. + +### What Pentagram outputs well + +Pentagram is strong at: + +- linear opcode disassembly +- printing BP/SP-relative references in a readable way +- mapping class/slot offsets to event names +- following opcode `0x5C` symbol-info records into trailing local/debug symbol data +- printing those debug symbols after the code body + +The JELYHACK example is a good illustration. Pentagram's disassembly prints: + +```text +Func_1 (Event 1) JELYHACK::use(): + 0001: 5A init 00 + 0003: 5C symbol info offset 001Ch = "JELYHACK" + 000F: 0B push 0207h + 0012: 40 push dword [BP+06h] + 0014: 4C push indirect 02h bytes + 0016: 77 set info + 0017: 78 process exclude + 0018: 5B line number 219 (00DBh) + 001B: 50 ret +00: 01 type=69 (i) [BP+00h] (00) 00 referent + 002A: 7A end +``` + +That is still one of the clearest proofs that the post-`ret` region contains local/debug-style metadata, not active control flow. + +### Where Pentagram stops short for this repo + +Pentagram is not built around our current local needs: + +- it does not consume `class_layout_index.tsv`, `class_event_index.tsv`, or the extracted chunk corpus +- it does not expose a workspace-friendly IR +- it does not attach our verified runtime anchors from `runtime_vm_ir.tsv` +- it does not export batch pseudocode for the whole `EUSECODE` corpus +- it still reflects a converter/disassembler view, not a readability-first decompiler view +- its Crusader intrinsic table is explicitly mixed with Regret-era knowledge and is useful as a hint table, not rename authority + +So Pentagram gave us crucial structure and vocabulary, but not the repo-specific decompilation pipeline we needed. + +## crusader-disasm: what it does + +The local `crusader-disasm` tree is different again. It is not one coherent parser in the same way Pentagram is. It is a mixture of: + +- a large generated disassembly corpus in `crusader_disasm.txt` +- opcode-name tables such as `usecode_opcodes.txt` +- small maintenance scripts such as `parse_crusader_disasm.py` and `update_disasm_comments.py` +- handwritten notes and side data gathered over time + +### What `crusader-disasm` is strongest at + +Its biggest strength is that it is already a rich evidence corpus. + +`usecode_opcodes.txt` gives a full opcode-name vocabulary such as: + +- `0x04 ASSIGN_MEMBER_CHAR` +- `0x10 NEAR_ROUTINE_CALL` +- `0x5C SYMBOL_INFO` +- `0x78 PROCESS_EXCLUDE` +- `0x7A END` + +That helped verify several names and fill decode gaps in our parser. + +The generated `crusader_disasm.txt` is also valuable because it shows concrete output form, not just names. It proved things like: + +- how `symbol info` is rendered +- where local/debug symbol rows appear +- what a tiny body like `JELYHACK::use` looks like in a traditional disassembly listing + +### What the helper scripts actually do + +The helper scripts in `crusader-disasm` are narrow and pragmatic. + +`parse_crusader_disasm.py`: + +- scans an already-generated `crusader_disasm.txt` +- looks for `calli` lines, nearby `add sp`, and retval pushes +- infers rough intrinsic prototypes from the text listing +- emits a guessed intrinsic table + +That means it is not parsing `EUSECODE.FLX` directly. It is mining structure from a pre-rendered textual disassembly. + +`update_disasm_comments.py`: + +- merges comments from an older disassembly into an updated regenerated one +- preserves manual annotations when intrinsic names change + +So this is again a maintenance aid around a text corpus, not a first-principles byte parser. + +### Where `crusader-disasm` stops short for this repo + +`crusader-disasm` is excellent evidence, but weak as a live decompilation pipeline: + +- it does not operate on our extracted owner-loaded chunk/index data +- it does not produce structured IR +- it does not know our validated body windows from `class_event_index.tsv` +- it does not emit script/pseudocode views +- it does not integrate runtime-anchor hints from the current RE notes +- some of its information is annotation-quality and corpus-quality rather than machine-robust parser output + +In practice, `crusader-disasm` has been most useful as a vocabulary/evidence source, not as the final tool we run to generate the readable corpus. + +## Our current parser/decompiler: what it does differently + +The current local tool line is centered on: + +- `tools/extract_eusecode_flx.py` +- `tools/poc_crusader_usecode_parser.py` +- `tools/export_usecode_pseudocode.py` + +### 1. It is built around the validated owner-loaded local format + +This is the biggest difference. + +Our parser does not start from Pentagram's generic converter header model or from a pre-rendered disassembly text file. It starts from the extracted local artifacts and the currently validated retail-binary understanding: + +- `class_id + 2` body lookup +- bytes `8..11` treated as the first code-byte anchor / `code_base_minus_one` basis +- 6-byte event rows at `+20` +- derived body ranges emitted into `class_event_index.tsv` +- chunk files under `USECODE/EUSECODE_extracted/chunks/` + +That is why it can decompile the actual extracted corpus in a repeatable workspace-local way. + +### 2. It separates authoritative IR from readable views + +Pentagram and `crusader-disasm` mostly produce one human-facing linear listing. + +Our parser deliberately splits output into layers: + +- JSON IR for machine-facing structure +- flat text listing for byte-faithful decode +- script view for stack-machine readability +- pseudocode view for programming-language-like readability +- batch export of that pseudocode corpus into `USECODE/EUSECODE_extracted/pseudocode` + +That separation is what let us make JELYHACK readable without losing the exact bytes and trailer structure. + +### 3. It handles post-`ret` metadata differently + +Pentagram already knew about debug symbols through `0x5C` and `readDbgSymbols()`. + +The important difference is that our parser had to make that logic safe in the extracted-corpus setting: + +- it now detects ret-anchored debug/local trailers explicitly +- it avoids mis-decoding those bytes as live opcodes on bodies like `NPCTRIG 0x0A` +- it exposes debug symbols in the IR and readable views +- it now hides dead post-return junk from the human pseudocode when readability matters more than raw listing fidelity + +So Pentagram gave the structural clue, but our parser had to adapt it to the owner-loaded extracted corpus and to the readability-first output mode. + +### 4. It adds runtime cross-reference hints that the older tools do not + +Our parser attaches the verified runtime bridge information from `runtime_vm_ir.tsv` and related notes, such as: + +- `000d:0988` +- `000d:177c` +- `000d:1acb` +- `000d:208b` +- `000d:21ed` +- `000d:22bc` +- `000d:2104` +- `000d:46ec` +- `000d:ebe3` + +Neither Pentagram nor `crusader-disasm` is doing that kind of live repo-specific runtime correlation. + +### 5. It is aimed at whole-corpus readability, not only opcode fidelity + +This is the most visible practical difference. + +Pentagram and `crusader-disasm` are good at telling you what bytes and opcodes are present. + +Our current script is trying to answer a different question too: + +`What does this class body seem to do, in language a human can scan?` + +That is why the current parser now: + +- names locals where the debug trailer provides them +- folds compare ladders into `if / else if` +- suppresses dead post-`ret` tail noise in pseudocode +- exports the whole decoded corpus into per-class pseudocode files + +That is the main place where our script now goes beyond the older tools. + +## What the older tools still do better + +This is not a one-way replacement story. + +Pentagram still does some things better than our current script: + +- broader mature generic opcode conversion framework +- a cleaner historical disassembler path for symbol-info and debug-symbol printing +- a converter architecture that already knows how to build node-like structures for many ops + +`crusader-disasm` still does some things better too: + +- richer long-lived annotation corpus +- a larger existing body of older naming/vocabulary experiments +- a direct opcode-name table from a distinct extraction route +- concrete disassembly output that is sometimes easier to cross-check than a newer heuristic pseudocode layer + +So the best current workflow is still hybrid: + +- use Pentagram for structural/reference behavior +- use `crusader-disasm` for opcode vocabulary and corpus evidence +- use the local parser for validated owner-loaded extraction, IR, pseudocode, and batch readability export + +## Best current summary + +Pentagram is a converter/disassembler. + +`crusader-disasm` is a disassembly corpus with helper scripts. + +Our script is the first repo-local tool that is explicitly trying to be a readable decompiler over the validated extracted `EUSECODE` corpus. + +That is why the current parser looks less like a classic disassembler and more like a layered RE workbench: + +- extractor-backed local format understanding +- structured IR +- byte-faithful listing +- readability-first script/pseudocode views +- batch corpus export +- runtime-annotation hints tied to the current Crusader notes + +The tradeoff is that our current script is newer and more heuristic. It is better at producing something a human can read across the whole corpus, but it is not yet as mature or as battle-tested at raw opcode coverage as the older reference tools. \ No newline at end of file diff --git a/npctrig_0A_emit.txt b/npctrig_0A_emit.txt new file mode 100644 index 0000000..bcecef1 --- /dev/null +++ b/npctrig_0A_emit.txt @@ -0,0 +1,1473 @@ +{ + "schema_version": "crusader-usecode-ir-v1-poc", + "source": { + "flex_path": "USECODE/EUSECODE.FLX", + "extracted_root": "USECODE/EUSECODE_extracted", + "chunk_file": "USECODE/EUSECODE_extracted/chunks/chunk_191_table_1BA8_off_04C347_len_0003A8.bin" + }, + "class": { + "entry_index": 191, + "object_index": 869, + "class_id": 867, + "class_name": "NPCTRIG", + "raw_code_base_u32": 218, + "code_base_minus_one": 217, + "conservative_event_count": 33 + }, + "event": { + "slot": 10, + "event_name_hint": "equip", + "raw_event_entry_word": 373, + "raw_code_offset": 1, + "derived_body_start": 218, + "derived_body_end": 591, + "derived_body_length": 373, + "repeated_template_status": "" + }, + "body": { + "end_reason": "debug_symbols_then_end", + "raw_body_sha1": "98524ea452eae2723f4b27e630c33a920c16def7", + "unknown_trailing_bytes": "", + "decoded_op_count": 111, + "debug_symbol_offset": 323, + "debug_symbol_count": 5, + "field_tag_count": 0 + }, + "ops": [ + { + "offset": 0, + "absolute_body_offset": 218, + "opcode": 90, + "mnemonic": "init", + "raw_bytes": "5a06", + "operands": { + "local_bytes": 6 + } + }, + { + "offset": 2, + "absolute_body_offset": 220, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c3e014e5043545249470000", + "operands": { + "symbol_offset": 323, + "symbol": "NPCTRIG", + "trailing_zero": 0 + } + }, + { + "offset": 14, + "absolute_body_offset": 232, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b1102", + "operands": { + "value_u16": 529 + } + }, + { + "offset": 17, + "absolute_body_offset": 235, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 19, + "absolute_body_offset": 237, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 21, + "absolute_body_offset": 239, + "opcode": 119, + "mnemonic": "set_info", + "raw_bytes": "77", + "operands": {} + }, + { + "offset": 22, + "absolute_body_offset": 240, + "opcode": 120, + "mnemonic": "process_exclude", + "raw_bytes": "78", + "operands": {} + }, + { + "offset": 23, + "absolute_body_offset": 241, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2000", + "operands": { + "line_number": 32 + } + }, + { + "offset": 26, + "absolute_body_offset": 244, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1f00", + "operands": { + "line_number": 31 + } + }, + { + "offset": 29, + "absolute_body_offset": 247, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 31, + "absolute_body_offset": 249, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 4, + "intrinsic_name_hint": "Item::getStatus(void)" + } + }, + { + "offset": 35, + "absolute_body_offset": 253, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 37, + "absolute_body_offset": 255, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 38, + "absolute_body_offset": 256, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2000", + "operands": { + "line_number": 32 + } + }, + { + "offset": 41, + "absolute_body_offset": 259, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b0010", + "operands": { + "value_u16": 4096 + } + }, + { + "offset": 44, + "absolute_body_offset": 262, + "opcode": 57, + "mnemonic": "bit_and", + "raw_bytes": "39", + "operands": {} + }, + { + "offset": 45, + "absolute_body_offset": 263, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510600", + "operands": { + "relative_u16": 6, + "relative_signed": 6, + "target_offset": 54 + } + }, + { + "offset": 48, + "absolute_body_offset": 266, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2100", + "operands": { + "line_number": 33 + } + }, + { + "offset": 51, + "absolute_body_offset": 269, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "520901", + "operands": { + "relative_u16": 265, + "relative_signed": 265, + "target_offset": 319 + } + }, + { + "offset": 54, + "absolute_body_offset": 272, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2400", + "operands": { + "line_number": 36 + } + }, + { + "offset": 57, + "absolute_body_offset": 275, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b0010", + "operands": { + "value_u16": 4096 + } + }, + { + "offset": 60, + "absolute_body_offset": 278, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 62, + "absolute_body_offset": 280, + "opcode": 17, + "mnemonic": "call_class_event", + "raw_bytes": "111e0a2300", + "operands": { + "target_class_id": 2590, + "target_event_slot": 35, + "target_event_name_hint": null + } + }, + { + "offset": 67, + "absolute_body_offset": 285, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 69, + "absolute_body_offset": 287, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 71, + "absolute_body_offset": 289, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 73, + "absolute_body_offset": 291, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 74, + "absolute_body_offset": 292, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512700", + "operands": { + "relative_u16": 39, + "relative_signed": 39, + "target_offset": 116 + } + }, + { + "offset": 77, + "absolute_body_offset": 295, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2c00", + "operands": { + "line_number": 44 + } + }, + { + "offset": 80, + "absolute_body_offset": 298, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 81, + "absolute_body_offset": 299, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bfd02", + "operands": { + "value_u16": 765 + } + }, + { + "offset": 84, + "absolute_body_offset": 302, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 86, + "absolute_body_offset": 304, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "57020263032000", + "operands": { + "arg_bytes": 2, + "this_size": 2, + "target_class_id": 867, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 93, + "absolute_body_offset": 311, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 95, + "absolute_body_offset": 313, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 96, + "absolute_body_offset": 314, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 99, + "absolute_body_offset": 317, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 100, + "absolute_body_offset": 318, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 101, + "absolute_body_offset": 319, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cdb004e5043545249470000", + "operands": { + "symbol_offset": 323, + "symbol": "NPCTRIG", + "trailing_zero": 0 + } + }, + { + "offset": 113, + "absolute_body_offset": 331, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52bc00", + "operands": { + "relative_u16": 188, + "relative_signed": 188, + "target_offset": 304 + } + }, + { + "offset": 116, + "absolute_body_offset": 334, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 118, + "absolute_body_offset": 336, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a02", + "operands": { + "value_u8": 2, + "value_signed": 2 + } + }, + { + "offset": 120, + "absolute_body_offset": 338, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 121, + "absolute_body_offset": 339, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512700", + "operands": { + "relative_u16": 39, + "relative_signed": 39, + "target_offset": 163 + } + }, + { + "offset": 124, + "absolute_body_offset": 342, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3100", + "operands": { + "line_number": 49 + } + }, + { + "offset": 127, + "absolute_body_offset": 345, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 128, + "absolute_body_offset": 346, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8403", + "operands": { + "value_u16": 900 + } + }, + { + "offset": 131, + "absolute_body_offset": 349, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 133, + "absolute_body_offset": 351, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "57020263032000", + "operands": { + "arg_bytes": 2, + "this_size": 2, + "target_class_id": 867, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 140, + "absolute_body_offset": 358, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 142, + "absolute_body_offset": 360, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 143, + "absolute_body_offset": 361, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 146, + "absolute_body_offset": 364, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 147, + "absolute_body_offset": 365, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 148, + "absolute_body_offset": 366, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cac004e5043545249470000", + "operands": { + "symbol_offset": 323, + "symbol": "NPCTRIG", + "trailing_zero": 0 + } + }, + { + "offset": 160, + "absolute_body_offset": 378, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "528d00", + "operands": { + "relative_u16": 141, + "relative_signed": 141, + "target_offset": 304 + } + }, + { + "offset": 163, + "absolute_body_offset": 381, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 165, + "absolute_body_offset": 383, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a03", + "operands": { + "value_u8": 3, + "value_signed": 3 + } + }, + { + "offset": 167, + "absolute_body_offset": 385, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 168, + "absolute_body_offset": 386, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512700", + "operands": { + "relative_u16": 39, + "relative_signed": 39, + "target_offset": 210 + } + }, + { + "offset": 171, + "absolute_body_offset": 389, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3600", + "operands": { + "line_number": 54 + } + }, + { + "offset": 174, + "absolute_body_offset": 392, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 175, + "absolute_body_offset": 393, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b7103", + "operands": { + "value_u16": 881 + } + }, + { + "offset": 178, + "absolute_body_offset": 396, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 180, + "absolute_body_offset": 398, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "57020263032000", + "operands": { + "arg_bytes": 2, + "this_size": 2, + "target_class_id": 867, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 187, + "absolute_body_offset": 405, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 189, + "absolute_body_offset": 407, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 190, + "absolute_body_offset": 408, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 193, + "absolute_body_offset": 411, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 194, + "absolute_body_offset": 412, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 195, + "absolute_body_offset": 413, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c7d004e5043545249470000", + "operands": { + "symbol_offset": 323, + "symbol": "NPCTRIG", + "trailing_zero": 0 + } + }, + { + "offset": 207, + "absolute_body_offset": 425, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "525e00", + "operands": { + "relative_u16": 94, + "relative_signed": 94, + "target_offset": 304 + } + }, + { + "offset": 210, + "absolute_body_offset": 428, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 212, + "absolute_body_offset": 430, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a04", + "operands": { + "value_u8": 4, + "value_signed": 4 + } + }, + { + "offset": 214, + "absolute_body_offset": 432, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 215, + "absolute_body_offset": 433, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512700", + "operands": { + "relative_u16": 39, + "relative_signed": 39, + "target_offset": 257 + } + }, + { + "offset": 218, + "absolute_body_offset": 436, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3b00", + "operands": { + "line_number": 59 + } + }, + { + "offset": 221, + "absolute_body_offset": 439, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 222, + "absolute_body_offset": 440, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bd104", + "operands": { + "value_u16": 1233 + } + }, + { + "offset": 225, + "absolute_body_offset": 443, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 227, + "absolute_body_offset": 445, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "57020263032000", + "operands": { + "arg_bytes": 2, + "this_size": 2, + "target_class_id": 867, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 234, + "absolute_body_offset": 452, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 236, + "absolute_body_offset": 454, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 237, + "absolute_body_offset": 455, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 240, + "absolute_body_offset": 458, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 241, + "absolute_body_offset": 459, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 242, + "absolute_body_offset": 460, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c4e004e5043545249470000", + "operands": { + "symbol_offset": 323, + "symbol": "NPCTRIG", + "trailing_zero": 0 + } + }, + { + "offset": 254, + "absolute_body_offset": 472, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "522f00", + "operands": { + "relative_u16": 47, + "relative_signed": 47, + "target_offset": 304 + } + }, + { + "offset": 257, + "absolute_body_offset": 475, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 259, + "absolute_body_offset": 477, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a05", + "operands": { + "value_u8": 5, + "value_signed": 5 + } + }, + { + "offset": 261, + "absolute_body_offset": 479, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 262, + "absolute_body_offset": 480, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512700", + "operands": { + "relative_u16": 39, + "relative_signed": 39, + "target_offset": 304 + } + }, + { + "offset": 265, + "absolute_body_offset": 483, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4000", + "operands": { + "line_number": 64 + } + }, + { + "offset": 268, + "absolute_body_offset": 486, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 269, + "absolute_body_offset": 487, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bb401", + "operands": { + "value_u16": 436 + } + }, + { + "offset": 272, + "absolute_body_offset": 490, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 274, + "absolute_body_offset": 492, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "57020263032000", + "operands": { + "arg_bytes": 2, + "this_size": 2, + "target_class_id": 867, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 281, + "absolute_body_offset": 499, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 283, + "absolute_body_offset": 501, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 284, + "absolute_body_offset": 502, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 287, + "absolute_body_offset": 505, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 288, + "absolute_body_offset": 506, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 289, + "absolute_body_offset": 507, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c1f004e5043545249470000", + "operands": { + "symbol_offset": 323, + "symbol": "NPCTRIG", + "trailing_zero": 0 + } + }, + { + "offset": 301, + "absolute_body_offset": 519, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "520000", + "operands": { + "relative_u16": 0, + "relative_signed": 0, + "target_offset": 304 + } + }, + { + "offset": 304, + "absolute_body_offset": 522, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4500", + "operands": { + "line_number": 69 + } + }, + { + "offset": 307, + "absolute_body_offset": 525, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b0010", + "operands": { + "value_u16": 4096 + } + }, + { + "offset": 310, + "absolute_body_offset": 528, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 312, + "absolute_body_offset": 530, + "opcode": 17, + "mnemonic": "call_class_event", + "raw_bytes": "111e0a2400", + "operands": { + "target_class_id": 2590, + "target_event_slot": 36, + "target_event_name_hint": null + } + }, + { + "offset": 317, + "absolute_body_offset": 535, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 319, + "absolute_body_offset": 537, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4700", + "operands": { + "line_number": 71 + } + }, + { + "offset": 322, + "absolute_body_offset": 540, + "opcode": 80, + "mnemonic": "ret", + "raw_bytes": "50", + "operands": {} + } + ], + "debug_symbols": [ + { + "index": 0, + "unknown1": 1, + "type_id": 105, + "type_char": "i", + "bp_offset": 0, + "bp_repr": "[BP+00h]", + "unknown3": 0, + "name": "referent" + }, + { + "index": 1, + "unknown1": 0, + "type_id": 105, + "type_char": "i", + "bp_offset": 10, + "bp_repr": "[BP+0Ah]", + "unknown3": 0, + "name": "event" + }, + { + "index": 2, + "unknown1": 0, + "type_id": 36, + "type_char": "$", + "bp_offset": 254, + "bp_repr": "[BP-02h]", + "unknown3": 2, + "name": "item" + }, + { + "index": 3, + "unknown1": 0, + "type_id": 36, + "type_char": "$", + "bp_offset": 252, + "bp_repr": "[BP-04h]", + "unknown3": 2, + "name": "item2" + }, + { + "index": 4, + "unknown1": 0, + "type_id": 36, + "type_char": "$", + "bp_offset": 250, + "bp_repr": "[BP-06h]", + "unknown3": 2, + "name": "n" + } + ], + "field_tags": [], + "annotation_hints": { + "runtime_family": "slot-backed-owner-loaded-body", + "payload_shape_hint": "word", + "compiled_anchors": [ + { + "address": "000d:46ec", + "role": "context_create_from_slot" + }, + { + "address": "000d:0988", + "role": "referent_chain_mutator" + }, + { + "address": "000d:177c", + "role": "push_frame_word_literal" + }, + { + "address": "000d:1acb", + "role": "compare_stream_dword_and_push_bool" + }, + { + "address": "000d:208b", + "role": "materialize_or_forward_value" + }, + { + "address": "000d:21ed", + "role": "prepend_inline_payload" + }, + { + "address": "000d:22bc", + "role": "matrix_pushback_stage" + }, + { + "address": "000d:2104", + "role": "finalize_to_outptr" + }, + { + "address": "000d:ebe3", + "role": "opcode_sequence_run" + } + ], + "runtime_stage_hints": [ + { + "stage_address": "000d:177c", + "ir_name": "PUSH_FRAME_WORD_LITERAL", + "opcode_or_lane": "same FUN_000d_ebe3 sequencer family", + "payload_shape": "word scalar pushed to stream stack", + "evidence": "000d:177c subtracts 2 from [context+0xcc] and stores frame-local word before entity_vm_opcode_finish" + }, + { + "stage_address": "000d:1acb", + "ir_name": "COMPARE_STREAM_DWORD_AND_PUSH_BOOL", + "opcode_or_lane": "same FUN_000d_ebe3 sequencer family", + "payload_shape": "stream dword pair consumed, predicate word emitted", + "evidence": "000d:1acb reads one 32-bit pair from stream, compares against AX:DX, pushes boolean word result" + }, + { + "stage_address": "000d:21ed", + "ir_name": "PREPEND_INLINE_PAYLOAD", + "opcode_or_lane": "inline payload substage", + "payload_shape": "caller-owned blob copied into context +0x102 buffer", + "evidence": "000d:21ed prepends caller bytes into backward-growing context buffer before metadata-driven follow-on work" + }, + { + "stage_address": "000d:22bc", + "ir_name": "BUILD_ENTITY_LINK_MATRIX", + "opcode_or_lane": "inline payload follow-on stage", + "payload_shape": "two signed metadata bytes plus streamed entity/link ids", + "evidence": "000d:22bc consumes two signed bytes from +0xd6/+0xd8 and streamed words for repeated entity_link calls" + }, + { + "stage_address": "000d:22bc", + "ir_name": "EMIT_OR_PUSHBACK_RESULT", + "opcode_or_lane": "inline payload follow-on stage", + "payload_shape": "stream writeback filter", + "evidence": "000d:23da..2421 pushes back only results without 0x0400 list flag before opcode finish" + }, + { + "stage_address": "000d:2104", + "ir_name": "FINALIZE_MIXED_VALUE_TO_OUTPTR", + "opcode_or_lane": "same FUN_000d_ebe3 sequencer family", + "payload_shape": "mixed immediate/object scalar return", + "evidence": "000d:2104 writes either frame-local dword or object word with high word cleared to caller out-ptr" + } + ], + "slot_taxonomy": { + "slot": 10, + "event_name_hint": "equip" + } + } +} +script NPCTRIG.equip (entry=191, class_id=0x0363, slot=0x0A) +{ + body_range 0x00DA..0x024F + raw_event_word 0x0175 + raw_code_offset 0x00000001 + end_reason debug_symbols_then_end + locals + { + [BP+00h] referent ; type=0x69 ('i') unk1=0x01 unk3=0x00 + [BP+0Ah] event ; type=0x69 ('i') unk1=0x00 unk3=0x00 + [BP-02h] item ; type=0x24 ('$') unk1=0x00 unk3=0x02 + [BP-04h] item2 ; type=0x24 ('$') unk1=0x00 unk3=0x02 + [BP-06h] n ; type=0x24 ('$') unk1=0x00 unk3=0x02 + } + + entry: + init locals 0x06 ; 00DA: 5a06 + symbol_info NPCTRIG -> 0x0143 ; 00DC: 5c3e014e5043545249470000 + push 0x0211 ; 00E8: 0b1102 + push [BP+06h] ; 00EB: 4006 + push_indirect size=0x2 ; 00ED: 4c02 + set_info ; 00EF: 77 + process_exclude ; 00F0: 78 + line 32 ; 00F1: 5b2000 + line 31 ; 00F4: 5b1f00 + push [BP+06h] ; 00F7: 4006 + call intrinsic 0x0004 Item::getStatus(void) args=0x04 ; 00F9: 0f040400 + add_sp value_u8=0xFC ; 00FD: 6efc + push_retval_word ; 00FF: 5e + line 32 ; 0100: 5b2000 + push 0x1000 ; 0103: 0b0010 + bit_and ; 0106: 39 + if pop() != 0 goto block_0110 ; 0107: 510600 + + block_010A: + line 33 ; 010A: 5b2100 + goto block_0219 ; 010D: 520901 + + block_0110: + line 36 ; 0110: 5b2400 + push 0x1000 ; 0113: 0b0010 + push [BP+06h] ; 0116: 4006 + call class 0x0A1E.slot 0x23 ; 0118: 111e0a2300 + add_sp value_u8=0xFA ; 011D: 6efa + push [BP+0Ah] ; 011F: 3f0a + push 0x01 ; signed 1 ; 0121: 0a01 + cmp ; 0123: 24 + if pop() != 0 goto block_014E ; 0124: 512700 + + block_0127: + line 44 ; 0127: 5b2c00 + push_pid ; 012A: 59 + push 0x02FD ; 012B: 0bfd02 + push [BP+06h] ; 012E: 4006 + spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 0130: 57020263032000 + add_sp value_u8=0xFE ; 0137: 6efe + push_retval_word ; 0139: 5e + implies arg0=0x1 arg1=0x1 ; 013A: 540101 + pop_temp ; 013D: 12 + suspend ; 013E: 53 + symbol_info NPCTRIG -> 0x0143 ; 013F: 5cdb004e5043545249470000 + goto block_020A ; 014B: 52bc00 + + block_014E: + push [BP+0Ah] ; 014E: 3f0a + push 0x02 ; signed 2 ; 0150: 0a02 + cmp ; 0152: 24 + if pop() != 0 goto block_017D ; 0153: 512700 + + block_0156: + line 49 ; 0156: 5b3100 + push_pid ; 0159: 59 + push 0x0384 ; 015A: 0b8403 + push [BP+06h] ; 015D: 4006 + spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 015F: 57020263032000 + add_sp value_u8=0xFE ; 0166: 6efe + push_retval_word ; 0168: 5e + implies arg0=0x1 arg1=0x1 ; 0169: 540101 + pop_temp ; 016C: 12 + suspend ; 016D: 53 + symbol_info NPCTRIG -> 0x0143 ; 016E: 5cac004e5043545249470000 + goto block_020A ; 017A: 528d00 + + block_017D: + push [BP+0Ah] ; 017D: 3f0a + push 0x03 ; signed 3 ; 017F: 0a03 + cmp ; 0181: 24 + if pop() != 0 goto block_01AC ; 0182: 512700 + + block_0185: + line 54 ; 0185: 5b3600 + push_pid ; 0188: 59 + push 0x0371 ; 0189: 0b7103 + push [BP+06h] ; 018C: 4006 + spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 018E: 57020263032000 + add_sp value_u8=0xFE ; 0195: 6efe + push_retval_word ; 0197: 5e + implies arg0=0x1 arg1=0x1 ; 0198: 540101 + pop_temp ; 019B: 12 + suspend ; 019C: 53 + symbol_info NPCTRIG -> 0x0143 ; 019D: 5c7d004e5043545249470000 + goto block_020A ; 01A9: 525e00 + + block_01AC: + push [BP+0Ah] ; 01AC: 3f0a + push 0x04 ; signed 4 ; 01AE: 0a04 + cmp ; 01B0: 24 + if pop() != 0 goto block_01DB ; 01B1: 512700 + + block_01B4: + line 59 ; 01B4: 5b3b00 + push_pid ; 01B7: 59 + push 0x04D1 ; 01B8: 0bd104 + push [BP+06h] ; 01BB: 4006 + spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 01BD: 57020263032000 + add_sp value_u8=0xFE ; 01C4: 6efe + push_retval_word ; 01C6: 5e + implies arg0=0x1 arg1=0x1 ; 01C7: 540101 + pop_temp ; 01CA: 12 + suspend ; 01CB: 53 + symbol_info NPCTRIG -> 0x0143 ; 01CC: 5c4e004e5043545249470000 + goto block_020A ; 01D8: 522f00 + + block_01DB: + push [BP+0Ah] ; 01DB: 3f0a + push 0x05 ; signed 5 ; 01DD: 0a05 + cmp ; 01DF: 24 + if pop() != 0 goto block_020A ; 01E0: 512700 + + block_01E3: + line 64 ; 01E3: 5b4000 + push_pid ; 01E6: 59 + push 0x01B4 ; 01E7: 0bb401 + push [BP+06h] ; 01EA: 4006 + spawn class 0x0363.slot 0x20 args=0x02 this_size=0x02 ; 01EC: 57020263032000 + add_sp value_u8=0xFE ; 01F3: 6efe + push_retval_word ; 01F5: 5e + implies arg0=0x1 arg1=0x1 ; 01F6: 540101 + pop_temp ; 01F9: 12 + suspend ; 01FA: 53 + symbol_info NPCTRIG -> 0x0143 ; 01FB: 5c1f004e5043545249470000 + goto block_020A ; 0207: 520000 + + block_020A: + line 69 ; 020A: 5b4500 + push 0x1000 ; 020D: 0b0010 + push [BP+06h] ; 0210: 4006 + call class 0x0A1E.slot 0x24 ; 0212: 111e0a2400 + add_sp value_u8=0xFA ; 0217: 6efa + + block_0219: + line 71 ; 0219: 5b4700 + return ; 021C: 50 + +} + diff --git a/tools/export_usecode_pseudocode.py b/tools/export_usecode_pseudocode.py new file mode 100644 index 0000000..49086ea --- /dev/null +++ b/tools/export_usecode_pseudocode.py @@ -0,0 +1,148 @@ +from __future__ import annotations + +import argparse +import csv +import re +import sys +from pathlib import Path + + +REPO_ROOT = Path(__file__).resolve().parents[1] +if str(REPO_ROOT) not in sys.path: + sys.path.insert(0, str(REPO_ROOT)) + + +from tools.poc_crusader_usecode_parser import CLASS_LAYOUT_INDEX, EXTRACTED_ROOT, parse_body_ir, render_pseudocode + + +CLASS_EVENT_INDEX = EXTRACTED_ROOT / "class_event_index.tsv" + + +def load_rows() -> list[dict[str, str]]: + with CLASS_EVENT_INDEX.open("r", encoding="utf-8", newline="") as handle: + return list(csv.DictReader(handle, delimiter="\t")) + + +def load_layout_by_entry() -> dict[int, dict[str, str]]: + with CLASS_LAYOUT_INDEX.open("r", encoding="utf-8", newline="") as handle: + rows = list(csv.DictReader(handle, delimiter="\t")) + layout_by_entry: dict[int, dict[str, str]] = {} + for row in rows: + try: + entry_index = parse_int(row["entry_index"]) + except (KeyError, TypeError, ValueError): + continue + layout_by_entry[entry_index] = row + return layout_by_entry + + +def parse_int(value: str) -> int: + return int(value, 0) + + +def safe_name(value: str) -> str: + cleaned = re.sub(r"[^A-Za-z0-9_.-]+", "_", value.strip()) + return cleaned.strip("._") or "unknown" + + +def output_path_for_row(output_root: Path, row: dict[str, str]) -> Path: + class_name = row["class_name_hint"] + slot = parse_int(row["slot"]) + event_name = row.get("event_name_hint") or f"slot_{slot:02X}" + class_dir = output_root / safe_name(class_name) + filename = f"slot_{slot:02X}_{safe_name(event_name)}.txt" + return class_dir / filename + + +def build_index_row(output_root: Path, row: dict[str, str], path: Path, ir: dict[str, object]) -> dict[str, str]: + return { + "entry_index": row["entry_index"], + "class_name": row["class_name_hint"], + "slot": row["slot"], + "event_name_hint": row.get("event_name_hint", ""), + "derived_body_start": row["derived_body_start"], + "derived_body_end": row["derived_body_end"], + "derived_body_length": row["derived_body_length"], + "decoded_op_count": str(ir["body"]["decoded_op_count"]), + "end_reason": str(ir["body"]["end_reason"]), + "debug_symbol_count": str(ir["body"]["debug_symbol_count"]), + "pseudocode_path": path.relative_to(output_root.parent).as_posix(), + } + + +def write_index(output_root: Path, index_rows: list[dict[str, str]]) -> None: + index_path = output_root / "index.tsv" + fieldnames = [ + "entry_index", + "class_name", + "slot", + "event_name_hint", + "derived_body_start", + "derived_body_end", + "derived_body_length", + "decoded_op_count", + "end_reason", + "debug_symbol_count", + "pseudocode_path", + ] + with index_path.open("w", encoding="utf-8", newline="") as handle: + writer = csv.DictWriter(handle, fieldnames=fieldnames, delimiter="\t") + writer.writeheader() + writer.writerows(index_rows) + + +def write_readme(output_root: Path, export_count: int) -> None: + readme_path = output_root / "README.md" + readme_path.write_text( + "# USECODE pseudocode export\n\n" + f"Generated pseudocode files: {export_count}\n\n" + "This folder is produced by tools/export_usecode_pseudocode.py using the current\n" + "pseudocode renderer in tools/poc_crusader_usecode_parser.py.\n\n" + "- Each class gets its own subfolder.\n" + "- Each non-empty decoded slot body is emitted as one text file.\n" + "- index.tsv records the body range, op count, end reason, and file path.\n", + encoding="utf-8", + ) + + +def main() -> None: + parser = argparse.ArgumentParser(description="Export pseudocode for all decoded Crusader USECODE bodies") + parser.add_argument( + "--output-dir", + default=str(EXTRACTED_ROOT / "pseudocode"), + help="Output directory for pseudocode files (default: USECODE/EUSECODE_extracted/pseudocode)", + ) + args = parser.parse_args() + + output_root = Path(args.output_dir) + output_root.mkdir(parents=True, exist_ok=True) + + rows = load_rows() + layout_by_entry = load_layout_by_entry() + index_rows: list[dict[str, str]] = [] + exported = 0 + + for row in rows: + if not row.get("derived_body_start") or not row.get("derived_body_end"): + continue + + entry_index = parse_int(row["entry_index"]) + layout_row = layout_by_entry.get(entry_index) + if layout_row is None: + continue + ir = parse_body_ir(row, layout_row) + pseudocode = render_pseudocode(ir) + + path = output_path_for_row(output_root, row) + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(pseudocode, encoding="utf-8") + index_rows.append(build_index_row(output_root, row, path, ir)) + exported += 1 + + write_index(output_root, index_rows) + write_readme(output_root, exported) + print(f"Exported {exported} pseudocode files to {output_root}") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/tools/tests/test_usecode_structuring.py b/tools/tests/test_usecode_structuring.py new file mode 100644 index 0000000..c85df85 --- /dev/null +++ b/tools/tests/test_usecode_structuring.py @@ -0,0 +1,54 @@ +from __future__ import annotations + +import unittest + +from tools.poc_crusader_usecode_parser import render_structured_pseudocode + + +class UsecodeStructuringTests(unittest.TestCase): + def test_alarmbox_style_forward_flow_renders_without_block_labels(self) -> None: + blocks = [ + ("entry", ["set_info(0x0211, *(arg_06));", "process_exclude();", "if var goto block_0330;"]), + ("block_026D", ["if !Intrinsic0000() goto block_02CB;"]), + ("block_027C", ["if (Item.getFrame(arg_06) != 0) goto block_029B;"]), + ("block_028B", ["goto block_02BA;"]), + ("block_029B", ["if (Item.getFrame(arg_06) != 1) goto block_02BA;"]), + ("block_02AA", ["goto block_02BA;"]), + ("block_02BA", ["spawn class_0A0C_slot_3B(0x00000000);"]), + ("block_02CB", ["a = Item.getStatus(arg_06);", "if ((a & 4) != 0) goto block_032D;"]), + ("block_02E7", ["if (Item.getMapNum(arg_06) != 0) goto block_032D;"]), + ("block_02F9", ["spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);", "suspend;"]), + ("block_032D", ["goto block_03C3;"]), + ("block_0330", ["if Intrinsic0000() goto block_03C3;"]), + ("block_033B", ["if (Item.getFrame(arg_06) != 2) goto block_035A;"]), + ("block_034A", ["goto block_0379;"]), + ("block_035A", ["if (Item.getFrame(arg_06) != 3) goto block_0379;"]), + ("block_0369", ["goto block_0379;"]), + ("block_0379", ["spawn class_0A0C_slot_3C(0x00000000);", "if (Item.getMapNum(arg_06) != 0) goto block_03C3;"]), + ("block_039C", ["spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);", "suspend;"]), + ("block_03C3", ["return;"]), + ] + + rendered = render_structured_pseudocode(blocks) + + self.assertIsNotNone(rendered) + text = "\n".join(rendered or []) + self.assertNotIn("block_027C:", text) + self.assertNotIn("goto block_03C3;", text) + self.assertIn("if (!var) {", text) + self.assertIn("if (Intrinsic0000()) {", text) + self.assertIn("if ((a & 4) == 0) {", text) + self.assertIn("if (!Intrinsic0000()) {", text) + + def test_backward_jump_keeps_structured_renderer_disabled(self) -> None: + blocks = [ + ("entry", ["if flag goto block_0010;"]), + ("block_0004", ["return;"]), + ("block_0010", ["goto entry;"]), + ] + + self.assertIsNone(render_structured_pseudocode(blocks)) + + +if __name__ == "__main__": + unittest.main() \ No newline at end of file