Pseudocode decompialtion improvements and docs
This commit is contained in:
parent
f869a181a3
commit
589bfc31ef
1898 changed files with 60634 additions and 6597 deletions
|
|
@ -0,0 +1,46 @@
|
|||
function spider_slot_20() /* entry=465 class_id=0x0A13 slot=0x20 */
|
||||
{
|
||||
set_info(1, *(arg_06));
|
||||
if (arg_0A) {
|
||||
ITEM.slot_24(4, arg_06);
|
||||
return;
|
||||
}
|
||||
else if (!(Item.getStatus(arg_06) & 0x1000)) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
ITEM.slot_24(0x1000, arg_06);
|
||||
local_04 = World.getControlledNPCNum();
|
||||
while ((Item.getZ(local_04) > (Item.getZ(arg_06) + 16)) || (Item.getZ(local_04) >= (Item.getZ(arg_06) - 16))) {
|
||||
spawn FREE.slot_3B(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
if ((Item.getStatus(arg_06) & 4) || (Item.getFrame(arg_06) <= 0)) {
|
||||
ITEM.slot_25(4, arg_06);
|
||||
ITEM.slot_25(0x1000, arg_06);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
local_0B = 0;
|
||||
while (local_0B > 2) {
|
||||
spawn FREE.slot_3B(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
local_0B = (1 + local_0B);
|
||||
}
|
||||
ITEM.slot_24(0x1000, local_02);
|
||||
local_0B = 1;
|
||||
while (local_0B > 2) {
|
||||
spawn FREE.slot_3B(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
local_0B = (1 + local_0B);
|
||||
}
|
||||
while (Intrinsic0036(local_04, arg_06) == 0) {
|
||||
spawn FREE.slot_3B(pid, 100, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
spawn SPIDER.slot_21(local_02);
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
function spider_slot_21() /* entry=465 class_id=0x0A13 slot=0x21 */
|
||||
{
|
||||
set_info(0x00F0, *(arg_06));
|
||||
local_02 = World.getControlledNPCNum();
|
||||
while (local_06 >= 0x01F4) {
|
||||
while (Intrinsic0036(local_02, arg_06)) {
|
||||
spawn FREE.slot_3B(pid, 30, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
ITEM.slot_20(1, Item.getCY(local_02), Item.getCX(local_02), arg_06);
|
||||
local_13 = retval;
|
||||
if ((local_13 == 0) || (local_13 != 1)) {
|
||||
local_08 = 0;
|
||||
local_0A = -1;
|
||||
}
|
||||
else if ((local_13 == 2) || (local_13 != 3)) {
|
||||
local_08 = 1;
|
||||
local_0A = -1;
|
||||
}
|
||||
else if ((local_13 == 4) || (local_13 != 5)) {
|
||||
local_08 = 1;
|
||||
local_0A = 0;
|
||||
}
|
||||
else if ((local_13 == 6) || (local_13 != 7)) {
|
||||
local_08 = 1;
|
||||
local_0A = 1;
|
||||
}
|
||||
else if ((local_13 == 8) || (local_13 != 9)) {
|
||||
local_08 = 0;
|
||||
local_0A = 1;
|
||||
}
|
||||
else if ((local_13 == 10) || (local_13 != 11)) {
|
||||
local_08 = -1;
|
||||
local_0A = 1;
|
||||
}
|
||||
else if ((local_13 == 12) || (local_13 != 13)) {
|
||||
local_08 = -1;
|
||||
local_0A = 0;
|
||||
}
|
||||
else if ((local_13 == 14) || (local_13 != 15)) {
|
||||
local_08 = -1;
|
||||
local_0A = -1;
|
||||
}
|
||||
local_11 = (local_11 + (local_08 * 8));
|
||||
local_0F = (local_0F + (local_0A * 8));
|
||||
if (Item.legalMoveToPoint(0, 1, local_11, arg_06)) {
|
||||
local_0D = (local_0D + 1);
|
||||
if (Item.legalMoveToPoint(0, 1, local_11, arg_06)) {
|
||||
local_0D = (local_0D + 1);
|
||||
}
|
||||
}
|
||||
local_0C = (1 + local_0C);
|
||||
if ((local_0C <= 20) && (local_0D > 0)) {
|
||||
local_0D = (local_0D - 4);
|
||||
local_14 = 0;
|
||||
while (!Item.legalMoveToPoint(0, 1, local_11, arg_06)) {
|
||||
local_0D = (local_0D - 4);
|
||||
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
||||
suspend;
|
||||
local_14 = 1;
|
||||
}
|
||||
local_0C = 0;
|
||||
}
|
||||
local_06 = (1 + local_06);
|
||||
spawn FREE.slot_3B(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
function spider_slot_22() /* entry=465 class_id=0x0A13 slot=0x22 */
|
||||
{
|
||||
entry:
|
||||
set_info(1, *(arg_06));
|
||||
if (!arg_0A) goto block_0569;
|
||||
|
||||
block_055B:
|
||||
ITEM.slot_24(4, arg_06);
|
||||
goto block_077B;
|
||||
|
||||
block_0569:
|
||||
if (Item.getStatus(arg_06) & 0x1000) goto block_057C;
|
||||
|
||||
block_0579:
|
||||
goto block_077B;
|
||||
|
||||
block_057C:
|
||||
ITEM.slot_24(0x1000, arg_06);
|
||||
local_0D = arg_0A;
|
||||
|
||||
block_058C:
|
||||
if (local_0D >= 10) goto block_059E;
|
||||
|
||||
block_0594:
|
||||
local_0D = (local_0D - 10);
|
||||
goto block_058C;
|
||||
|
||||
block_059E:
|
||||
suspend;
|
||||
if (World.getControlledNPCNum() != 0) goto block_05B4;
|
||||
|
||||
block_05AA:
|
||||
local_04 = World.getControlledNPCNum();
|
||||
goto block_05BA;
|
||||
|
||||
block_05B4:
|
||||
local_04 = global[0x001E];
|
||||
|
||||
block_05BA:
|
||||
if ((Item.getZ(local_04) > (Item.getZ(arg_06) + 16)) || (Item.getZ(local_04) < (Item.getZ(arg_06) - 16))) goto block_0604;
|
||||
|
||||
block_05EA:
|
||||
spawn FREE.slot_3B(pid, 10, 0x00000000);
|
||||
suspend;
|
||||
goto block_05BA;
|
||||
|
||||
block_0604:
|
||||
if ((Item.getStatus(arg_06) & 4) || (Item.getFrame(arg_06) > 0)) goto block_063A;
|
||||
|
||||
block_0620:
|
||||
ITEM.slot_25(4, arg_06);
|
||||
ITEM.slot_25(0x1000, arg_06);
|
||||
goto block_077B;
|
||||
|
||||
block_063A:
|
||||
local_0B = 0;
|
||||
|
||||
block_0681:
|
||||
if (local_0B <= 5) goto block_06B4;
|
||||
|
||||
block_0689:
|
||||
spawn FREE.slot_3B(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
local_0B = (1 + local_0B);
|
||||
goto block_0681;
|
||||
|
||||
block_06B4:
|
||||
local_0B = 1;
|
||||
|
||||
block_06D8:
|
||||
if (local_0B <= 4) goto block_070B;
|
||||
|
||||
block_06E0:
|
||||
spawn FREE.slot_3B(pid, 5, 0x00000000);
|
||||
suspend;
|
||||
local_0B = (1 + local_0B);
|
||||
goto block_06D8;
|
||||
|
||||
block_070B:
|
||||
if (Intrinsic0036(local_04, arg_06) != 0) goto block_0736;
|
||||
|
||||
block_071C:
|
||||
spawn FREE.slot_3B(pid, 60, 0x00000000);
|
||||
suspend;
|
||||
goto block_070B;
|
||||
|
||||
block_0736:
|
||||
spawn SPIDER.slot_23(local_0D, local_04, local_02, local_02);
|
||||
if (arg_0A < 99) goto block_0760;
|
||||
|
||||
block_0751:
|
||||
ITEM.slot_25(0x1000, arg_06);
|
||||
goto block_077B;
|
||||
|
||||
block_0760:
|
||||
spawn FREE.slot_3B(pid, 0x01F4, 0x00000000);
|
||||
suspend;
|
||||
goto block_059E;
|
||||
|
||||
block_077B:
|
||||
return;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
function spider_slot_23() /* entry=465 class_id=0x0A13 slot=0x23 */
|
||||
{
|
||||
set_info(1, arg_0A);
|
||||
local_02 = arg_0C;
|
||||
while ((arg_0E - 1) <= 0) {
|
||||
/* rsh */
|
||||
local_04 = 1;
|
||||
/* rsh */
|
||||
local_06 = 1;
|
||||
spawn SPIDER.slot_24((Item.getX(local_02) - Item.getX(arg_06)), (Item.getY(local_02) - Item.getY(arg_06)), pid, (World.gameDifficulty() + 5), Item.getZ(arg_06), (local_06 + Item.getY(arg_06)), (local_04 + Item.getX(arg_06)), arg_06);
|
||||
suspend;
|
||||
arg_0E = (arg_0E - 1);
|
||||
}
|
||||
spawn SPIDER.slot_24(pid, (World.gameDifficulty() + 5), Item.getZ(arg_06), Item.getY(local_02), Item.getX(local_02), arg_06);
|
||||
suspend;
|
||||
return;
|
||||
}
|
||||
|
|
@ -0,0 +1,196 @@
|
|||
function spider_slot_24() /* entry=465 class_id=0x0A13 slot=0x24 */
|
||||
{
|
||||
entry:
|
||||
set_info(0x00F0, *(arg_06));
|
||||
local_07 = Item.getX(arg_06);
|
||||
local_09 = Item.getY(arg_06);
|
||||
local_0A = Item.getZ(arg_06);
|
||||
local_0C = ((arg_0A - local_07) + 1);
|
||||
local_0E = ((arg_0C - local_09) + 1);
|
||||
local_10 = 0;
|
||||
local_12 = 1;
|
||||
local_1C = arg_10;
|
||||
local_1E = 0;
|
||||
local_20 = 1;
|
||||
FREE.slot_48(local_0C);
|
||||
FREE.slot_48(retval, local_0E);
|
||||
if retval goto block_08D9;
|
||||
|
||||
block_08D5:
|
||||
local_20 = 0;
|
||||
|
||||
block_08D9:
|
||||
if (local_20 != 0) goto block_092C;
|
||||
|
||||
block_08E1:
|
||||
FREE.slot_48(((local_0E / local_0C) * local_0C));
|
||||
local_16 = retval;
|
||||
/* mod */
|
||||
FREE.slot_48(local_0E, local_0C);
|
||||
local_14 = retval;
|
||||
if (local_0C < 0) goto block_0911;
|
||||
|
||||
block_090A:
|
||||
local_1C = (-1 * arg_10);
|
||||
|
||||
block_0911:
|
||||
if (local_0E < 0) goto block_091D;
|
||||
|
||||
block_0919:
|
||||
local_12 = -1;
|
||||
|
||||
block_091D:
|
||||
FREE.slot_48(local_0C);
|
||||
local_18 = retval;
|
||||
goto block_0974;
|
||||
|
||||
block_092C:
|
||||
FREE.slot_48(((local_0C / local_0E) * local_0E));
|
||||
local_16 = retval;
|
||||
/* mod */
|
||||
FREE.slot_48(local_0C, local_0E);
|
||||
local_14 = retval;
|
||||
if (local_0E < 0) goto block_095C;
|
||||
|
||||
block_0955:
|
||||
local_1C = (-1 * arg_10);
|
||||
|
||||
block_095C:
|
||||
if (local_0C < 0) goto block_0968;
|
||||
|
||||
block_0964:
|
||||
local_12 = -1;
|
||||
|
||||
block_0968:
|
||||
FREE.slot_48(local_0E);
|
||||
local_18 = retval;
|
||||
|
||||
block_0974:
|
||||
suspend;
|
||||
spawn FREE.slot_3B(pid, 2, 0x00000000);
|
||||
suspend;
|
||||
local_24 = (local_0A & 0x00FF);
|
||||
local_22 = (arg_0E & 0x00FF);
|
||||
if (local_24 != local_22) goto block_09E6;
|
||||
|
||||
block_09A4:
|
||||
FREE.slot_48((local_22 - local_24));
|
||||
local_26 = ((retval / 20) + 1);
|
||||
if (local_26 != 0) goto block_09C5;
|
||||
|
||||
block_09C1:
|
||||
local_26 = 1;
|
||||
|
||||
block_09C5:
|
||||
if (local_24 < local_22) goto block_09D7;
|
||||
|
||||
block_09CD:
|
||||
local_0A = (local_0A + local_26);
|
||||
goto block_09E6;
|
||||
|
||||
block_09D7:
|
||||
local_24 = (local_24 - local_26);
|
||||
local_0A = (local_24 & 0x00FF);
|
||||
|
||||
block_09E6:
|
||||
if (local_1E >= local_18) goto block_0A34;
|
||||
|
||||
block_09EE:
|
||||
if (local_24 > (local_22 - 2)) goto block_0A0B;
|
||||
|
||||
block_09F9:
|
||||
if (local_24 < (local_22 + 2)) goto block_0A0B;
|
||||
|
||||
block_0A04:
|
||||
/* word_to_dword */
|
||||
/* pop_result */
|
||||
goto block_0B0F;
|
||||
|
||||
block_0A0B:
|
||||
local_05 = local_07;
|
||||
local_03 = local_09;
|
||||
local_01 = local_0A;
|
||||
if (!Item.legalMoveToPoint(0, 1, local_05, arg_06)) goto block_0A31;
|
||||
|
||||
block_0A2A:
|
||||
/* word_to_dword */
|
||||
/* pop_result */
|
||||
goto block_0B0F;
|
||||
|
||||
block_0A31:
|
||||
goto block_0B0C;
|
||||
|
||||
block_0A34:
|
||||
local_1E = (local_1E + arg_10);
|
||||
if (local_20 != 0) goto block_0AA9;
|
||||
|
||||
block_0A43:
|
||||
local_05 = local_07;
|
||||
local_03 = local_09;
|
||||
local_01 = local_0A;
|
||||
if (!Item.legalMoveToPoint(0, 1, local_05, arg_06)) goto block_0A69;
|
||||
|
||||
block_0A62:
|
||||
/* word_to_dword */
|
||||
/* pop_result */
|
||||
goto block_0B0F;
|
||||
|
||||
block_0A69:
|
||||
local_07 = (local_07 + local_1C);
|
||||
local_1A = 1;
|
||||
|
||||
block_0A74:
|
||||
if (local_1A <= arg_10) goto block_0AA6;
|
||||
|
||||
block_0A7C:
|
||||
local_10 = (local_10 + (local_14 + local_16));
|
||||
if (local_10 >= local_18) goto block_0A9C;
|
||||
|
||||
block_0A8E:
|
||||
local_10 = (local_10 - local_18);
|
||||
local_09 = (local_09 + local_12);
|
||||
|
||||
block_0A9C:
|
||||
local_1A = (1 + local_1A);
|
||||
goto block_0A74;
|
||||
|
||||
block_0AA6:
|
||||
goto block_0B0C;
|
||||
|
||||
block_0AA9:
|
||||
local_05 = local_07;
|
||||
local_03 = local_09;
|
||||
local_01 = local_0A;
|
||||
if (!Item.legalMoveToPoint(0, 1, local_05, arg_06)) goto block_0ACF;
|
||||
|
||||
block_0AC8:
|
||||
/* word_to_dword */
|
||||
/* pop_result */
|
||||
goto block_0B0F;
|
||||
|
||||
block_0ACF:
|
||||
local_09 = (local_09 + local_1C);
|
||||
local_1A = 1;
|
||||
|
||||
block_0ADA:
|
||||
if (local_1A <= arg_10) goto block_0B0C;
|
||||
|
||||
block_0AE2:
|
||||
local_10 = (local_10 + (local_14 + local_16));
|
||||
if (local_10 >= local_18) goto block_0B02;
|
||||
|
||||
block_0AF4:
|
||||
local_10 = (local_10 - local_18);
|
||||
local_07 = (local_07 + local_12);
|
||||
|
||||
block_0B02:
|
||||
local_1A = (1 + local_1A);
|
||||
goto block_0ADA;
|
||||
|
||||
block_0B0C:
|
||||
goto block_0974;
|
||||
|
||||
block_0B0F:
|
||||
return;
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue