Pseudocode and stuff

This commit is contained in:
MaddoScientisto 2026-03-25 23:32:13 +01:00
commit ee33f94b4b
466 changed files with 27770 additions and 276 deletions

View file

@ -0,0 +1,640 @@
function hover_slot_20() /* entry=383 class_id=0x0A0D slot=0x20 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
tx, /* [BP+0Ch] type=0x69 */
ty, /* [BP+0Eh] type=0x69 */
tz, /* [BP+10h] type=0x69 */
wp, /* [BP-05h] type=0x24 */
total, /* [BP-07h] type=0x69 */
counter, /* [BP-09h] type=0x69 */
ddx, /* [BP-0Bh] type=0x69 */
ddy, /* [BP-0Dh] type=0x69 */
ddz, /* [BP-0Fh] type=0x69 */
dx, /* [BP-11h] type=0x69 */
dy, /* [BP-13h] type=0x69 */
dz, /* [BP-15h] type=0x69 */
cargo, /* [BP-17h] type=0x24 */
hover, /* [BP-19h] type=0x24 */
sx, /* [BP-1Bh] type=0x69 */
sy, /* [BP-1Dh] type=0x69 */
sz, /* [BP-1Eh] type=0x62 */
a, /* [BP-20h] type=0x69 */
b, /* [BP-22h] type=0x69 */
c, /* [BP-24h] type=0x69 */
xacc, /* [BP-28h] type=0x64 */
yacc, /* [BP-2Ch] type=0x64 */
zacc, /* [BP-30h] type=0x64 */
xfract, /* [BP-34h] type=0x64 */
yfract, /* [BP-38h] type=0x64 */
zfract, /* [BP-3Ch] type=0x64 */
l1, /* [BP-40h] type=0x64 */
n; /* [BP-42h] type=0x24 */
entry:
set_info(1, 0);
hover = ref;
sx = Intrinsic0013(hover);
sy = Item.legal_create(hover);
sz = Item.getZ(hover);
class_0A0C_slot_3F((tx - sx));
a = retval;
class_0A0C_slot_3F((ty - sy));
b = retval;
class_0A0C_slot_3F((tz - sz));
c = retval;
if ((a > b) && (a > c)) goto block_05B3;
block_0183:
/* word_to_dword */
l1 = a;
/* word_to_dword */
yfract = b;
/* word_to_dword */
yfract = (yfract * 0x0FA0);
yfract = (yfract / l1);
/* word_to_dword */
yacc = 0;
/* word_to_dword */
zfract = c;
/* word_to_dword */
zfract = (zfract * 0x0FA0);
zfract = (zfract / l1);
/* word_to_dword */
zacc = 0;
block_01D7:
if 1 goto block_05B0;
block_01DF:
if ((Item.getStatus(hover) & 0x1000) != 0) goto block_01FF;
block_01F5:
/* word_to_dword */
/* pop_result */
goto block_0E24;
block_01FF:
dx = (tx - sx);
dy = (ty - sy);
dz = (tz - sz);
ddx = 0;
ddy = 0;
ddz = 0;
if ((dx < 4) && (dx > -4)) goto block_0250;
block_0246:
/* word_to_dword */
/* pop_result */
goto block_0E24;
block_0250:
ddx = 4;
if (dx < 0) goto block_0269;
block_0262:
ddx = -4;
block_0269:
if dy goto block_02AD;
block_0271:
yacc = (yacc + yfract);
/* word_to_dword */
/* gt_dword */
if 0x0FA0 goto block_02AD;
block_0288:
/* word_to_dword */
yacc = (yacc - 0x0FA0);
ddy = 4;
if (dy < 0) goto block_02AD;
block_02A6:
ddy = -4;
block_02AD:
if dz goto block_02F1;
block_02B5:
zacc = (zacc + zfract);
/* word_to_dword */
/* gt_dword */
if 0x0FA0 goto block_02F1;
block_02CC:
/* word_to_dword */
zacc = (zacc - 0x0FA0);
ddz = 4;
if (dz < 0) goto block_02F1;
block_02EA:
ddz = -4;
block_02F1:
total = 0;
/* loopscr value_u8=0x24 */
/* loop current_var=0xE9 string_bytes=0x1 loop_type=0x6 */
block_0306:
if condition goto block_039B;
block_0309:
if (Intrinsic0016(cargo) != 0x033A) goto block_0397;
block_031C:
if (cargo < 0x00FF) goto block_0382;
block_032B:
n = cargo;
if Kernel.resetRef(n) goto block_036A;
block_0341:
suspend;
goto block_037F;
block_036A:
total = (1 + total);
block_037F:
goto block_0397;
block_0382:
total = (1 + total);
block_0397:
/* loopnext */
goto block_0306;
block_039B:
sx = (sx + ddx);
sy = (sy + ddy);
sz = (sz + ddz);
wp = sx;
local_03 = sy;
local_01 = sz;
if (Intrinsic002C(hover) != 0) goto block_0459;
block_03E2:
counter = 1;
block_0405:
if (counter <= total) goto block_0456;
block_0410:
cargo = Intrinsic0023();
counter = (1 + counter);
goto block_0405;
block_0456:
goto block_0587;
block_0459:
if Item.pop(0, 1, wp, hover) goto block_04C9;
block_046E:
counter = 1;
block_0475:
if (counter <= total) goto block_04C6;
block_0480:
cargo = Intrinsic0023();
counter = (1 + counter);
goto block_0475;
block_04C6:
goto block_0587;
block_04C9:
counter = 1;
block_04D0:
if (counter <= total) goto block_0518;
block_04DB:
cargo = Intrinsic0023();
counter = (1 + counter);
goto block_04D0;
block_0518:
if (Intrinsic00BE(hover) & 16) goto block_0543;
block_052A:
/* bit_not */
/* word_to_dword */
/* pop_result */
goto block_0E24;
block_0543:
sx = (sx - ddx);
sy = (sy - ddy);
sz = (sz - ddz);
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
block_0587:
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
goto block_01D7;
block_05B0:
goto block_0E24;
block_05B3:
if ((b > a) && (b > c)) goto block_09F7;
block_05C7:
/* word_to_dword */
l1 = b;
/* word_to_dword */
xfract = a;
/* word_to_dword */
xfract = (xfract * 0x0FA0);
xfract = (xfract / l1);
/* word_to_dword */
xacc = 0;
/* word_to_dword */
zfract = c;
/* word_to_dword */
zfract = (zfract * 0x0FA0);
zfract = (zfract / l1);
/* word_to_dword */
zacc = 0;
block_061B:
if 1 goto block_09F4;
block_0623:
if ((Item.getStatus(hover) & 0x1000) != 0) goto block_0643;
block_0639:
/* word_to_dword */
/* pop_result */
goto block_0E24;
block_0643:
dx = (tx - sx);
dy = (ty - sy);
dz = (tz - sz);
ddx = 0;
ddy = 0;
ddz = 0;
if ((dy < 4) && (dy > -4)) goto block_0694;
block_068A:
/* word_to_dword */
/* pop_result */
goto block_0E24;
block_0694:
if dx goto block_06D8;
block_069C:
xacc = (xacc + xfract);
/* word_to_dword */
/* gt_dword */
if 0x0FA0 goto block_06D8;
block_06B3:
/* word_to_dword */
xacc = (xacc - 0x0FA0);
ddx = 4;
if (dx < 0) goto block_06D8;
block_06D1:
ddx = -4;
block_06D8:
ddy = 4;
if (dy < 0) goto block_06F1;
block_06EA:
ddy = -4;
block_06F1:
if dz goto block_0735;
block_06F9:
zacc = (zacc + zfract);
/* word_to_dword */
/* gt_dword */
if 0x0FA0 goto block_0735;
block_0710:
/* word_to_dword */
zacc = (zacc - 0x0FA0);
ddz = 4;
if (dz < 0) goto block_0735;
block_072E:
ddz = -4;
block_0735:
total = 0;
/* loopscr value_u8=0x24 */
/* loop current_var=0xE9 string_bytes=0x1 loop_type=0x6 */
block_074A:
if condition goto block_07DF;
block_074D:
if (Intrinsic0016(cargo) != 0x033A) goto block_07DB;
block_0760:
if (cargo < 0x00FF) goto block_07C6;
block_076F:
n = cargo;
if Kernel.resetRef(n) goto block_07AE;
block_0785:
suspend;
goto block_07C3;
block_07AE:
total = (1 + total);
block_07C3:
goto block_07DB;
block_07C6:
total = (1 + total);
block_07DB:
/* loopnext */
goto block_074A;
block_07DF:
sx = (sx + ddx);
sy = (sy + ddy);
sz = (sz + ddz);
wp = sx;
local_03 = sy;
local_01 = sz;
if (Intrinsic002C(hover) != 0) goto block_089D;
block_0826:
counter = 1;
block_0849:
if (counter <= total) goto block_089A;
block_0854:
cargo = Intrinsic0023();
counter = (1 + counter);
goto block_0849;
block_089A:
goto block_09CB;
block_089D:
if Item.pop(0, 1, wp, hover) goto block_090D;
block_08B2:
counter = 1;
block_08B9:
if (counter <= total) goto block_090A;
block_08C4:
cargo = Intrinsic0023();
counter = (1 + counter);
goto block_08B9;
block_090A:
goto block_09CB;
block_090D:
counter = 1;
block_0914:
if (counter <= total) goto block_095C;
block_091F:
cargo = Intrinsic0023();
counter = (1 + counter);
goto block_0914;
block_095C:
if (Intrinsic00BE(hover) & 16) goto block_0987;
block_096E:
/* bit_not */
/* word_to_dword */
/* pop_result */
goto block_0E24;
block_0987:
sx = (sx - ddx);
sy = (sy - ddy);
sz = (sz - ddz);
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
block_09CB:
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
goto block_061B;
block_09F4:
goto block_0E24;
block_09F7:
/* word_to_dword */
l1 = c;
/* word_to_dword */
xfract = a;
/* word_to_dword */
xfract = (xfract * 0x0FA0);
xfract = (xfract / l1);
/* word_to_dword */
xacc = 0;
/* word_to_dword */
yfract = b;
/* word_to_dword */
yfract = (yfract * 0x0FA0);
yfract = (yfract / l1);
/* word_to_dword */
yacc = 0;
block_0A4B:
if 1 goto block_0E24;
block_0A53:
if ((Item.getStatus(hover) & 0x1000) != 0) goto block_0A73;
block_0A69:
/* word_to_dword */
/* pop_result */
goto block_0E24;
block_0A73:
dx = (tx - sx);
dy = (ty - sy);
dz = (tz - sz);
ddx = 0;
ddy = 0;
ddz = 0;
if ((dz < 4) && (dz > -4)) goto block_0AC4;
block_0ABA:
/* word_to_dword */
/* pop_result */
goto block_0E24;
block_0AC4:
if dx goto block_0B08;
block_0ACC:
xacc = (xacc + xfract);
/* word_to_dword */
/* gt_dword */
if 0x0FA0 goto block_0B08;
block_0AE3:
/* word_to_dword */
xacc = (xacc - 0x0FA0);
ddx = 4;
if (dx < 0) goto block_0B08;
block_0B01:
ddx = -4;
block_0B08:
if dy goto block_0B4C;
block_0B10:
yacc = (yacc + yfract);
/* word_to_dword */
/* gt_dword */
if 0x0FA0 goto block_0B4C;
block_0B27:
/* word_to_dword */
yacc = (yacc - 0x0FA0);
ddy = 4;
if (dy < 0) goto block_0B4C;
block_0B45:
ddy = -4;
block_0B4C:
ddz = 4;
if (dz < 0) goto block_0B65;
block_0B5E:
ddz = -4;
block_0B65:
total = 0;
/* loopscr value_u8=0x24 */
/* loop current_var=0xE9 string_bytes=0x1 loop_type=0x6 */
block_0B7A:
if condition goto block_0C0F;
block_0B7D:
if (Intrinsic0016(cargo) != 0x033A) goto block_0C0B;
block_0B90:
if (cargo < 0x00FF) goto block_0BF6;
block_0B9F:
n = cargo;
if Kernel.resetRef(n) goto block_0BDE;
block_0BB5:
suspend;
goto block_0BF3;
block_0BDE:
total = (1 + total);
block_0BF3:
goto block_0C0B;
block_0BF6:
total = (1 + total);
block_0C0B:
/* loopnext */
goto block_0B7A;
block_0C0F:
sx = (sx + ddx);
sy = (sy + ddy);
sz = (sz + ddz);
wp = sx;
local_03 = sy;
local_01 = sz;
if (Intrinsic002C(hover) != 0) goto block_0CCD;
block_0C56:
counter = 1;
block_0C79:
if (counter <= total) goto block_0CCA;
block_0C84:
cargo = Intrinsic0023();
counter = (1 + counter);
goto block_0C79;
block_0CCA:
goto block_0DFB;
block_0CCD:
if Item.pop(0, 1, wp, hover) goto block_0D3D;
block_0CE2:
counter = 1;
block_0CE9:
if (counter <= total) goto block_0D3A;
block_0CF4:
cargo = Intrinsic0023();
counter = (1 + counter);
goto block_0CE9;
block_0D3A:
goto block_0DFB;
block_0D3D:
counter = 1;
block_0D44:
if (counter <= total) goto block_0D8C;
block_0D4F:
cargo = Intrinsic0023();
counter = (1 + counter);
goto block_0D44;
block_0D8C:
if (Intrinsic00BE(hover) & 16) goto block_0DB7;
block_0D9E:
/* bit_not */
/* word_to_dword */
/* pop_result */
goto block_0E24;
block_0DB7:
sx = (sx - ddx);
sy = (sy - ddy);
sz = (sz - ddz);
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
block_0DFB:
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
goto block_0A4B;
block_0E24:
return;
}

View file

@ -0,0 +1,134 @@
function hover_slot_21() /* entry=383 class_id=0x0A0D slot=0x21 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
h, /* [BP-02h] type=0x69 */
firstEgg, /* [BP-04h] type=0x69 */
targetEgg, /* [BP-06h] type=0x69 */
time, /* [BP-08h] type=0x69 */
oldqhi, /* [BP-0Ah] type=0x69 */
link, /* [BP-0Ch] type=0x69 */
tx, /* [BP-0Eh] type=0x69 */
ty, /* [BP-10h] type=0x69 */
tz, /* [BP-11h] type=0x62 */
hover, /* [BP-13h] type=0x24 */
item; /* [BP-15h] type=0x24 */
entry:
set_info(1, 0);
hover = ref;
h = Intrinsic00BE(hover);
oldqhi = h;
firstEgg = (h & 15);
targetEgg = firstEgg;
block_0F73:
if 1 goto block_1256;
block_0F7B:
if ((Item.getStatus(hover) & 0x1000) != 0) goto block_0FC9;
block_0F91:
spawn class_0A0D_slot_23(pid, 1, ref, arg_06);
suspend;
goto block_1256;
block_0FC9:
link = Item.getQHi(hover);
tx = -1;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xEB string_bytes=0x6 loop_type=0x2 */
block_0FFA:
if condition goto block_106C;
block_0FFD:
if (Item.getFrame(item) != targetEgg) goto block_1068;
block_100F:
if ((link != 0) || (link != Item.getQHi(item))) goto block_1068;
block_102A:
tx = Intrinsic0013(item);
ty = Item.legal_create(item);
tz = Item.getZ(item);
time = Intrinsic00BE(item);
goto block_106C;
block_1068:
/* loopnext */
goto block_0FFA;
block_106C:
if (tx != -1) goto block_10CE;
block_1079:
if (targetEgg != firstEgg) goto block_10A6;
block_1084:
/* bit_not */
goto block_1256;
block_10A6:
targetEgg = firstEgg;
h = (h & 0x00F0);
goto block_0F73;
block_10CE:
spawn class_0A0D_slot_20(pid, tz, ty, tx, ref, arg_06);
suspend;
/* dword_to_word */
if (process_result != 1) goto block_1112;
block_10FF:
goto block_1256;
block_1112:
spawn class_0A0D_slot_24(pid, targetEgg, ref, arg_06);
suspend;
if ((Item.getStatus(hover) & 0x1000) != 0) goto block_1185;
block_114D:
spawn class_0A0D_slot_23(pid, 1, ref, arg_06);
suspend;
goto block_1256;
block_1185:
if (h & 0x0080) goto block_11BA;
block_1191:
spawn class_0A18_slot_20(pid, (0 + 0x0080), item, arg_06);
suspend;
block_11BA:
if (time != 0) goto block_11EE;
block_11C5:
spawn class_0A0C_slot_32(pid, (time * 10), 0x00000000);
suspend;
block_11EE:
h = Intrinsic00BE(hover);
if ((h & 15) != targetEgg) goto block_1220;
block_1210:
targetEgg = ((targetEgg + 1) & 15);
goto block_1238;
block_1220:
firstEgg = (h & 15);
targetEgg = firstEgg;
oldqhi = h;
block_1238:
h = (h & 0x00F0);
goto block_0F73;
block_1256:
return;
}

View file

@ -0,0 +1,62 @@
function hover_slot_22() /* entry=383 class_id=0x0A0D slot=0x22 */
{
var
referent, /* [BP+00h] type=0x69 */
var, /* [BP+0Ah] type=0x69 */
a; /* [BP-02h] type=0x69 */
entry:
set_info(0x021B, *(arg_06));
if (var != 0x00FF) goto block_132C;
block_12FC:
if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_1329;
block_1315:
spawn class_0A0D_slot_21(*(arg_06), arg_06);
block_1329:
goto block_14C5;
block_132C:
if (var != 0x00FE) goto block_134A;
block_1338:
/* bit_not */
goto block_14C5;
block_134A:
if (var != 0x00FD) goto block_140F;
block_1356:
/* bit_not */
spawn class_0A0C_slot_32(pid, 20, 0x00000000);
suspend;
a = Intrinsic00BE(arg_06);
spawn class_0A0D_slot_20(pid, 0, Item.legal_create(arg_06), Intrinsic0013(arg_06), *(arg_06), arg_06);
suspend;
/* bit_not */
goto block_14C5;
block_140F:
if (var != 0x00FC) goto block_147A;
block_141B:
/* bit_not */
spawn class_0A0C_slot_32(pid, 20, 0x00000000);
suspend;
spawn class_0A0D_slot_23(pid, 0, *(arg_06), arg_06);
suspend;
goto block_14C5;
block_147A:
if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_14C5;
block_14A0:
spawn class_0A0D_slot_21(pid, *(arg_06), arg_06);
suspend;
block_14C5:
return;
}

View file

@ -0,0 +1,79 @@
function hover_slot_23() /* entry=383 class_id=0x0A0D slot=0x23 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
check, /* [BP+0Ch] type=0x62 */
cargo, /* [BP-02h] type=0x24 */
item, /* [BP-04h] type=0x24 */
hover, /* [BP-06h] type=0x24 */
dx, /* [BP-08h] type=0x69 */
dy, /* [BP-0Ah] type=0x69 */
dz, /* [BP-0Ch] type=0x69 */
firstEgg, /* [BP-0Eh] type=0x69 */
link, /* [BP-10h] type=0x69 */
x, /* [BP-12h] type=0x69 */
y, /* [BP-14h] type=0x69 */
z; /* [BP-15h] type=0x62 */
entry:
set_info(1, 0);
hover = ref;
if ((check != 1) && (Intrinsic002C(hover) != 1)) goto block_1524;
block_151E:
goto block_1678;
block_1524:
firstEgg = (Intrinsic00BE(hover) & 15);
link = Item.getQHi(hover);
/* 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_155F:
if condition goto block_1676;
block_1562:
if (Item.getFrame(item) != firstEgg) goto block_1672;
block_1574:
if ((link != 0) || (link != Item.getQHi(item))) goto block_1672;
block_158F:
x = Intrinsic0013(item);
y = Item.legal_create(item);
z = Item.getZ(item);
dx = (x - Intrinsic0013(hover));
dy = (y - Item.legal_create(hover));
dz = (z - Item.getZ(hover));
/* loopscr value_u8=0x24 */
/* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */
block_15FA:
if condition goto block_164E;
block_15FD:
if (Intrinsic0016(cargo) != 0x033A) goto block_164A;
block_1610:
block_164A:
/* loopnext */
goto block_15FA;
block_164E:
goto block_1678;
block_1672:
/* loopnext */
goto block_155F;
block_1676:
block_1678:
return;
}

View file

@ -0,0 +1,72 @@
function hover_slot_24() /* entry=383 class_id=0x0A0D slot=0x24 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
egg, /* [BP+0Ch] type=0x69 */
cargo, /* [BP-02h] type=0x24 */
item, /* [BP-04h] type=0x24 */
hover, /* [BP-06h] type=0x24 */
dx, /* [BP-08h] type=0x69 */
dy, /* [BP-0Ah] type=0x69 */
dz, /* [BP-0Ch] type=0x69 */
firstEgg, /* [BP-0Eh] type=0x69 */
link, /* [BP-10h] type=0x69 */
x, /* [BP-12h] type=0x69 */
y, /* [BP-14h] type=0x69 */
z; /* [BP-15h] type=0x62 */
entry:
set_info(1, 0);
hover = ref;
link = Item.getQHi(hover);
/* 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_173E:
if condition goto block_1855;
block_1741:
if (Item.getFrame(item) != egg) goto block_1851;
block_1753:
if ((link != 0) || (link != Item.getQHi(item))) goto block_1851;
block_176E:
x = Intrinsic0013(item);
y = Item.legal_create(item);
z = Item.getZ(item);
dx = (x - Intrinsic0013(hover));
dy = (y - Item.legal_create(hover));
dz = (z - Item.getZ(hover));
/* loopscr value_u8=0x24 */
/* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */
block_17D9:
if condition goto block_182D;
block_17DC:
if (Intrinsic0016(cargo) != 0x033A) goto block_1829;
block_17EF:
block_1829:
/* loopnext */
goto block_17D9;
block_182D:
goto block_1857;
block_1851:
/* loopnext */
goto block_173E;
block_1855:
block_1857:
return;
}