Pseudocode decompialtion improvements and docs

This commit is contained in:
MaddoScientisto 2026-03-26 22:10:48 +01:00
commit 589bfc31ef
1898 changed files with 60634 additions and 6597 deletions

View file

@ -10,17 +10,17 @@ function door2_slot_20() /* entry=377 class_id=0x0A07 slot=0x20 */
if (!(Item.getStatus(arg_06) & 4)) {
}
else {
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
/* create_list element_size=0x2 count=0xC */
/* free_local_list bp_offset=0xFE target=[BP-02h] */
doorList = 0x00D0;
class_0A0C_slot_3A(0x00A9, 0x00AB, 0x00AC, 0x00AF, 0x00B2, 0x00B3, 0x00B4, 0x00B6, 0x00B7, 0x00B8, 0x00B9, doorList);
FREE.slot_3A(0x00A9, 0x00AB, 0x00AC, 0x00AF, 0x00B2, 0x00B3, 0x00B4, 0x00B6, 0x00B7, 0x00B8, 0x00B9, doorList);
/* free_stack_list value_u8=0x0 target=[SP+00h] */
maxFrame = retval;
counter = 2;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(doorList, counter, pid, 2, 0x00000000);
spawn FREE.waitNTimerTicks(doorList, counter, pid, 2, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -17,7 +17,7 @@ function door2_slot_21() /* entry=377 class_id=0x0A07 slot=0x21 */
/* create_list element_size=0x2 count=0xC */
/* free_local_list bp_offset=0xFE target=[BP-02h] */
doorList = 0x00D0;
class_0A0C_slot_3A(0x00A9, 0x00AB, 0x00AC, 0x00AF, 0x00B2, 0x00B3, 0x00B4, 0x00B6, 0x00B7, 0x00B8, 0x00B9, doorList);
FREE.slot_3A(0x00A9, 0x00AB, 0x00AC, 0x00AF, 0x00B2, 0x00B3, 0x00B4, 0x00B6, 0x00B7, 0x00B8, 0x00B9, doorList);
/* free_stack_list value_u8=0x0 target=[SP+00h] */
maxFrame = retval;
counter = (maxFrame - 1);
@ -26,11 +26,11 @@ function door2_slot_21() /* entry=377 class_id=0x0A07 slot=0x21 */
if (counter != 0) goto block_0520;
block_03DB:
class_0A0C_slot_2D((Item.getZ(arg_06) - 8), Item.getY(arg_06), Item.getX(arg_06), Item.getFrame(arg_06), doorList, counter, list_element(size=0x2), *(arg_06));
FREE.slot_2D((Item.getZ(arg_06) - 8), Item.getY(arg_06), Item.getX(arg_06), Item.getFrame(arg_06), doorList, counter, list_element(size=0x2), *(arg_06));
if retval goto block_0444;
block_041B:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
suspend;
goto block_0510;
@ -42,7 +42,7 @@ function door2_slot_21() /* entry=377 class_id=0x0A07 slot=0x21 */
if (counter < (maxFrame + 1)) goto block_0506;
block_0483:
spawn class_0A0C_slot_32(doorList, counter, pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(doorList, counter, pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
/* word_to_dword */

View file

@ -10,17 +10,17 @@ function door2_slot_22() /* entry=377 class_id=0x0A07 slot=0x22 */
if (!(Item.getStatus(arg_06) & 4)) {
}
else {
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
/* create_list element_size=0x2 count=0xC */
/* free_local_list bp_offset=0xFE target=[BP-02h] */
doorList = 0x0107;
class_0A0C_slot_3A(70, 85, 88, 101, 100, 99, 89, 0x0103, 0x0104, 0x0105, 0x0106, doorList);
FREE.slot_3A(70, 85, 88, 101, 100, 99, 89, 0x0103, 0x0104, 0x0105, 0x0106, doorList);
/* free_stack_list value_u8=0x0 target=[SP+00h] */
maxFrame = retval;
counter = 2;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(doorList, counter, pid, 2, 0x00000000);
spawn FREE.waitNTimerTicks(doorList, counter, pid, 2, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -18,7 +18,7 @@ function door2_slot_23() /* entry=377 class_id=0x0A07 slot=0x23 */
/* create_list element_size=0x2 count=0xC */
/* free_local_list bp_offset=0xFE target=[BP-02h] */
doorList = 0x0107;
class_0A0C_slot_3A(70, 85, 88, 101, 100, 99, 89, 0x0103, 0x0104, 0x0105, 0x0106, doorList);
FREE.slot_3A(70, 85, 88, 101, 100, 99, 89, 0x0103, 0x0104, 0x0105, 0x0106, doorList);
/* free_stack_list value_u8=0x0 target=[SP+00h] */
maxFrame = retval;
counter = (maxFrame - 1);
@ -27,11 +27,11 @@ function door2_slot_23() /* entry=377 class_id=0x0A07 slot=0x23 */
if (counter != 0) goto block_08A3;
block_0768:
class_0A0C_slot_2D((Item.getZ(arg_06) - 8), Item.getY(arg_06), Item.getX(arg_06), Item.getFrame(arg_06), doorList, counter, list_element(size=0x2), *(arg_06));
FREE.slot_2D((Item.getZ(arg_06) - 8), Item.getY(arg_06), Item.getX(arg_06), Item.getFrame(arg_06), doorList, counter, list_element(size=0x2), *(arg_06));
if retval goto block_07D1;
block_07A8:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
suspend;
goto block_0893;
@ -43,7 +43,7 @@ function door2_slot_23() /* entry=377 class_id=0x0A07 slot=0x23 */
if (counter < (maxFrame + 1)) goto block_0889;
block_0810:
spawn class_0A0C_slot_32(doorList, counter, pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(doorList, counter, pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
goto block_07FF;

View file

@ -6,12 +6,12 @@ function door2_slot_24() /* entry=377 class_id=0x0A07 slot=0x24 */
maxFrame; /* [BP-04h] type=0x69 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
maxFrame = 8;
counter = 1;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -8,9 +8,9 @@ function door2_slot_25() /* entry=377 class_id=0x0A07 slot=0x25 */
set_info(0x0207, *(arg_06));
maxFrame = 8;
class_0A0C_slot_2D((Item.getZ(arg_06) - (8 * 10)), Item.getY(arg_06), Item.getX(arg_06), maxFrame, 0x02D6, *(arg_06));
FREE.slot_2D((Item.getZ(arg_06) - (8 * 10)), Item.getY(arg_06), Item.getX(arg_06), maxFrame, 0x02D6, *(arg_06));
if (!retval) {
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
}
else {
@ -20,7 +20,7 @@ function door2_slot_25() /* entry=377 class_id=0x0A07 slot=0x25 */
}
counter = (maxFrame - 1);
while (counter <= 0) {
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (counter - 1);
}

View file

@ -6,12 +6,12 @@ function door2_slot_26() /* entry=377 class_id=0x0A07 slot=0x26 */
maxFrame; /* [BP-04h] type=0x69 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
maxFrame = 8;
counter = 1;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -8,9 +8,9 @@ function door2_slot_27() /* entry=377 class_id=0x0A07 slot=0x27 */
set_info(0x0207, *(arg_06));
maxFrame = 8;
class_0A0C_slot_2D((Item.getZ(arg_06) - (8 * 10)), Item.getY(arg_06), Item.getX(arg_06), maxFrame, 0x02D5, *(arg_06));
FREE.slot_2D((Item.getZ(arg_06) - (8 * 10)), Item.getY(arg_06), Item.getX(arg_06), maxFrame, 0x02D5, *(arg_06));
if (!retval) {
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
}
else {
@ -20,7 +20,7 @@ function door2_slot_27() /* entry=377 class_id=0x0A07 slot=0x27 */
}
counter = (maxFrame - 1);
while (counter <= 0) {
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (counter - 1);
}

View file

@ -10,17 +10,17 @@ function door2_slot_28() /* entry=377 class_id=0x0A07 slot=0x28 */
if (!(Item.getStatus(arg_06) & 4)) {
}
else {
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
/* create_list element_size=0x2 count=0x7 */
/* free_local_list bp_offset=0xFE target=[BP-02h] */
doorList = 0x00C2;
class_0A0C_slot_3A(5, 0x00BE, 0x00BF, 0x00C0, 0x00C1, 0x00CA, doorList);
FREE.slot_3A(5, 0x00BE, 0x00BF, 0x00C0, 0x00C1, 0x00CA, doorList);
/* free_stack_list value_u8=0x0 target=[SP+00h] */
maxFrame = retval;
counter = 2;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(doorList, pid, 3, 0x00000000);
spawn FREE.waitNTimerTicks(doorList, pid, 3, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -17,7 +17,7 @@ function door2_slot_29() /* entry=377 class_id=0x0A07 slot=0x29 */
/* create_list element_size=0x2 count=0x7 */
/* free_local_list bp_offset=0xFE target=[BP-02h] */
doorList = 0x00C2;
class_0A0C_slot_3A(5, 0x00BE, 0x00BF, 0x00C0, 0x00C1, 0x00CA, doorList);
FREE.slot_3A(5, 0x00BE, 0x00BF, 0x00C0, 0x00C1, 0x00CA, doorList);
/* free_stack_list value_u8=0x0 target=[SP+00h] */
maxFrame = retval;
counter = (maxFrame - 1);
@ -26,11 +26,11 @@ function door2_slot_29() /* entry=377 class_id=0x0A07 slot=0x29 */
if (counter != 0) goto block_10D4;
block_0FA6:
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 16), Item.getFrame(arg_06), doorList, counter, list_element(size=0x2), *(arg_06));
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 16), Item.getFrame(arg_06), doorList, counter, list_element(size=0x2), *(arg_06));
if retval goto block_100F;
block_0FE6:
spawn class_0A0C_slot_32(pid, 3, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 3, 0x00000000);
suspend;
goto block_10C4;
@ -42,7 +42,7 @@ function door2_slot_29() /* entry=377 class_id=0x0A07 slot=0x29 */
if (counter < (maxFrame + 1)) goto block_10BA;
block_1041:
spawn class_0A0C_slot_32(doorList, pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(doorList, pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
goto block_1030;

View file

@ -10,17 +10,17 @@ function door2_slot_2A() /* entry=377 class_id=0x0A07 slot=0x2A */
if (!(Item.getStatus(arg_06) & 4)) {
}
else {
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
/* create_list element_size=0x2 count=0x7 */
/* free_local_list bp_offset=0xFE target=[BP-02h] */
doorList = 0x00CB;
class_0A0C_slot_3A(123, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, doorList);
FREE.slot_3A(123, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, doorList);
/* free_stack_list value_u8=0x0 target=[SP+00h] */
maxFrame = retval;
counter = 2;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(doorList, pid, 3, 0x00000000);
spawn FREE.waitNTimerTicks(doorList, pid, 3, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -17,7 +17,7 @@ function door2_slot_2B() /* entry=377 class_id=0x0A07 slot=0x2B */
/* create_list element_size=0x2 count=0x7 */
/* free_local_list bp_offset=0xFE target=[BP-02h] */
doorList = 0x00CB;
class_0A0C_slot_3A(123, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, doorList);
FREE.slot_3A(123, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, doorList);
/* free_stack_list value_u8=0x0 target=[SP+00h] */
maxFrame = retval;
counter = (maxFrame - 1);
@ -26,11 +26,11 @@ function door2_slot_2B() /* entry=377 class_id=0x0A07 slot=0x2B */
if (counter != 0) goto block_142D;
block_12FF:
class_0A0C_slot_2D(Item.getZ(arg_06), (Item.getY(arg_06) + 16), Item.getX(arg_06), Item.getFrame(arg_06), doorList, counter, list_element(size=0x2), *(arg_06));
FREE.slot_2D(Item.getZ(arg_06), (Item.getY(arg_06) + 16), Item.getX(arg_06), Item.getFrame(arg_06), doorList, counter, list_element(size=0x2), *(arg_06));
if retval goto block_1368;
block_133F:
spawn class_0A0C_slot_32(pid, 3, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 3, 0x00000000);
suspend;
goto block_141D;
@ -42,7 +42,7 @@ function door2_slot_2B() /* entry=377 class_id=0x0A07 slot=0x2B */
if (counter < (maxFrame + 1)) goto block_1413;
block_139A:
spawn class_0A0C_slot_32(doorList, pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(doorList, pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
goto block_1389;

View file

@ -12,12 +12,12 @@ function door2_slot_2C() /* entry=377 class_id=0x0A07 slot=0x2C */
return;
}
else {
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
maxFrame = 11;
counter = 1;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -7,9 +7,9 @@ function door2_slot_2D() /* entry=377 class_id=0x0A07 slot=0x2D */
set_info(0x0207, *(arg_06));
maxFrame = 11;
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), maxFrame, 0x01AB, *(arg_06));
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), maxFrame, 0x01AB, *(arg_06));
if (!retval) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
}
else {
@ -19,7 +19,7 @@ function door2_slot_2D() /* entry=377 class_id=0x0A07 slot=0x2D */
}
counter = (maxFrame - 1);
while (counter < 0) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (counter - 1);
}

View file

@ -6,12 +6,12 @@ function door2_slot_2E() /* entry=377 class_id=0x0A07 slot=0x2E */
maxFrame; /* [BP-04h] type=0x69 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
maxFrame = 11;
counter = 1;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -7,9 +7,9 @@ function door2_slot_2F() /* entry=377 class_id=0x0A07 slot=0x2F */
set_info(0x0207, *(arg_06));
maxFrame = 11;
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), maxFrame, 0x0393, *(arg_06));
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), maxFrame, 0x0393, *(arg_06));
if (!retval) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
}
else {
@ -19,7 +19,7 @@ function door2_slot_2F() /* entry=377 class_id=0x0A07 slot=0x2F */
}
counter = (maxFrame - 1);
while (counter < 0) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (counter - 1);
}

View file

@ -11,7 +11,7 @@ function door2_slot_30() /* entry=377 class_id=0x0A07 slot=0x30 */
maxFrame; /* [BP-0Eh] type=0x69 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
/* create_list element_size=0x2 count=0x5 */
/* free_local_list bp_offset=0xFE target=[BP-02h] */
@ -19,30 +19,21 @@ function door2_slot_30() /* entry=377 class_id=0x0A07 slot=0x30 */
/* create_list element_size=0x2 count=0x5 */
/* free_local_list bp_offset=0xFC target=[BP-04h] */
doorList2 = 0x0187;
class_0A0C_slot_3A(0x0193, 0x0192, 0x0191, 0x0190, 0x018D, 0x018C, 0x018B, 0x018A, doorList);
FREE.slot_3A(0x0193, 0x0192, 0x0191, 0x0190, 0x018D, 0x018C, 0x018B, 0x018A, doorList);
/* free_stack_list value_u8=0x0 target=[SP+00h] */
maxFrame = retval;
/* 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 */
/* loop_selector item in nearby_items(shape=ELEVATOR_DOOR_RIGHT, origin=arg_06) */
while (!condition) {
door1 = item;
/* loopnext */
}
/* 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 */
while (!condition) {
for item in nearby_items(shape=ELEVATOR_DOOR_LEFT, origin=arg_06) {
door2 = item;
/* loopnext */
}
counter = 2;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -22,14 +22,10 @@ function door2_slot_31() /* entry=377 class_id=0x0A07 slot=0x31 */
/* create_list element_size=0x2 count=0x5 */
/* free_local_list bp_offset=0xFC target=[BP-04h] */
doorList2 = 0x0187;
class_0A0C_slot_3A(0x0193, 0x0192, 0x0191, 0x0190, 0x018D, 0x018C, 0x018B, 0x018A, doorList);
FREE.slot_3A(0x0193, 0x0192, 0x0191, 0x0190, 0x018D, 0x018C, 0x018B, 0x018A, doorList);
/* free_stack_list value_u8=0x0 target=[SP+00h] */
maxFrame = retval;
/* 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 */
/* loop_selector item in nearby_items(shape=ELEVATOR_DOOR_SEGMENT, origin=arg_06) */
block_1B61:
if condition goto block_1B6F;
@ -40,19 +36,10 @@ function door2_slot_31() /* entry=377 class_id=0x0A07 slot=0x31 */
goto block_1B61;
block_1B6F:
/* 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_1B8F:
if condition goto block_1B9D;
block_1B92:
door2 = item;
/* loopnext */
goto block_1B8F;
for item in nearby_items(shape=WALL_EDGE, origin=arg_06) {
door2 = item;
/* loopnext */
}
block_1B9D:
if (door1 && door2) goto block_1E43;
@ -64,14 +51,14 @@ function door2_slot_31() /* entry=377 class_id=0x0A07 slot=0x31 */
if (counter <= (maxFrame - 1)) goto block_1E43;
block_1BD5:
class_0A0C_slot_2D(Item.getZ(door1), Item.getY(door1), Item.getX(door1), 0, doorList, (maxFrame - counter), list_element(size=0x2), door1);
FREE.slot_2D(Item.getZ(door1), Item.getY(door1), Item.getX(door1), 0, doorList, (maxFrame - counter), list_element(size=0x2), door1);
if (!retval) goto block_1C17;
block_1C10:
nonLegalDoor1 = 1;
block_1C17:
class_0A0C_slot_2D(Item.getZ(door2), Item.getY(door2), (Item.getX(door2) + 16), 0, doorList2, (maxFrame - counter), list_element(size=0x2), door2);
FREE.slot_2D(Item.getZ(door2), Item.getY(door2), (Item.getX(door2) + 16), 0, doorList2, (maxFrame - counter), list_element(size=0x2), door2);
if (!retval) goto block_1C5C;
block_1C55:
@ -81,12 +68,12 @@ function door2_slot_31() /* entry=377 class_id=0x0A07 slot=0x31 */
if ((!nonLegalDoor1) && (!nonLegalDoor2)) goto block_1CAB;
block_1C6C:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
goto block_1E36;
block_1CAB:
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
suspend;
if nonLegalDoor1 goto block_1D25;
@ -113,7 +100,7 @@ function door2_slot_31() /* entry=377 class_id=0x0A07 slot=0x31 */
block_1DD0:
block_1DF9:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter2 = (1 + counter2);
goto block_1D52;

View file

@ -11,7 +11,7 @@ function door2_slot_32() /* entry=377 class_id=0x0A07 slot=0x32 */
maxFrame; /* [BP-0Eh] type=0x69 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
/* create_list element_size=0x2 count=0x5 */
/* free_local_list bp_offset=0xFE target=[BP-02h] */
@ -19,30 +19,21 @@ function door2_slot_32() /* entry=377 class_id=0x0A07 slot=0x32 */
/* create_list element_size=0x2 count=0x5 */
/* free_local_list bp_offset=0xFC target=[BP-04h] */
doorList2 = 0x028E;
class_0A0C_slot_3A(0x01C7, 0x0288, 0x028C, 0x0287, 0x01C6, 0x028A, 0x028B, 0x028D, doorList);
FREE.slot_3A(0x01C7, 0x0288, 0x028C, 0x0287, 0x01C6, 0x028A, 0x028B, 0x028D, doorList);
/* free_stack_list value_u8=0x0 target=[SP+00h] */
maxFrame = retval;
/* 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 */
/* loop_selector item in nearby_items(shape=ELEVATOR_DOOR_RIGHT_2, origin=arg_06) */
while (!condition) {
door1 = item;
/* loopnext */
}
/* 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 */
while (!condition) {
for item in nearby_items(shape=ELEVATOR_DOOR_LEFT_2, origin=arg_06) {
door2 = item;
/* loopnext */
}
counter = 2;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -22,14 +22,10 @@ function door2_slot_33() /* entry=377 class_id=0x0A07 slot=0x33 */
/* create_list element_size=0x2 count=0x5 */
/* free_local_list bp_offset=0xFC target=[BP-04h] */
doorList2 = 0x028E;
class_0A0C_slot_3A(0x01C7, 0x0288, 0x028C, 0x0287, 0x01C6, 0x028A, 0x028B, 0x028D, doorList);
FREE.slot_3A(0x01C7, 0x0288, 0x028C, 0x0287, 0x01C6, 0x028A, 0x028B, 0x028D, doorList);
/* free_stack_list value_u8=0x0 target=[SP+00h] */
maxFrame = retval;
/* 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 */
/* loop_selector item in nearby_items(shape=0x0289, origin=arg_06) */
block_21A2:
if condition goto block_21B0;
@ -40,19 +36,10 @@ function door2_slot_33() /* entry=377 class_id=0x0A07 slot=0x33 */
goto block_21A2;
block_21B0:
/* 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_21D0:
if condition goto block_21DE;
block_21D3:
door2 = item;
/* loopnext */
goto block_21D0;
for item in nearby_items(shape=0x028E, origin=arg_06) {
door2 = item;
/* loopnext */
}
block_21DE:
if (door1 && door2) goto block_24B5;
@ -64,14 +51,14 @@ function door2_slot_33() /* entry=377 class_id=0x0A07 slot=0x33 */
if (counter <= (maxFrame - 1)) goto block_24B5;
block_2216:
class_0A0C_slot_2D(Item.getZ(door2), Item.getY(door2), Item.getX(door2), 0, doorList2, (maxFrame - counter), list_element(size=0x2), door2);
FREE.slot_2D(Item.getZ(door2), Item.getY(door2), Item.getX(door2), 0, doorList2, (maxFrame - counter), list_element(size=0x2), door2);
if (!retval) goto block_2258;
block_2251:
nonLegalDoor1 = 1;
block_2258:
class_0A0C_slot_2D(Item.getZ(door1), (Item.getY(door1) + 16), Item.getX(door1), 0, doorList, (maxFrame - counter), list_element(size=0x2), door1);
FREE.slot_2D(Item.getZ(door1), (Item.getY(door1) + 16), Item.getX(door1), 0, doorList, (maxFrame - counter), list_element(size=0x2), door1);
if (!retval) goto block_229D;
block_2296:
@ -81,12 +68,12 @@ function door2_slot_33() /* entry=377 class_id=0x0A07 slot=0x33 */
if ((!nonLegalDoor1) && (!nonLegalDoor2)) goto block_22EC;
block_22AD:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
goto block_24A8;
block_22EC:
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
suspend;
if nonLegalDoor1 goto block_2397;
@ -113,7 +100,7 @@ function door2_slot_33() /* entry=377 class_id=0x0A07 slot=0x33 */
block_2442:
block_246B:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter2 = (1 + counter2);
goto block_23C4;

View file

@ -9,13 +9,13 @@ function door2_slot_34() /* entry=377 class_id=0x0A07 slot=0x34 */
item2; /* [BP-0Ah] type=0x24 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
set_info(1, 0);
maxFrame = 7;
counter = 1;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -46,11 +46,11 @@ function door2_slot_35() /* entry=377 class_id=0x0A07 slot=0x35 */
}
link = Item.getQLo(arg_06);
if (Item.legalCreateAtCoords((coz - 80), coy, cox, 7, 0x01EE, item2) == 1) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = 1;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -9,13 +9,13 @@ function door2_slot_36() /* entry=377 class_id=0x0A07 slot=0x36 */
item2; /* [BP-0Ah] type=0x24 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
set_info(1, 0);
maxFrame = 7;
counter = 1;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -45,11 +45,11 @@ function door2_slot_37() /* entry=377 class_id=0x0A07 slot=0x37 */
}
link = Item.getQLo(arg_06);
if (Item.legalCreateAtCoords((coz - 80), coy, cox, maxFrame, 0x03AD, item2) == 1) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = 1;
while (counter > maxFrame) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -5,11 +5,11 @@ function door2_slot_38() /* entry=377 class_id=0x0A07 slot=0x38 */
counter; /* [BP-02h] type=0x69 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
counter = 1;
while (counter > 3) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -5,11 +5,11 @@ function door2_slot_39() /* entry=377 class_id=0x0A07 slot=0x39 */
counter; /* [BP-02h] type=0x69 */
set_info(0x0207, *(arg_06));
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 3, 0x028F, *(arg_06));
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 3, 0x028F, *(arg_06));
if (!retval) {
counter = 0;
while (counter > 3) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -5,11 +5,11 @@ function door2_slot_3A() /* entry=377 class_id=0x0A07 slot=0x3A */
counter; /* [BP-02h] type=0x69 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
counter = 1;
while (counter > 3) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -5,11 +5,11 @@ function door2_slot_3B() /* entry=377 class_id=0x0A07 slot=0x3B */
counter; /* [BP-02h] type=0x69 */
set_info(0x0207, *(arg_06));
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 3, 0x0312, *(arg_06));
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 3, 0x0312, *(arg_06));
if (!retval) {
counter = 0;
while (counter > 3) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -9,11 +9,11 @@ function door2_slot_3C() /* entry=377 class_id=0x0A07 slot=0x3C */
return;
}
else {
class_0A1E_slot_23(0x1000, arg_06);
ITEM.slot_23(0x1000, arg_06);
if (Item.getFrame(arg_06) == 0) {
counter = 0;
while (counter > 9) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}
@ -21,12 +21,12 @@ function door2_slot_3C() /* entry=377 class_id=0x0A07 slot=0x3C */
else if (Item.getFrame(arg_06) == 9) {
counter = 0;
while (counter > 9) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}
}
class_0A1E_slot_24(0x1000, arg_06);
ITEM.slot_24(0x1000, arg_06);
/* word_to_dword */
/* pop_result */
return;

View file

@ -6,11 +6,11 @@ function door2_slot_3D() /* entry=377 class_id=0x0A07 slot=0x3D */
item; /* [BP-04h] type=0x24 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
counter = 1;
while (counter > 4) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -6,8 +6,8 @@ function door2_slot_3E() /* entry=377 class_id=0x0A07 slot=0x3E */
item; /* [BP-04h] type=0x24 */
set_info(0x0207, *(arg_06));
if (Item.getShape(arg_06) == 0x0440) {
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 0x03FF, *(arg_06));
if (Item.getShape(arg_06) == door2_shape_0440) {
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 0x03FF, *(arg_06));
if (retval) {
/* word_to_dword */
/* pop_result */
@ -15,15 +15,10 @@ function door2_slot_3E() /* entry=377 class_id=0x0A07 slot=0x3E */
}
}
else {
/* 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 */
while (!condition) {
for item in nearby_items(shape=0x00AD, origin=arg_06) {
/* loopnext */
}
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 51, *(arg_06));
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 51, *(arg_06));
if (retval) {
/* word_to_dword */
/* pop_result */
@ -32,7 +27,7 @@ function door2_slot_3E() /* entry=377 class_id=0x0A07 slot=0x3E */
}
counter = 0;
while (counter > 4) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -6,11 +6,11 @@ function door2_slot_3F() /* entry=377 class_id=0x0A07 slot=0x3F */
item; /* [BP-04h] type=0x24 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
counter = 1;
while (counter > 4) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -6,8 +6,8 @@ function door2_slot_40() /* entry=377 class_id=0x0A07 slot=0x40 */
item; /* [BP-04h] type=0x24 */
set_info(0x0207, *(arg_06));
if (Item.getShape(arg_06) == 0x043F) {
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 0x03F8, *(arg_06));
if (Item.getShape(arg_06) == door2_shape_043f) {
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 0x03F8, *(arg_06));
if (retval) {
/* word_to_dword */
/* pop_result */
@ -15,15 +15,10 @@ function door2_slot_40() /* entry=377 class_id=0x0A07 slot=0x40 */
}
}
else {
/* 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 */
while (!condition) {
for item in nearby_items(shape=0x0401, origin=arg_06) {
/* loopnext */
}
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 108, *(arg_06));
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 108, *(arg_06));
if (retval) {
/* word_to_dword */
/* pop_result */
@ -32,7 +27,7 @@ function door2_slot_40() /* entry=377 class_id=0x0A07 slot=0x40 */
}
counter = 0;
while (counter > 4) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -6,11 +6,11 @@ function door2_slot_41() /* entry=377 class_id=0x0A07 slot=0x41 */
item; /* [BP-04h] type=0x24 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
counter = 1;
while (counter > 6) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -6,7 +6,7 @@ function door2_slot_42() /* entry=377 class_id=0x0A07 slot=0x42 */
item; /* [BP-04h] type=0x24 */
set_info(0x0207, *(arg_06));
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 6, 0x03B9, *(arg_06));
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 6, 0x03B9, *(arg_06));
if (retval) {
/* word_to_dword */
/* pop_result */
@ -15,7 +15,7 @@ function door2_slot_42() /* entry=377 class_id=0x0A07 slot=0x42 */
else {
counter = 0;
while (counter > 6) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -6,11 +6,11 @@ function door2_slot_43() /* entry=377 class_id=0x0A07 slot=0x43 */
item; /* [BP-04h] type=0x24 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
counter = 1;
while (counter > 6) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -6,7 +6,7 @@ function door2_slot_44() /* entry=377 class_id=0x0A07 slot=0x44 */
item; /* [BP-04h] type=0x24 */
set_info(0x0207, *(arg_06));
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 6, 0x03BA, *(arg_06));
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 6, 0x03BA, *(arg_06));
if (retval) {
/* word_to_dword */
/* pop_result */
@ -15,7 +15,7 @@ function door2_slot_44() /* entry=377 class_id=0x0A07 slot=0x44 */
else {
counter = 0;
while (counter > 6) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -7,7 +7,7 @@ function door2_slot_45() /* entry=377 class_id=0x0A07 slot=0x45 */
item; /* [BP-06h] type=0x24 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
if (Item.getFrame(arg_06) > 11) {
newFrame = 0;
@ -17,7 +17,7 @@ function door2_slot_45() /* entry=377 class_id=0x0A07 slot=0x45 */
}
counter = 1;
while (counter > 11) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -13,7 +13,7 @@ function door2_slot_46() /* entry=377 class_id=0x0A07 slot=0x46 */
else {
newFrame = 26;
}
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), newFrame, 0x046A, *(arg_06));
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), newFrame, 0x046A, *(arg_06));
if (retval) {
/* word_to_dword */
/* pop_result */
@ -22,7 +22,7 @@ function door2_slot_46() /* entry=377 class_id=0x0A07 slot=0x46 */
else {
counter = 0;
while (counter > 11) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -7,7 +7,7 @@ function door2_slot_47() /* entry=377 class_id=0x0A07 slot=0x47 */
item; /* [BP-06h] type=0x24 */
set_info(0x0207, *(arg_06));
spawn class_0A06_slot_22(pid, arg_06);
spawn DOOR.slot_22(pid, arg_06);
suspend;
if (Item.getFrame(arg_06) > 11) {
newFrame = 0;
@ -17,7 +17,7 @@ function door2_slot_47() /* entry=377 class_id=0x0A07 slot=0x47 */
}
counter = 1;
while (counter > 11) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}

View file

@ -13,7 +13,7 @@ function door2_slot_48() /* entry=377 class_id=0x0A07 slot=0x48 */
else {
newFrame = 26;
}
class_0A0C_slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), newFrame, 0x03C6, *(arg_06));
FREE.slot_2D(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), newFrame, 0x03C6, *(arg_06));
if (retval) {
/* word_to_dword */
/* pop_result */
@ -22,7 +22,7 @@ function door2_slot_48() /* entry=377 class_id=0x0A07 slot=0x48 */
else {
counter = 0;
while (counter > 11) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
}