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

View file

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

View file

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

View file

@ -0,0 +1,6 @@
function item_slot_23() /* entry=400 class_id=0x0A1E slot=0x23 */
{
entry:
return;
}

View file

@ -0,0 +1,7 @@
function item_slot_24() /* entry=400 class_id=0x0A1E slot=0x24 */
{
entry:
/* bit_not */
return;
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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