This commit is contained in:
MaddoScientisto 2026-03-25 23:32:36 +01:00
commit f92d1504fa
547 changed files with 37597 additions and 0 deletions

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}