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

@ -2,12 +2,12 @@
<FILE_INFO>
<BASIC_INFO>
<STATE NAME="EXCLUSIVE" TYPE="boolean" VALUE="true" />
<STATE NAME="CHECKOUT_VERSION" TYPE="int" VALUE="2" />
<STATE NAME="CHECKOUT_VERSION" TYPE="int" VALUE="3" />
<STATE NAME="CONTENT_TYPE" TYPE="string" VALUE="Program" />
<STATE NAME="PARENT" TYPE="string" VALUE="/" />
<STATE NAME="FILE_ID" TYPE="string" VALUE="c0a86451c28c202638381579400" />
<STATE NAME="FILE_TYPE" TYPE="int" VALUE="0" />
<STATE NAME="LOCAL_CHECKOUT_VERSION" TYPE="int" VALUE="9" />
<STATE NAME="LOCAL_CHECKOUT_VERSION" TYPE="int" VALUE="25" />
<STATE NAME="READ_ONLY" TYPE="boolean" VALUE="false" />
<STATE NAME="CHECKOUT_ID" TYPE="long" VALUE="2" />
<STATE NAME="NAME" TYPE="string" VALUE="CRUSADER.EXE" />

Binary file not shown.

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<CHECKOUT_LIST NEXT_ID="3">
<CHECKOUT ID="2" USER="Maddo" VERSION="2" TIME="1774389005832" PROJECT="Cirno-PC::K:/ghidra/Crusader_Decomp/Crusader" EXCLUSIVE="true" />
<CHECKOUT ID="2" USER="Maddo" VERSION="3" TIME="1774476736793" PROJECT="Cirno-PC::K:/ghidra/Crusader_Decomp/Crusader" EXCLUSIVE="true" />
</CHECKOUT_LIST>

View file

@ -1,2 +1,3 @@
1;Maddo;1774376667876;Base before edits
2;Maddo;1774389005800;Computer Gump
3;Maddo;1774476736765;Big disasm pass

Binary file not shown.

View file

@ -0,0 +1,35 @@
function alarmbox_use() /* entry=256 class_id=0x0477 slot=0x01 */
{
var
referent, /* [BP+00h] type=0x69 */
item; /* [BP-02h] type=0x24 */
entry:
set_info(0x0207, *(arg_06));
process_exclude();
if Intrinsic0000() goto block_0232;
block_01AA:
if (Item.getFrame(arg_06) != 2) goto block_01C9;
block_01B9:
goto block_01E8;
block_01C9:
if (Item.getFrame(arg_06) != 3) goto block_01E8;
block_01D8:
goto block_01E8;
block_01E8:
spawn class_0A0C_slot_3C(0x00000000);
if (Item.getMapNum(arg_06) != 0) goto block_0232;
block_020B:
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
suspend;
block_0232:
return;
}

View file

@ -0,0 +1,32 @@
function alarmbox_equip() /* entry=256 class_id=0x0477 slot=0x0A */
{
var
referent, /* [BP+00h] type=0x69 */
var, /* [BP+0Ah] type=0x69 */
a; /* [BP-02h] type=0x69 */
set_info(0x0211, *(arg_06));
process_exclude();
if (!var) {
if (Intrinsic0000()) {
spawn class_0A0C_slot_3B(0x00000000);
}
a = Item.getStatus(arg_06);
if ((a & 4) == 0) {
if (Item.getMapNum(arg_06) == 0) {
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
suspend;
}
}
return;
}
if (!Intrinsic0000()) {
spawn class_0A0C_slot_3C(0x00000000);
if (Item.getMapNum(arg_06) == 0) {
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
suspend;
}
}
return;
}

View file

@ -0,0 +1,38 @@
function alarmbox_enterFastArea() /* entry=256 class_id=0x0477 slot=0x0F */
{
entry:
set_info(0x021B, *(arg_06));
process_exclude();
if Intrinsic0000() goto block_0137;
block_00F6:
if (Item.getFrame(arg_06) != 0) goto block_0115;
block_0105:
goto block_0134;
block_0115:
if (Item.getFrame(arg_06) != 1) goto block_0134;
block_0124:
goto block_0134;
block_0134:
goto block_0175;
block_0137:
if (Item.getFrame(arg_06) != 2) goto block_0156;
block_0146:
goto block_0175;
block_0156:
if (Item.getFrame(arg_06) != 3) goto block_0175;
block_0165:
goto block_0175;
block_0175:
return;
}

View file

@ -0,0 +1,88 @@
function alarmhat_equip() /* entry=321 class_id=0x0561 slot=0x0A */
{
var
referent, /* [BP+00h] type=0x69 */
var, /* [BP+0Ah] type=0x69 */
item, /* [BP-02h] type=0x24 */
npc; /* [BP-04h] type=0x24 */
entry:
set_info(0x0211, *(arg_06));
process_exclude();
if Item.getFrame(arg_06) goto block_0156;
block_00FA:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0118:
if condition goto block_0151;
block_011B:
if (Item.getFrame(item) != 0) goto block_014D;
block_012D:
suspend;
block_014D:
/* loopnext */
goto block_0118;
block_0151:
goto block_0233;
block_0156:
if (!Intrinsic0007(arg_06)) goto block_0233;
block_0169:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x3A */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */
block_0186:
if condition goto block_01D8;
block_0189:
if Item.isNpc(npc) goto block_01D4;
block_0198:
if ((Item.getZ(npc) > (Item.getZ(arg_06) - 10)) && (Item.getZ(npc) < (Item.getZ(arg_06) + 10))) goto block_01D4;
block_01CE:
goto block_0233;
block_01D4:
/* loopnext */
goto block_0186;
block_01D8:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_01F8:
if condition goto block_0231;
block_01FB:
if (Item.getFrame(item) != 0) goto block_022D;
block_020D:
suspend;
block_022D:
/* loopnext */
goto block_01F8;
block_0231:
block_0233:
return;
}

View file

@ -0,0 +1,16 @@
function alarm_ew_enterFastArea() /* entry=4 class_id=0x0021 slot=0x0F */
{
entry:
set_info(0x021B, *(arg_06));
process_exclude();
if Intrinsic0000() goto block_0106;
block_00F6:
goto block_0113;
block_0106:
block_0113:
return;
}

View file

@ -0,0 +1,16 @@
function alarm_ns_enterFastArea() /* entry=8 class_id=0x0049 slot=0x0F */
{
entry:
set_info(0x021B, *(arg_06));
process_exclude();
if Intrinsic0000() goto block_0106;
block_00F6:
goto block_0113;
block_0106:
block_0113:
return;
}

View file

@ -0,0 +1,43 @@
function alrmtrig_equip() /* entry=328 class_id=0x0581 slot=0x0A */
{
entry:
set_info(0x0211, *(arg_06));
process_exclude();
if (Item.getMapNum(arg_06) != 0) goto block_015C;
block_00FD:
if Intrinsic0000() goto block_0132;
block_0108:
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
suspend;
goto block_0159;
block_0132:
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
suspend;
block_0159:
goto block_01C0;
block_015C:
if Intrinsic0000() goto block_0195;
block_0167:
spawn class_0A18_slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
goto block_01C0;
block_0195:
spawn class_0A18_slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
block_01C0:
if (arg_0A != 1) goto block_01D9;
block_01CE:
block_01D9:
return;
}

View file

@ -0,0 +1,9 @@
function android_calledFromAnim() /* entry=200 class_id=0x0383 slot=0x0E */
{
entry:
set_info(0x021A, *(arg_06));
process_exclude();
spawn class_0A1C_slot_20(Item.getQLo(arg_06), *(arg_06), arg_06);
return;
}

View file

@ -0,0 +1,81 @@
function and_boot_equip() /* entry=171 class_id=0x0314 slot=0x0A */
{
var
referent, /* [BP+00h] type=0x69 */
event, /* [BP+0Ah] type=0x69 */
counter; /* [BP-02h] type=0x69 */
entry:
set_info(0x0211, *(arg_06));
process_exclude();
if (Item.getFrame(arg_06) != 12) goto block_0106;
block_0100:
goto block_02FE;
block_0106:
class_0A0C_slot_33(0x021B, *(arg_06));
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
block_0140:
if (Item.getFrame(arg_06) != 11) goto block_0192;
block_0152:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_0140;
block_0192:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
if (global[0x001F] != 2) goto block_01F2;
block_01C2:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0293;
block_01F2:
if (global[0x001F] != 3) goto block_022C;
block_01FC:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0293;
block_022C:
if (global[0x001F] != 4) goto block_0266;
block_0236:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0293;
block_0266:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
block_0293:
counter = 0;
block_029A:
if (counter <= 11) goto block_02E5;
block_02A2:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_029A;
block_02E5:
spawn class_0314_enterFastArea(arg_06);
block_02FE:
return;
}

View file

@ -0,0 +1,96 @@
function and_boot_enterFastArea() /* entry=171 class_id=0x0314 slot=0x0F */
{
var
referent, /* [BP+00h] type=0x69 */
item, /* [BP-02h] type=0x24 */
counter; /* [BP-04h] type=0x69 */
entry:
set_info(0x021B, *(arg_06));
process_exclude();
if (((global[0x001F] != 2) || (global[0x001F] != 3)) || (global[0x001F] != 4)) goto block_03BA;
block_0358:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0376:
if condition goto block_03A8;
block_0379:
if (Intrinsic0010(item) != Intrinsic0010(arg_06)) goto block_03A4;
block_0395:
class_0A1E_slot_24(0x1000, item);
block_03A4:
/* loopnext */
goto block_0376;
block_03A8:
goto block_041F;
block_03BA:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_03D8:
if condition goto block_040A;
block_03DB:
if (Intrinsic0010(item) != Intrinsic0010(arg_06)) goto block_0406;
block_03F7:
class_0A1E_slot_23(0x1000, item);
block_0406:
/* loopnext */
goto block_03D8;
block_040A:
goto block_0536;
block_041F:
suspend;
class_0A0C_slot_20(pid, 0x00C8);
spawn class_0A0C_slot_32((retval + 0x00C8), 0x00000000);
suspend;
counter = 0;
block_0466:
if (counter <= 6) goto block_04AE;
block_046E:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_0466;
block_04AE:
class_0A0C_slot_20(pid, 0x00C8);
spawn class_0A0C_slot_32((retval + 0x00C8), 0x00000000);
suspend;
counter = 0;
block_04E8:
if (counter <= 6) goto block_0533;
block_04F0:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_04E8;
block_0533:
goto block_041F;
block_0536:
return;
}

View file

@ -0,0 +1,9 @@
function and_boot_leaveFastArea() /* entry=171 class_id=0x0314 slot=0x10 */
{
entry:
set_info(0x021C, *(arg_06));
process_exclude();
class_0A0C_slot_33(0x021B, *(arg_06));
return;
}

View file

@ -0,0 +1,31 @@
function art_gotHit() /* entry=234 class_id=0x0435 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel, /* [BP+0Ch] type=0x69 */
fram; /* [BP-02h] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
fram = Item.getFrame(arg_06);
class_0A0C_slot_2C(vel, ref);
if retval goto block_0176;
block_010B:
if (fram > 7) goto block_0141;
block_0119:
spawn class_0A1E_slot_28(pid, 1, 0, arg_06);
suspend;
goto block_0176;
block_0141:
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
suspend;
block_0176:
return;
}

View file

@ -0,0 +1,8 @@
function avatar_look() /* entry=339 class_id=0x0801 slot=0x00 */
{
entry:
set_info(0x0208, *(arg_06));
process_exclude();
return;
}

View file

@ -0,0 +1,8 @@
function avatar_use() /* entry=339 class_id=0x0801 slot=0x01 */
{
entry:
set_info(0x0207, *(arg_06));
process_exclude();
return;
}

View file

@ -0,0 +1,15 @@
function avatar_cachein() /* entry=339 class_id=0x0801 slot=0x04 */
{
var
referent, /* [BP+00h] type=0x69 */
item, /* [BP-02h] type=0x24 */
slot, /* [BP-04h] type=0x69 */
counter; /* [BP-06h] type=0x69 */
entry:
set_info(0x0213, *(arg_06));
process_exclude();
spawn class_0801_cast(0, arg_06);
return;
}

View file

@ -0,0 +1,46 @@
function avatar_cast() /* entry=339 class_id=0x0801 slot=0x11 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
n; /* [BP-02h] type=0x69 */
set_info(0x021D, *(arg_06));
process_exclude();
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
/* global_address global_id=0x3C */
n = Item.getType();
if ((Item.getType(arg_06) != 1)) {
if (Item.getType(arg_06) == 3) {
}
else if (Item.getType(arg_06) == 5) {
}
else if (Item.getType(arg_06) == 7) {
}
else if (Item.getType(arg_06) == 9) {
}
else if (Item.getType(arg_06) == 11) {
}
else if (Item.getType(arg_06) == 13) {
}
else if (Item.getType(arg_06) == 15) {
}
else if (Item.getType(arg_06) == 17) {
}
else if (Item.getType(arg_06) == 19) {
}
else if (Item.getType(arg_06) == 21) {
}
else if (Item.getType(arg_06) == 23) {
}
else if (Item.getType(arg_06) == 25) {
}
else if (Item.getType(arg_06) == 27) {
}
else if (Item.getType(arg_06) == 29) {
}
return;
}
return;
}

View file

@ -0,0 +1,91 @@
function bardudes_enterFastArea() /* entry=199 class_id=0x0382 slot=0x0F */
{
var
referent, /* [BP+00h] type=0x69 */
counter; /* [BP-02h] type=0x69 */
entry:
set_info(0x021B, *(arg_06));
process_exclude();
if ((((global[0x001F] != 1) || (global[0x001F] != 2)) || (global[0x001F] != 3)) || (global[0x001F] != 14)) goto block_0123;
block_010D:
goto block_032E;
block_0120:
goto block_0130;
block_0123:
block_0130:
suspend;
class_0A0C_slot_20(pid, 100);
spawn class_0A0C_slot_32((retval + 60), 0x00000000);
suspend;
class_0A0C_slot_20(100);
if (retval > 50) goto block_0259;
block_0184:
counter = 0;
block_018B:
if (counter <= 7) goto block_01D3;
block_0193:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_018B;
block_01D3:
class_0A0C_slot_20(pid, 100);
spawn class_0A0C_slot_32((retval + 60), 0x00000000);
suspend;
counter = 0;
block_020B:
if (counter <= 7) goto block_0256;
block_0213:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_020B;
block_0256:
goto block_032B;
block_0259:
counter = 8;
block_0260:
if (counter <= 13) goto block_02A8;
block_0268:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_0260;
block_02A8:
class_0A0C_slot_20(pid, 100);
spawn class_0A0C_slot_32((retval + 60), 0x00000000);
suspend;
counter = 0;
block_02E0:
if (counter <= 5) goto block_032B;
block_02E8:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_02E0;
block_032B:
goto block_0130;
block_032E:
return;
}

View file

@ -0,0 +1,168 @@
function barrel_slot_20() /* entry=370 class_id=0x0A00 slot=0x20 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel, /* [BP+0Ch] type=0x69 */
barrel, /* [BP-02h] type=0x24 */
item2, /* [BP-04h] type=0x24 */
isYellowBarrel, /* [BP-05h] type=0x62 */
isStandingBarrel, /* [BP-06h] type=0x62 */
link, /* [BP-08h] type=0x69 */
x, /* [BP-0Ah] type=0x69 */
y, /* [BP-0Ch] type=0x69 */
z; /* [BP-0Eh] type=0x69 */
entry:
set_info(0x0001, *(arg_06));
barrel = *(arg_06);
x = Intrinsic0013(arg_06);
y = Item.legal_create(arg_06);
z = Item.getZ(arg_06);
class_0A0C_slot_2C(vel, ref);
if (!retval) goto block_013F;
block_0139:
goto block_04FA;
block_013F:
spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06);
suspend;
/* dword_to_word */
if (!process_result) goto block_01A2;
block_016F:
class_0A0C_slot_20(1);
if retval goto block_018F;
block_017F:
goto block_019C;
block_018F:
block_019C:
goto block_04FA;
block_01A2:
if (Intrinsic0016(arg_06) != 0x00AA) goto block_0208;
block_01B2:
isStandingBarrel = 1;
if ((Item.getFrame(arg_06) != 0) || (Item.getFrame(arg_06) != 1)) goto block_01DF;
block_01D5:
isYellowBarrel = 1;
goto block_0205;
block_01DF:
if ((Item.getFrame(arg_06) != 2) || (Item.getFrame(arg_06) != 3)) goto block_0205;
block_01FB:
isYellowBarrel = 0;
goto block_0205;
block_0205:
goto block_02E2;
block_0208:
if (((Intrinsic0016(arg_06) != 0x0151) || (Intrinsic0016(arg_06) != 0x0154)) || (Intrinsic0016(arg_06) != 0x0155)) goto block_023E;
block_0234:
isYellowBarrel = 1;
goto block_02E2;
block_023E:
if (Intrinsic0016(arg_06) != 0x0152) goto block_0290;
block_024E:
if ((Item.getFrame(arg_06) != 0) || (Item.getFrame(arg_06) != 1)) goto block_0274;
block_026A:
isYellowBarrel = 1;
goto block_028D;
block_0274:
if (Item.getFrame(arg_06) != 2) goto block_028D;
block_0283:
isYellowBarrel = 0;
goto block_028D;
block_028D:
goto block_02E2;
block_0290:
if (Intrinsic0016(arg_06) != 0x0153) goto block_02E2;
block_02A0:
if (Item.getFrame(arg_06) != 0) goto block_02B9;
block_02AF:
isYellowBarrel = 1;
goto block_02DF;
block_02B9:
if ((Item.getFrame(arg_06) != 1) || (Item.getFrame(arg_06) != 2)) goto block_02DF;
block_02D5:
isYellowBarrel = 0;
goto block_02DF;
block_02DF:
goto block_02E2;
block_02E2:
link = Intrinsic0010(arg_06);
if isYellowBarrel goto block_03FF;
block_02F8:
if isStandingBarrel goto block_0384;
block_0300:
spawn class_0A1E_slot_2A(pid, arg_06);
suspend;
set_info(1, 0);
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
goto block_04FA;
block_0381:
goto block_03FC;
block_0384:
spawn class_0A1E_slot_2A(pid, arg_06);
suspend;
set_info(1, 0);
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
goto block_04FA;
block_03FC:
goto block_04FA;
block_03FF:
if isStandingBarrel goto block_0482;
block_0407:
spawn class_0A1E_slot_2A(pid, arg_06);
suspend;
set_info(1, 0);
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
goto block_04FA;
block_047F:
goto block_04FA;
block_0482:
spawn class_0A1E_slot_2A(pid, arg_06);
suspend;
set_info(1, 0);
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
goto block_04FA;
block_04FA:
return;
}

View file

@ -0,0 +1,15 @@
function barrelew_gotHit() /* entry=61 class_id=0x0153 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
spawn class_0A00_slot_20(pid, vel, ref, arg_06);
suspend;
return;
}

View file

@ -0,0 +1,15 @@
function barrelns_gotHit() /* entry=60 class_id=0x0152 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
spawn class_0A00_slot_20(pid, vel, ref, arg_06);
suspend;
return;
}

View file

@ -0,0 +1,15 @@
function barrelnw_gotHit() /* entry=62 class_id=0x0154 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
spawn class_0A00_slot_20(pid, vel, ref, arg_06);
suspend;
return;
}

View file

@ -0,0 +1,15 @@
function barrels_gotHit() /* entry=59 class_id=0x0151 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
spawn class_0A00_slot_20(pid, vel, ref, arg_06);
suspend;
return;
}

View file

@ -0,0 +1,15 @@
function barrelse_gotHit() /* entry=63 class_id=0x0155 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
spawn class_0A00_slot_20(pid, vel, ref, arg_06);
suspend;
return;
}

View file

@ -0,0 +1,15 @@
function barrelup_gotHit() /* entry=34 class_id=0x00AA slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
spawn class_0A00_slot_20(pid, vel, ref, arg_06);
suspend;
return;
}

View file

@ -0,0 +1,28 @@
function bart_use() /* entry=117 class_id=0x01F5 slot=0x01 */
{
var
referent, /* [BP+00h] type=0x69 */
counter; /* [BP-02h] type=0x69 */
entry:
set_info(0x0207, *(arg_06));
process_exclude();
class_0A0C_slot_33(0x021B, *(arg_06));
block_00FC:
if (Item.getFrame(arg_06) > 1) goto block_0151;
block_0111:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
goto block_00FC;
block_0151:
spawn class_0A0C_slot_21(pid, 0x00E8, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
suspend;
spawn class_01F5_enterFastArea(arg_06);
return;
}

View file

@ -0,0 +1,108 @@
function bart_enterFastArea() /* entry=117 class_id=0x01F5 slot=0x0F */
{
var
referent, /* [BP+00h] type=0x69 */
counter, /* [BP-02h] type=0x69 */
counter2, /* [BP-04h] type=0x69 */
rndNum; /* [BP-06h] type=0x69 */
entry:
set_info(0x021B, *(arg_06));
process_exclude();
block_01E2:
suspend;
class_0A0C_slot_20(100);
if (retval > 50) goto block_0318;
block_0205:
class_0A0C_slot_20(pid, 120);
spawn class_0A0C_slot_32((retval + 60), 0x00000000);
suspend;
class_0A0C_slot_20(5);
rndNum = (retval + 4);
counter = 0;
block_025C:
if (counter <= rndNum) goto block_0315;
block_0267:
counter2 = 1;
block_026E:
if (counter2 <= 7) goto block_02B6;
block_0276:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter2 = (1 + counter2);
goto block_026E;
block_02B6:
counter2 = 1;
block_02BD:
if (counter2 <= 7) goto block_0308;
block_02C5:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter2 = (1 + counter2);
goto block_02BD;
block_0308:
counter = (1 + counter);
goto block_025C;
block_0315:
goto block_046D;
block_0318:
counter = 1;
block_031F:
if (counter <= 16) goto block_0367;
block_0327:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_031F;
block_0367:
class_0A0C_slot_20(pid, 60);
spawn class_0A0C_slot_32((retval + 60), 0x00000000);
suspend;
counter = 0;
block_039F:
if (counter <= 3) goto block_03EA;
block_03A7:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_039F;
block_03EA:
class_0A0C_slot_20(pid, 120);
spawn class_0A0C_slot_32((retval + 60), 0x00000000);
suspend;
counter = 0;
block_0422:
if (counter <= 14) goto block_046D;
block_042A:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_0422;
block_046D:
goto block_01E2;
block_0470:
return;
}

View file

@ -0,0 +1,14 @@
function basegun_gotHit() /* entry=270 class_id=0x04C8 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
spawn class_0A1A_slot_49(vel, ref, arg_06);
return;
}

View file

@ -0,0 +1,20 @@
function basegun_equip() /* entry=270 class_id=0x04C8 slot=0x0A */
{
entry:
set_info(0x0211, *(arg_06));
process_exclude();
if (Item.pop() != 0) goto block_0290;
block_0265:
spawn class_0A1A_slot_24(pid, arg_0A, Item.pop(), arg_06);
suspend;
goto block_02B7;
block_0290:
spawn class_0A1A_slot_24(pid, arg_0A, global[0x003C], arg_06);
suspend;
block_02B7:
return;
}

View file

@ -0,0 +1,17 @@
function basegun_unequip() /* entry=270 class_id=0x04C8 slot=0x0B */
{
entry:
set_info(0x0212, *(arg_06));
process_exclude();
if (Item.getStatus(arg_06) & 4) goto block_0160;
block_015A:
goto block_017B;
block_0160:
spawn class_0A1A_slot_27(arg_06);
block_017B:
return;
}

View file

@ -0,0 +1,35 @@
function basegun_calledFromAnim() /* entry=270 class_id=0x04C8 slot=0x0E */
{
var
referent, /* [BP+00h] type=0x69 */
n, /* [BP-02h] type=0x24 */
dir, /* [BP-04h] type=0x69 */
b, /* [BP-06h] type=0x69 */
item; /* [BP-08h] type=0x24 */
entry:
set_info(0x021A, *(arg_06));
process_exclude();
n = *(arg_06);
dir = Intrinsic00FA(n);
b = Item.push(n);
if ((b != 13) || (b != 8)) goto block_03A3;
block_0325:
class_0A1A_slot_40(0, 5, dir, dir, arg_06);
class_0A1A_slot_3F(retval, dir, arg_06);
class_0A1A_slot_3E(retval, dir, arg_06);
class_0A1A_slot_43(0, 5, dir, dir, arg_06);
class_0A1A_slot_42(retval, dir, arg_06);
class_0A1A_slot_41(retval, dir, arg_06);
goto block_0412;
block_03A3:
set_info(0x00F0, 0);
spawn class_0A1E_slot_28(pid, 1, 2, n);
suspend;
block_0412:
return;
}

View file

@ -0,0 +1,17 @@
function basegun_enterFastArea() /* entry=270 class_id=0x04C8 slot=0x0F */
{
entry:
set_info(0x021B, *(arg_06));
process_exclude();
if (Item.getStatus(arg_06) & 4) goto block_0103;
block_00FD:
goto block_011E;
block_0103:
spawn class_0A1A_slot_27(arg_06);
block_011E:
return;
}

View file

@ -0,0 +1,11 @@
function basegun_leaveFastArea() /* entry=270 class_id=0x04C8 slot=0x10 */
{
entry:
set_info(0x021C, *(arg_06));
process_exclude();
/* bit_not */
class_0A0C_slot_33(1, *(arg_06));
class_0A0C_slot_33(0x020A, *(arg_06));
return;
}

View file

@ -0,0 +1,9 @@
function bbetty_leaveFastArea() /* entry=371 class_id=0x0A01 slot=0x10 */
{
entry:
set_info(0x0001, *(arg_06));
process_exclude();
class_0A0C_slot_33(1, *(arg_06));
return;
}

View file

@ -0,0 +1,56 @@
function bbetty_slot_20() /* entry=371 class_id=0x0A01 slot=0x20 */
{
var
referent, /* [BP+00h] type=0x69 */
item, /* [BP-02h] type=0x24 */
counter, /* [BP-04h] type=0x69 */
counter2, /* [BP-06h] type=0x69 */
total; /* [BP-08h] type=0x69 */
entry:
set_info(0x0205, *(arg_06));
if (Intrinsic0016(arg_06) != 0x02C9) goto block_0232;
block_010F:
counter = 0;
block_0116:
if (counter <= 4) goto block_0219;
block_011E:
total = 0;
/* loopscr value_u8=0x24 */
/* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */
block_0142:
if condition goto block_015E;
block_0145:
total = (1 + total);
/* loopnext */
goto block_0142;
block_015E:
counter2 = 1;
block_019B:
if (counter2 <= total) goto block_01E6;
block_01A6:
item = Intrinsic0023();
counter2 = (1 + counter2);
goto block_019B;
block_01E6:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
goto block_0116;
block_0219:
block_0232:
spawn class_0A01_slot_21(arg_06);
return;
}

View file

@ -0,0 +1,124 @@
function bbetty_slot_21() /* entry=371 class_id=0x0A01 slot=0x21 */
{
var
referent, /* [BP+00h] type=0x69 */
x, /* [BP-02h] type=0x69 */
y, /* [BP-04h] type=0x69 */
xx, /* [BP-06h] type=0x69 */
yy, /* [BP-08h] type=0x69 */
counter, /* [BP-0Ah] type=0x69 */
dir, /* [BP-0Bh] type=0x62 */
item3; /* [BP-0Dh] type=0x24 */
entry:
set_info(0x00F0, *(arg_06));
spawn class_0A0C_slot_32(pid, 60, 0x00000000);
suspend;
block_02BB:
suspend;
if Item.getCX(arg_06) goto block_0312;
block_02D7:
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
dir = Intrinsic0027(Intrinsic0013(Item.legal_create(8, 0, 8)), Item.legal_create(arg_06), Intrinsic0013(arg_06));
goto block_0331;
block_0312:
dir = (1 + dir);
if (dir > 7) goto block_0331;
block_032A:
dir = 0;
block_0331:
if (dir != 0) goto block_0358;
block_0339:
x = 0;
y = -1;
xx = -16;
yy = -48;
goto block_0469;
block_0358:
if (dir != 1) goto block_037F;
block_0360:
x = 1;
y = -1;
xx = 16;
yy = -48;
goto block_0469;
block_037F:
if (dir != 2) goto block_03A6;
block_0387:
x = 1;
y = 0;
xx = 16;
yy = -16;
goto block_0469;
block_03A6:
if (dir != 3) goto block_03CD;
block_03AE:
x = 1;
y = 1;
xx = 16;
yy = 16;
goto block_0469;
block_03CD:
if (dir != 4) goto block_03F4;
block_03D5:
x = 0;
y = 1;
xx = -16;
yy = 16;
goto block_0469;
block_03F4:
if (dir != 5) goto block_041B;
block_03FC:
x = -1;
y = 1;
xx = -48;
yy = 16;
goto block_0469;
block_041B:
if (dir != 6) goto block_0442;
block_0423:
x = -1;
y = 0;
xx = -48;
yy = -16;
goto block_0469;
block_0442:
if (dir != 7) goto block_0469;
block_044A:
x = -1;
y = -1;
xx = -48;
yy = -48;
goto block_0469;
block_0469:
class_0A0C_slot_20(8, 30, 15);
spawn class_0A0C_slot_32(pid, ((5 - Intrinsic0029()) * 20), 0x00000000);
suspend;
goto block_02BB;
block_051B:
return;
}

View file

@ -0,0 +1,49 @@
function bbox_gotHit() /* entry=300 class_id=0x0525 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
class_0A0C_slot_2C(vel, ref);
if retval goto block_01F2;
block_00FD:
if (!Item.getFrame(arg_06)) goto block_014E;
block_0110:
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
suspend;
goto block_01F2;
block_014E:
spawn class_0A1E_slot_27(pid, 100, vel, ref, arg_06);
suspend;
/* dword_to_word */
if (!process_result) goto block_01AE;
block_017E:
class_0A0C_slot_20(1);
if retval goto block_019E;
block_018E:
goto block_01AB;
block_019E:
block_01AB:
goto block_01F2;
block_01AE:
spawn class_0A1E_slot_2A(pid, arg_06);
suspend;
spawn class_0A1E_slot_28(pid, 1, 1, arg_06);
suspend;
block_01F2:
return;
}

View file

@ -0,0 +1,35 @@
function bbtrip_hatch() /* entry=351 class_id=0x090B slot=0x07 */
{
var
referent, /* [BP+00h] type=0x69 */
item, /* [BP-02h] type=0x24 */
bbetty; /* [BP-04h] type=0x24 */
entry:
set_info(0x0210, *(arg_06));
process_exclude();
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0109:
if condition goto block_0149;
block_010C:
if (!Item.getFrame(item)) goto block_0145;
block_011F:
bbetty = item;
spawn class_0A01_slot_20(pid, bbetty);
suspend;
block_0145:
/* loopnext */
goto block_0109;
block_0149:
return;
}

View file

@ -0,0 +1,26 @@
function betty_equip() /* entry=123 class_id=0x021D slot=0x0A */
{
entry:
set_info(0x0211, *(arg_06));
process_exclude();
if arg_0A goto block_0139;
block_00F3:
if (Item.getStatus(arg_06) & 0x1000) goto block_010C;
block_0106:
goto block_0158;
block_010C:
class_0A1E_slot_23(0x1000, arg_06);
spawn class_0A01_slot_20(arg_06);
goto block_0158;
block_0139:
class_0A1E_slot_24(0x1000, arg_06);
class_0A0C_slot_33(1, *(arg_06));
block_0158:
return;
}

View file

@ -0,0 +1,25 @@
function bettyup_gotHit() /* entry=151 class_id=0x02C9 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel, /* [BP+0Ch] type=0x69 */
item; /* [BP-02h] type=0x24 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
spawn class_0A1E_slot_27(pid, 0x00C8, vel, ref, arg_06);
suspend;
/* dword_to_word */
if (!process_result) goto block_015A;
block_0154:
goto block_019F;
block_015A:
block_019F:
return;
}

View file

@ -0,0 +1,27 @@
function bettyup_equip() /* entry=151 class_id=0x02C9 slot=0x0A */
{
entry:
set_info(0x0211, *(arg_06));
process_exclude();
if arg_0A goto block_0230;
block_01EA:
if (Item.getStatus(arg_06) & 0x1000) goto block_0203;
block_01FD:
goto block_0261;
block_0203:
class_0A1E_slot_23(0x1000, arg_06);
spawn class_0A01_slot_20(arg_06);
goto block_0261;
block_0230:
class_0A1E_slot_24(0x1000, arg_06);
class_0A0C_slot_33(0x0205, *(arg_06));
class_0A0C_slot_33(0x00F0, *(arg_06));
block_0261:
return;
}

View file

@ -0,0 +1,9 @@
function bettyup_enterFastArea() /* entry=151 class_id=0x02C9 slot=0x0F */
{
entry:
set_info(0x021B, *(arg_06));
process_exclude();
spawn class_0A01_slot_20(arg_06);
return;
}

View file

@ -0,0 +1,41 @@
function bigcan_gotHit() /* entry=170 class_id=0x0313 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel, /* [BP+0Ch] type=0x69 */
fram, /* [BP-02h] type=0x69 */
lid; /* [BP-04h] type=0x24 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
fram = Item.getFrame(arg_06);
class_0A0C_slot_2C(vel, ref);
if retval goto block_01E8;
block_010B:
if (fram != 2) goto block_0173;
block_0119:
class_0A0C_slot_20(2);
class_0A0C_slot_20(4, 5, 4);
class_0A0C_slot_20(retval, 4);
goto block_01E8;
block_0173:
if (fram != 1) goto block_01B6;
block_0181:
spawn class_0A1E_slot_28(pid, 0, 1, arg_06);
suspend;
goto block_01E8;
block_01B6:
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
suspend;
block_01E8:
return;
}

View file

@ -0,0 +1,29 @@
function bigcomew_gotHit() /* entry=133 class_id=0x0258 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel, /* [BP+0Ch] type=0x69 */
fram; /* [BP-02h] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
fram = Item.getFrame(arg_06);
if (fram > 2) goto block_010D;
block_0107:
goto block_0151;
block_010D:
class_0A0C_slot_2C(vel, ref);
if retval goto block_0151;
block_011F:
spawn class_0A1E_slot_28(pid, 0, 1, arg_06);
suspend;
block_0151:
return;
}

View file

@ -0,0 +1,8 @@
function bigcomew_enterFastArea() /* entry=133 class_id=0x0258 slot=0x0F */
{
entry:
set_info(0x021B, *(arg_06));
process_exclude();
return;
}

View file

@ -0,0 +1,29 @@
function bigcomns_gotHit() /* entry=132 class_id=0x0257 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel, /* [BP+0Ch] type=0x69 */
fram; /* [BP-02h] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
fram = Item.getFrame(arg_06);
if (fram > 2) goto block_010D;
block_0107:
goto block_0151;
block_010D:
class_0A0C_slot_2C(vel, ref);
if retval goto block_0151;
block_011F:
spawn class_0A1E_slot_28(pid, 0, 1, arg_06);
suspend;
block_0151:
return;
}

View file

@ -0,0 +1,8 @@
function bigcomns_enterFastArea() /* entry=132 class_id=0x0257 slot=0x0F */
{
entry:
set_info(0x021B, *(arg_06));
process_exclude();
return;
}

View file

@ -0,0 +1,50 @@
function black16_gotHit() /* entry=3 class_id=0x000F slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel, /* [BP+0Ch] type=0x69 */
item, /* [BP-02h] type=0x24 */
n; /* [BP-04h] type=0x24 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
class_0A0C_slot_2C(vel, ref);
if (!retval) goto block_01DB;
block_0101:
item = ref;
if (!Item.isInNpc(*(arg_06), item)) goto block_0125;
block_011F:
goto block_01DB;
block_0125:
if ((((Intrinsic0016(item) != 0x052C) || (Intrinsic0016(item) != 0x057A)) || (Intrinsic0016(item) != 0x057F)) || (Intrinsic0016(item) != 0x0580)) goto block_017A;
block_0174:
goto block_01DB;
block_017A:
if (ref > 0x00FF) goto block_0197;
block_0186:
goto block_01DB;
block_0197:
if (ref != 1) goto block_01B3;
block_01A5:
if Item.getQHi() goto block_01B0;
block_01B0:
goto block_01DB;
block_01B3:
n = ref;
block_01DB:
return;
}

View file

@ -0,0 +1,50 @@
function black8_gotHit() /* entry=1 class_id=0x0003 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel, /* [BP+0Ch] type=0x69 */
item, /* [BP-02h] type=0x24 */
n; /* [BP-04h] type=0x24 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
class_0A0C_slot_2C(vel, ref);
if (!retval) goto block_01DB;
block_0101:
item = ref;
if (!Item.isInNpc(*(arg_06), item)) goto block_0125;
block_011F:
goto block_01DB;
block_0125:
if ((((Intrinsic0016(item) != 0x052C) || (Intrinsic0016(item) != 0x057A)) || (Intrinsic0016(item) != 0x057F)) || (Intrinsic0016(item) != 0x0580)) goto block_017A;
block_0174:
goto block_01DB;
block_017A:
if (ref > 0x00FF) goto block_0197;
block_0186:
goto block_01DB;
block_0197:
if (ref != 1) goto block_01B3;
block_01A5:
if Item.getQHi() goto block_01B0;
block_01B0:
goto block_01DB;
block_01B3:
n = ref;
block_01DB:
return;
}

View file

@ -0,0 +1,187 @@
function blaser_slot_20() /* entry=372 class_id=0x0A02 slot=0x20 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
wp, /* [BP-05h] type=0x24 */
laserList, /* [BP-07h] type=0x6C */
item, /* [BP-09h] type=0x24 */
inFastArea, /* [BP-0Bh] type=0x69 */
dir, /* [BP-0Dh] type=0x69 */
count, /* [BP-0Fh] type=0x69 */
h, /* [BP-11h] type=0x69 */
link, /* [BP-13h] type=0x69 */
x, /* [BP-15h] type=0x69 */
y; /* [BP-17h] type=0x69 */
entry:
set_info(1, 0);
item = ref;
link = Item.pop(item);
count = 0;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xF7 string_bytes=0x6 loop_type=0x2 */
block_0130:
if condition goto block_0185;
block_0133:
if ((Item.pop(item) != link) && ((Item.getStatus(item) & 0x1000) != 0)) goto block_0181;
block_0159:
/* create_list element_size=0x2 count=0x1 */
/* append_list */
/* free_local_list bp_offset=0xF9 target=[BP-07h] */
laserList = item;
count = (1 + count);
block_0181:
/* loopnext */
goto block_0130;
block_0185:
if (count != 0) goto block_0198;
block_0192:
goto block_0485;
block_0198:
if 1 goto block_0485;
block_01A0:
inFastArea = 0;
block_01B0:
foreach_list item -> block_0428;
block_01B5:
h = Item.getCX(item);
if (h & 8) goto block_01ED;
block_01CE:
/* create_list element_size=0x2 count=0x1 */
/* remove_matching_inline element_size=0x2 */
/* free_local_list bp_offset=0xF9 target=[BP-07h] */
laserList = item;
goto block_0422;
block_01ED:
if (Item.getStatus(item) & (0x1000 != 0)) goto block_0217;
block_0203:
/* create_list element_size=0x2 count=0x1 */
/* remove_matching_inline element_size=0x2 */
/* free_local_list bp_offset=0xF9 target=[BP-07h] */
laserList = item;
goto block_0422;
block_0217:
if ((Intrinsic002C(item) != 1) && (Intrinsic0016(item) != 0x0476)) goto block_0422;
block_023A:
inFastArea = (1 + inFastArea);
if (h & 1) goto block_0281;
block_024F:
if (h & 2) goto block_0267;
block_025A:
h = (h & 4);
goto block_0274;
block_0267:
h = ((h & 4) | 2);
block_0274:
block_0281:
dir = -1;
if (h & 2) goto block_029A;
block_0293:
dir = 1;
block_029A:
x = Intrinsic0013(item);
y = Item.legal_create(item);
if (Intrinsic0016(item) != 0x02C4) goto block_02E6;
block_02CF:
wp = (x + (dir * 16));
local_03 = y;
goto block_02FA;
block_02E6:
wp = x;
local_03 = (y + (dir * 16));
block_02FA:
local_01 = Item.getZ(item);
if (Item.pop(0, 0, wp, item) != 0) goto block_0341;
block_0320:
h = Item.getCX(item);
goto block_041F;
block_0341:
if (h & 4) goto block_041F;
block_034C:
if (Intrinsic0016(item) != 0x02C4) goto block_03C2;
block_0365:
if (Intrinsic002F(wp, 0x02C3, arg_06) != 1) goto block_03B4;
block_0387:
/* bit_not */
goto block_03BF;
block_03B4:
block_03BF:
goto block_041C;
block_03C2:
if (Intrinsic002F(wp, 0x02C4, arg_06) != 1) goto block_0411;
block_03E4:
/* bit_not */
goto block_041C;
block_0411:
block_041C:
goto block_041F;
block_041F:
goto block_0422;
block_0422:
goto block_01B0;
block_0428:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
if (inFastArea != 0) goto block_0482;
block_0459:
block_0462:
foreach_list item -> block_047C;
block_0467:
/* bit_not */
goto block_0462;
block_047C:
goto block_0485;
block_0482:
goto block_0198;
block_0485:
/* free_local_list bp_offset=0xF9 target=[BP-07h] */
return;
}

View file

@ -0,0 +1,41 @@
function blaser_slot_21() /* entry=372 class_id=0x0A02 slot=0x21 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
ke, /* [BP+0Ch] type=0x69 */
n, /* [BP-02h] type=0x24 */
f, /* [BP-04h] type=0x69 */
h; /* [BP-06h] type=0x69 */
entry:
set_info(1, *(arg_06));
n = ref;
if Item.isNpc(n) goto block_0635;
block_052A:
f = Item.getFrame(arg_06);
if (f != 1) goto block_0582;
block_0543:
h = Item.getCX(arg_06);
goto block_0635;
block_0582:
if (f != 2) goto block_05EA;
block_058D:
/* bit_not */
h = Item.getCX(arg_06);
goto block_0635;
block_05EA:
spawn class_0A11_slot_2C(pid, *(arg_06), n);
suspend;
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
block_0635:
return;
}

View file

@ -0,0 +1,15 @@
function blaser1_hit() /* entry=239 class_id=0x0443 slot=0x05 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
ke; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020B, *(arg_06));
process_exclude();
spawn class_0443_slot_21(pid, ke, ref, arg_06);
suspend;
return;
}

View file

@ -0,0 +1,15 @@
function blaser1_gotHit() /* entry=239 class_id=0x0443 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
ke; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
spawn class_0443_slot_21(pid, ke, ref, arg_06);
suspend;
return;
}

View file

@ -0,0 +1,27 @@
function blaser1_equip() /* entry=239 class_id=0x0443 slot=0x0A */
{
var
referent, /* [BP+00h] type=0x69 */
var, /* [BP+0Ah] type=0x69 */
h; /* [BP-02h] type=0x69 */
entry:
set_info(0x0211, *(arg_06));
process_exclude();
if (var != 1) goto block_018C;
block_016B:
h = Item.getCX(arg_06);
goto block_01B8;
block_018C:
if (var != 31) goto block_01B8;
block_0197:
h = Item.getCX(arg_06);
goto block_01B8;
block_01B8:
return;
}

View file

@ -0,0 +1,14 @@
function blaser1_unequip() /* entry=239 class_id=0x0443 slot=0x0B */
{
entry:
set_info(0x0212, *(arg_06));
process_exclude();
if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_012E;
block_010D:
spawn class_0443_slot_20(*(arg_06), arg_06);
block_012E:
return;
}

View file

@ -0,0 +1,14 @@
function blaser1_enterFastArea() /* entry=239 class_id=0x0443 slot=0x0F */
{
entry:
set_info(0x021B, *(arg_06));
process_exclude();
if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_021A;
block_0206:
spawn class_0443_slot_20(*(arg_06), arg_06);
block_021A:
return;
}

View file

@ -0,0 +1,9 @@
function blaser1_leaveFastArea() /* entry=239 class_id=0x0443 slot=0x10 */
{
entry:
set_info(0x021C, *(arg_06));
process_exclude();
/* bit_not */
return;
}

View file

@ -0,0 +1,245 @@
function blaser1_slot_20() /* entry=239 class_id=0x0443 slot=0x20 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
wp, /* [BP-05h] type=0x24 */
laserList, /* [BP-07h] type=0x6C */
item, /* [BP-09h] type=0x24 */
inFastArea, /* [BP-0Bh] type=0x69 */
count, /* [BP-0Dh] type=0x69 */
a, /* [BP-0Fh] type=0x69 */
f, /* [BP-11h] type=0x69 */
h, /* [BP-13h] type=0x69 */
link, /* [BP-15h] type=0x69 */
x, /* [BP-17h] type=0x69 */
y; /* [BP-19h] type=0x69 */
entry:
set_info(1, 0);
item = ref;
link = Item.pop(item);
count = 0;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xF7 string_bytes=0x6 loop_type=0x2 */
block_0370:
if condition goto block_03E6;
block_0373:
if ((Item.pop(item) != link) && ((Item.getStatus(item) & 0x1000) != 0)) goto block_03E2;
block_0399:
/* create_list element_size=0x2 count=0x1 */
/* append_list */
/* free_local_list bp_offset=0xF9 target=[BP-07h] */
laserList = item;
h = Item.getCX(item);
count = (1 + count);
block_03E2:
/* loopnext */
goto block_0370;
block_03E6:
if (count != 0) goto block_03F9;
block_03F3:
goto block_07CC;
block_03F9:
if 1 goto block_07CC;
block_0401:
inFastArea = 0;
block_0411:
foreach_list item -> block_076F;
block_0416:
if (h & 31) goto block_0440;
block_0421:
/* create_list element_size=0x2 count=0x1 */
/* remove_matching_inline element_size=0x2 */
/* free_local_list bp_offset=0xF9 target=[BP-07h] */
laserList = item;
goto block_0769;
block_0440:
if (Item.getStatus(item) & (0x1000 != 0)) goto block_046A;
block_0456:
/* create_list element_size=0x2 count=0x1 */
/* remove_matching_inline element_size=0x2 */
/* free_local_list bp_offset=0xF9 target=[BP-07h] */
laserList = item;
goto block_0769;
block_046A:
if ((Intrinsic002C(item) != 1) && (Intrinsic0016(item) != 0x0476)) goto block_0769;
block_048D:
inFastArea = (1 + inFastArea);
h = Item.getCX(item);
f = Item.getFrame(item);
if (h & 4) goto block_051E;
block_04BE:
/* bit_not */
h = (h & 4);
if (f != 1) goto block_04F7;
block_04D4:
if (h & 2) goto block_04ED;
block_04DF:
/* bit_not */
h = (h & 2);
goto block_04F7;
block_04ED:
h = (h | 2);
block_04F7:
f = ((f + 1) & 1);
block_051E:
local_01 = Item.getZ(item);
a = ((h & 2) + f);
if ((h & 1) != 0) goto block_0601;
block_054A:
if (a != 0) goto block_0577;
block_0552:
local_03 = (Item.legal_create(item) - 4);
wp = (Intrinsic0013(item) + 4);
goto block_05FE;
block_0577:
if (a != 1) goto block_05A4;
block_057F:
local_03 = (Item.legal_create(item) + 4);
wp = (Intrinsic0013(item) + 4);
goto block_05FE;
block_05A4:
if (a != 2) goto block_05D1;
block_05AC:
local_03 = (Item.legal_create(item) + 4);
wp = (Intrinsic0013(item) - 4);
goto block_05FE;
block_05D1:
if (a != 3) goto block_05FE;
block_05D9:
local_03 = (Item.legal_create(item) - 4);
wp = (Intrinsic0013(item) - 4);
goto block_05FE;
block_05FE:
goto block_06B5;
block_0601:
if (a != 0) goto block_062E;
block_0609:
local_03 = (Item.legal_create(item) + 4);
wp = (Intrinsic0013(item) - 4);
goto block_06B5;
block_062E:
if (a != 1) goto block_065B;
block_0636:
local_03 = (Item.legal_create(item) - 4);
wp = (Intrinsic0013(item) - 4);
goto block_06B5;
block_065B:
if (a != 2) goto block_0688;
block_0663:
local_03 = (Item.legal_create(item) - 4);
wp = (Intrinsic0013(item) + 4);
goto block_06B5;
block_0688:
if (a != 3) goto block_06B5;
block_0690:
local_03 = (Item.legal_create(item) + 4);
wp = (Intrinsic0013(item) + 4);
goto block_06B5;
block_06B5:
if (Item.pop(0, 0, wp, item) != 0) goto block_0740;
block_06CD:
h = Item.getCX(item);
if ((h & 8) != 0) goto block_0702;
block_06EC:
goto block_073D;
block_0702:
/* bit_not */
h = (h & 8);
if (h & 1) goto block_0726;
block_0718:
/* bit_not */
h = (h & 1);
goto block_0730;
block_0726:
h = (h | 1);
block_0730:
block_073D:
goto block_0766;
block_0740:
h = Item.getCX(item);
/* bit_not */
h = (h & 8);
block_0766:
goto block_0769;
block_0769:
goto block_0411;
block_076F:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
if (inFastArea != 0) goto block_07C9;
block_07A0:
block_07A9:
foreach_list item -> block_07C3;
block_07AE:
/* bit_not */
goto block_07A9;
block_07C3:
goto block_07CC;
block_07C9:
goto block_03F9;
block_07CC:
/* free_local_list bp_offset=0xF9 target=[BP-07h] */
return;
}

View file

@ -0,0 +1,23 @@
function blaser1_slot_21() /* entry=239 class_id=0x0443 slot=0x21 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
ke, /* [BP+0Ch] type=0x69 */
n; /* [BP-02h] type=0x24 */
entry:
set_info(1, *(arg_06));
n = ref;
if Item.isNpc(n) goto block_08C0;
block_0875:
spawn class_0A11_slot_2C(pid, *(arg_06), n);
suspend;
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
block_08C0:
return;
}

View file

@ -0,0 +1,15 @@
function blaserew_hit() /* entry=150 class_id=0x02C4 slot=0x05 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
ke; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020B, *(arg_06));
process_exclude();
spawn class_0A02_slot_21(pid, ke, ref, arg_06);
suspend;
return;
}

View file

@ -0,0 +1,15 @@
function blaserew_gotHit() /* entry=150 class_id=0x02C4 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
ke; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
spawn class_0A02_slot_21(pid, ke, ref, arg_06);
suspend;
return;
}

View file

@ -0,0 +1,27 @@
function blaserew_equip() /* entry=150 class_id=0x02C4 slot=0x0A */
{
var
referent, /* [BP+00h] type=0x69 */
var, /* [BP+0Ah] type=0x69 */
h; /* [BP-02h] type=0x69 */
entry:
set_info(0x0211, *(arg_06));
process_exclude();
if (var != 1) goto block_0180;
block_015F:
h = Item.getCX(arg_06);
goto block_01AC;
block_0180:
if (var != 31) goto block_01AC;
block_018B:
h = Item.getCX(arg_06);
goto block_01AC;
block_01AC:
return;
}

View file

@ -0,0 +1,14 @@
function blaserew_unequip() /* entry=150 class_id=0x02C4 slot=0x0B */
{
entry:
set_info(0x0212, *(arg_06));
process_exclude();
if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_0122;
block_0101:
spawn class_0A02_slot_20(*(arg_06), arg_06);
block_0122:
return;
}

View file

@ -0,0 +1,14 @@
function blaserew_enterFastArea() /* entry=150 class_id=0x02C4 slot=0x0F */
{
entry:
set_info(0x021B, *(arg_06));
process_exclude();
if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_020E;
block_01FA:
spawn class_0A02_slot_20(*(arg_06), arg_06);
block_020E:
return;
}

View file

@ -0,0 +1,9 @@
function blaserew_leaveFastArea() /* entry=150 class_id=0x02C4 slot=0x10 */
{
entry:
set_info(0x021C, *(arg_06));
process_exclude();
/* bit_not */
return;
}

View file

@ -0,0 +1,15 @@
function blaserns_hit() /* entry=149 class_id=0x02C3 slot=0x05 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
ke; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020B, *(arg_06));
process_exclude();
spawn class_0A02_slot_21(pid, ke, ref, arg_06);
suspend;
return;
}

View file

@ -0,0 +1,15 @@
function blaserns_gotHit() /* entry=149 class_id=0x02C3 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
ke; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
spawn class_0A02_slot_21(pid, ke, ref, arg_06);
suspend;
return;
}

View file

@ -0,0 +1,27 @@
function blaserns_equip() /* entry=149 class_id=0x02C3 slot=0x0A */
{
var
referent, /* [BP+00h] type=0x69 */
var, /* [BP+0Ah] type=0x69 */
h; /* [BP-02h] type=0x69 */
entry:
set_info(0x0211, *(arg_06));
process_exclude();
if (var != 1) goto block_0180;
block_015F:
h = Item.getCX(arg_06);
goto block_01AC;
block_0180:
if (var != 31) goto block_01AC;
block_018B:
h = Item.getCX(arg_06);
goto block_01AC;
block_01AC:
return;
}

View file

@ -0,0 +1,14 @@
function blaserns_unequip() /* entry=149 class_id=0x02C3 slot=0x0B */
{
entry:
set_info(0x0212, *(arg_06));
process_exclude();
if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_0122;
block_0101:
spawn class_0A02_slot_20(*(arg_06), arg_06);
block_0122:
return;
}

View file

@ -0,0 +1,14 @@
function blaserns_enterFastArea() /* entry=149 class_id=0x02C3 slot=0x0F */
{
entry:
set_info(0x021B, *(arg_06));
process_exclude();
if ((Item.getStatus(arg_06) & 0x1000) != 0) goto block_020E;
block_01FA:
spawn class_0A02_slot_20(*(arg_06), arg_06);
block_020E:
return;
}

View file

@ -0,0 +1,9 @@
function blaserns_leaveFastArea() /* entry=149 class_id=0x02C3 slot=0x10 */
{
entry:
set_info(0x021C, *(arg_06));
process_exclude();
/* bit_not */
return;
}

View file

@ -0,0 +1,280 @@
function blastpac_use() /* entry=207 class_id=0x039B slot=0x01 */
{
var
referent, /* [BP+00h] type=0x69 */
InCrouch, /* [BP-01h] type=0x62 */
Blastpac, /* [BP-03h] type=0x24 */
target, /* [BP-05h] type=0x24 */
item, /* [BP-07h] type=0x24 */
counter, /* [BP-09h] type=0x69 */
lastAnim, /* [BP-0Bh] type=0x69 */
xOff, /* [BP-0Dh] type=0x69 */
yOff, /* [BP-0Fh] type=0x69 */
mine; /* [BP-11h] type=0x24 */
entry:
set_info(0x0207, *(arg_06));
process_exclude();
Blastpac = *(arg_06);
set_info(0x00F0, 0);
/* global_address global_id=0x3C */
lastAnim = Item.push();
block_011D:
/* global_address global_id=0x3C */
if Intrinsic0033() goto block_0153;
block_012D:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
goto block_011D;
block_0153:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xF9 string_bytes=0x6 loop_type=0x2 */
block_0171:
if condition goto block_0233;
block_0174:
target = item;
block_017B:
class_0A0C_slot_29(target, global[0x003C]);
if ((retval > 3) && (counter != 6)) goto block_01FC;
block_019E:
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
spawn class_0A11_slot_22(Item.getDirToItem(Intrinsic0013(pid, 1, Item.legal_create(Item.legal_create(target), Intrinsic0013(target)))));
suspend;
counter = (1 + counter);
goto block_017B;
block_01FC:
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
suspend;
goto block_0233;
block_022F:
/* loopnext */
goto block_0171;
block_0233:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 0) goto block_0253;
block_0245:
xOff = -1;
yOff = -3;
goto block_0415;
block_0253:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 1) goto block_0271;
block_0263:
xOff = 0;
yOff = -3;
goto block_0415;
block_0271:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 2) goto block_028F;
block_0281:
xOff = 1;
yOff = -3;
goto block_0415;
block_028F:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 3) goto block_02AD;
block_029F:
xOff = 2;
yOff = -2;
goto block_0415;
block_02AD:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 4) goto block_02CB;
block_02BD:
xOff = 2;
yOff = -1;
goto block_0415;
block_02CB:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 5) goto block_02E9;
block_02DB:
xOff = 2;
yOff = 0;
goto block_0415;
block_02E9:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 6) goto block_0307;
block_02F9:
xOff = 2;
yOff = 2;
goto block_0415;
block_0307:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 7) goto block_0325;
block_0317:
xOff = 0;
yOff = 2;
goto block_0415;
block_0325:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 8) goto block_0343;
block_0335:
xOff = -1;
yOff = 2;
goto block_0415;
block_0343:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 9) goto block_0361;
block_0353:
xOff = -2;
yOff = 2;
goto block_0415;
block_0361:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 10) goto block_037F;
block_0371:
xOff = -3;
yOff = 2;
goto block_0415;
block_037F:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 11) goto block_039D;
block_038F:
xOff = -3;
yOff = 1;
goto block_0415;
block_039D:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 12) goto block_03BB;
block_03AD:
xOff = -3;
yOff = 0;
goto block_0415;
block_03BB:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 13) goto block_03D9;
block_03CB:
xOff = -3;
yOff = -1;
goto block_0415;
block_03D9:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 14) goto block_03F7;
block_03E9:
xOff = -3;
yOff = -2;
goto block_0415;
block_03F7:
/* global_address global_id=0x3C */
if (Intrinsic00FA() != 15) goto block_0415;
block_0407:
xOff = -3;
yOff = -3;
goto block_0415;
block_0415:
if target goto block_061D;
block_041D:
/* global_address global_id=0x3C */
if Intrinsic0035() goto block_0437;
block_042D:
InCrouch = 1;
goto block_046E;
block_0437:
InCrouch = 0;
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
suspend;
block_046E:
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
spawn class_039B_slot_20(mine, arg_06);
block_04C5:
/* global_address global_id=0x3C */
if Intrinsic0033() goto block_04FB;
block_04D5:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
goto block_04C5;
block_04FB:
spawn class_0A0C_slot_21(pid, 13, 0x00000000);
suspend;
if (!InCrouch) goto block_05C5;
block_052A:
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
suspend;
if target goto block_05C2;
block_0562:
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
suspend;
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
suspend;
block_05C2:
goto block_061A;
block_05C5:
spawn class_0A0C_slot_21(pid, 0x00B0, 0x00000000);
suspend;
block_061A:
goto block_0672;
block_061D:
spawn class_0A0C_slot_21(pid, 0x00B0, 0x00000000);
suspend;
block_0672:
return;
}

View file

@ -0,0 +1,369 @@
function blastpac_slot_20() /* entry=207 class_id=0x039B slot=0x20 */
{
var
referent, /* [BP+00h] type=0x69 */
pac, /* [BP+0Ah] type=0x24 */
item, /* [BP-02h] type=0x24 */
counter, /* [BP-04h] type=0x69 */
therm, /* [BP-06h] type=0x24 */
thermTop, /* [BP-08h] type=0x24 */
radar, /* [BP-0Ah] type=0x24 */
radarPart, /* [BP-0Ch] type=0x24 */
x, /* [BP-0Eh] type=0x69 */
y, /* [BP-10h] type=0x69 */
z; /* [BP-12h] type=0x69 */
entry:
spawn class_0A0C_slot_32(pid, 60, 0x00000000);
suspend;
set_info(0x00F0, 0);
counter = 1;
block_0736:
if (counter <= 5) goto block_077E;
block_073E:
spawn class_0A0C_slot_32(pid, 60, 0x00000000);
suspend;
counter = (1 + counter);
goto block_0736;
block_077E:
spawn class_0A1E_slot_28(pid, 1, 2, pac);
suspend;
/* global_address global_id=0x3C */
if (Item.getType() != 1) goto block_0AD9;
block_07B3:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
/* pop_global global_id=0x20 size=0x1 */
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0800:
if condition goto block_084E;
block_0803:
spawn class_0A1E_slot_28(pid, 0, 2, item);
suspend;
therm = item;
/* loopnext */
goto block_0800;
block_084E:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_086C:
if condition goto block_08C5;
block_086F:
spawn class_0A1E_slot_28(pid, 1, 0, item);
suspend;
thermTop = item;
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
suspend;
/* loopnext */
goto block_086C;
block_08C5:
/* global_address global_id=0x3C */
if Kernel.resetRef() goto block_08DD;
block_08D7:
goto block_0FF9;
block_08DD:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_08F9:
if condition goto block_093E;
block_08FC:
spawn class_0A0C_slot_32(Intrinsic00DA(pid, 20, 10), 0x00000000);
suspend;
/* loopnext */
goto block_08F9;
block_093E:
counter = 0;
block_0947:
if (counter <= 2) goto block_09A3;
block_094F:
block_095C:
if Item.touch(22, thermTop) goto block_0996;
block_096D:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
goto block_095C;
block_0996:
counter = (1 + counter);
goto block_0947;
block_09A3:
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_09E5:
if condition goto block_0A4D;
block_09E8:
spawn class_0A1E_slot_28(pid, 0, 0, item);
suspend;
spawn class_0A0C_slot_32(Intrinsic00DA(pid, 10, 5), 0x00000000);
suspend;
/* loopnext */
goto block_09E5;
block_0A4D:
spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000);
suspend;
spawn class_0A0C_slot_26(pid, "1c", 0x00000000);
/* free_stack_string value_u8=0x0 target=[SP+00h] */
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0AC2:
if condition goto block_0AD4;
block_0AC5:
/* loopnext */
goto block_0AC2;
block_0AD4:
goto block_0FF9;
block_0AD9:
/* global_address global_id=0x3C */
if (Item.getType() != 7) goto block_0DFD;
block_0AE9:
/* pop_global global_id=0x23 size=0x1 */
spawn class_0A0C_slot_32(1, pid, 10, 0x00000000);
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0B36:
if condition goto block_0B6E;
block_0B39:
radar = item;
/* loopnext */
goto block_0B36;
block_0B6E:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0B8C:
if condition goto block_0C13;
block_0B8F:
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
suspend;
x = Intrinsic0013(item);
y = Item.legal_create(item);
z = Item.getZ(item);
/* loopnext */
goto block_0B8C;
block_0C13:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0C33:
if condition goto block_0C6F;
block_0C36:
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
suspend;
/* loopnext */
goto block_0C33;
block_0C6F:
spawn class_0A0C_slot_32(pid, 60, 0x00000000);
suspend;
/* global_address global_id=0x3C */
if Kernel.resetRef() goto block_0CAD;
block_0CA7:
goto block_0FF9;
block_0CAD:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0CC9:
if condition goto block_0D0E;
block_0CCC:
spawn class_0A0C_slot_32(Intrinsic00DA(pid, 20, 10), 0x00000000);
suspend;
/* loopnext */
goto block_0CC9;
block_0D0E:
counter = 0;
block_0D17:
if (counter <= 2) goto block_0D75;
block_0D1F:
block_0D2D:
if Item.touch(0x0096, radar) goto block_0D68;
block_0D3F:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
goto block_0D2D;
block_0D68:
counter = (1 + counter);
goto block_0D17;
block_0D75:
spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000);
suspend;
spawn class_0A0C_slot_26(pid, "4g", 0x00000000);
/* free_stack_string value_u8=0x0 target=[SP+00h] */
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0DE6:
if condition goto block_0DF8;
block_0DE9:
/* loopnext */
goto block_0DE6;
block_0DF8:
goto block_0FF9;
block_0DFD:
/* global_address global_id=0x3C */
if (Item.getType() != 29) goto block_0FF9;
block_0E0D:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
/* pop_global global_id=0x2E size=0x1 */
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0E5A:
if condition goto block_0EA1;
block_0E5D:
spawn class_0A1E_slot_28(pid, 0, 2, item);
suspend;
/* loopnext */
goto block_0E5A;
block_0EA1:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0EC1:
if condition goto block_0ED5;
block_0EC4:
/* loopnext */
goto block_0EC1;
block_0ED5:
spawn class_0A0C_slot_32(pid, 60, 0x00000000);
suspend;
/* global_address global_id=0x3C */
if Kernel.resetRef() goto block_0F13;
block_0F0D:
goto block_0FF9;
block_0F13:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0F31:
if condition goto block_0F8B;
block_0F34:
if (Item.pop(item) != 0) goto block_0F87;
block_0F49:
spawn class_0A0C_slot_32(Intrinsic00DA(pid, 30, 20), 0x00000000);
suspend;
block_0F87:
/* loopnext */
goto block_0F31;
block_0F8B:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0FAB:
if condition goto block_0FE3;
block_0FAE:
spawn class_0A0C_slot_32(pid, 20, 0x00000000);
suspend;
/* loopnext */
goto block_0FAB;
block_0FE3:
spawn class_0A0C_slot_22(0x00000000);
goto block_0FF9;
block_0FF9:
return;
}

View file

@ -0,0 +1,24 @@
function blood_gotHit() /* entry=257 class_id=0x04B8 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
class_0A0C_slot_2C(vel, ref);
if (retval != 4) goto block_0166;
block_0106:
if (((Item.getFrame(arg_06) != 9) || (Item.getFrame(arg_06) != 19)) || (Item.getFrame(arg_06) != 29)) goto block_0166;
block_0135:
spawn class_0A0C_slot_32(pid, 15, 0x00000000);
suspend;
block_0166:
return;
}

View file

@ -0,0 +1,146 @@
function bouncbox_gotHit() /* entry=291 class_id=0x04EF slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel, /* [BP+0Ch] type=0x69 */
dir, /* [BP-02h] type=0x69 */
qHi, /* [BP-04h] type=0x69 */
qLo, /* [BP-06h] type=0x69 */
item, /* [BP-08h] type=0x24 */
item2, /* [BP-0Ah] type=0x24 */
x1, /* [BP-0Ch] type=0x69 */
y1, /* [BP-0Eh] type=0x69 */
ammo; /* [BP-10h] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
dir = Item.getCX(arg_06);
item = ref;
if (ref != 0x4000) goto block_02D1;
block_010F:
class_0A0C_slot_2C(vel, ref);
class_0A0C_slot_2C((retval != 4), vel, ref);
if (retval != 3) goto block_014B;
block_0145:
goto block_0479;
block_014B:
if ((dir > 15) && (dir < 32)) goto block_018B;
block_015F:
dir = (dir + 2);
if (dir > 31) goto block_017E;
block_0174:
dir = (dir - 16);
block_017E:
block_018B:
if (Item.getStatus(arg_06) & 4) goto block_01A8;
block_019D:
dir = 0x00FF;
goto block_02CE;
block_01A8:
class_0A0C_slot_2C(vel, ref);
ammo = retval;
if (dir != 0x00FF) goto block_01D7;
block_01C5:
class_0A0C_slot_20(15);
dir = retval;
goto block_0216;
block_01D7:
if (dir != 0x00FE) goto block_0216;
block_01E3:
suspend;
goto block_0479;
block_0213:
goto block_0216;
block_0216:
dir = (dir & 15);
if ((dir > 13) || (dir < 3)) goto block_0241;
block_0234:
y1 = (y1 - 32);
goto block_02A4;
block_0241:
if ((dir > 1) && (dir < 7)) goto block_0262;
block_0255:
x1 = (x1 + 32);
goto block_02A4;
block_0262:
if ((dir > 5) && (dir < 11)) goto block_0283;
block_0276:
y1 = (y1 + 32);
goto block_02A4;
block_0283:
if ((dir > 9) && (dir < 15)) goto block_02A4;
block_0297:
x1 = (x1 - 32);
goto block_02A4;
block_02A4:
suspend;
block_02CE:
goto block_0479;
block_02D1:
if (Intrinsic0016(item) != 0x02C3) goto block_03A5;
block_02E4:
qHi = Item.getCX(item);
qLo = Item.pop(item);
if Item.getQLo(0, 0x02C4, item2) goto block_03A2;
block_031F:
if qHi goto block_0373;
block_0334:
goto block_03A2;
block_0373:
block_03A2:
goto block_0479;
block_03A5:
if (Intrinsic0016(item) != 0x02C4) goto block_0479;
block_03B8:
qHi = Item.getCX(item);
qLo = Item.pop(item);
if Item.getQLo(0, 0x02C3, item2) goto block_0476;
block_03F3:
if qHi goto block_0447;
block_0408:
goto block_0476;
block_0447:
block_0476:
goto block_0479;
block_0479:
return;
}

View file

@ -0,0 +1,8 @@
function bouncbox_equip() /* entry=291 class_id=0x04EF slot=0x0A */
{
entry:
set_info(0x0211, *(arg_06));
process_exclude();
return;
}

View file

@ -0,0 +1,80 @@
function box_ew_use() /* entry=15 class_id=0x0080 slot=0x01 */
{
var
referent, /* [BP+00h] type=0x69 */
counter; /* [BP-02h] type=0x69 */
entry:
set_info(0x0207, *(arg_06));
process_exclude();
if Item.getFrame(arg_06) goto block_0198;
block_00FA:
block_0108:
if Item.touch(0x00A7, arg_06) goto block_0143;
block_011A:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
goto block_0108;
block_0143:
counter = 0;
block_014A:
if (counter <= 5) goto block_0195;
block_0152:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
goto block_014A;
block_0195:
goto block_0230;
block_0198:
block_01A6:
if Item.touch(0x00A5, arg_06) goto block_01E1;
block_01B8:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
goto block_01A6;
block_01E1:
counter = 0;
block_01E8:
if (counter <= 5) goto block_0230;
block_01F0:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
goto block_01E8;
block_0230:
if (Item.getMapNum(arg_06) != 0) goto block_02AB;
block_0242:
if (Item.getFrame(arg_06) != 0) goto block_027E;
block_0254:
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
suspend;
goto block_02A5;
block_027E:
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
suspend;
block_02A5:
goto block_02AB;
block_02AB:
return;
}

View file

@ -0,0 +1,80 @@
function box_ns_use() /* entry=16 class_id=0x0081 slot=0x01 */
{
var
referent, /* [BP+00h] type=0x69 */
counter; /* [BP-02h] type=0x69 */
entry:
set_info(0x0207, *(arg_06));
process_exclude();
if Item.getFrame(arg_06) goto block_0198;
block_00FA:
block_0108:
if Item.touch(0x00A7, arg_06) goto block_0143;
block_011A:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
goto block_0108;
block_0143:
counter = 0;
block_014A:
if (counter <= 5) goto block_0195;
block_0152:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
goto block_014A;
block_0195:
goto block_0230;
block_0198:
block_01A6:
if Item.touch(0x00A5, arg_06) goto block_01E1;
block_01B8:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
goto block_01A6;
block_01E1:
counter = 0;
block_01E8:
if (counter <= 5) goto block_0230;
block_01F0:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
counter = (1 + counter);
goto block_01E8;
block_0230:
if (Item.getMapNum(arg_06) != 0) goto block_02AB;
block_0242:
if (Item.getFrame(arg_06) != 0) goto block_027E;
block_0254:
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
suspend;
goto block_02A5;
block_027E:
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
suspend;
block_02A5:
goto block_02AB;
block_02AB:
return;
}

View file

@ -0,0 +1,47 @@
function bridge_slot_20() /* entry=373 class_id=0x0A03 slot=0x20 */
{
var
referent, /* [BP+00h] type=0x69 */
var, /* [BP+0Ah] type=0x69 */
q; /* [BP-02h] type=0x69 */
entry:
set_info(0x0211, *(arg_06));
if (var != 1) goto block_0195;
block_0122:
q = Item.pop(arg_06);
spawn class_0A03_slot_22(pid, q, arg_06);
suspend;
/* dword_to_word */
if (process_result != 1) goto block_0192;
block_015B:
spawn class_0A03_slot_24(pid, q, arg_06);
suspend;
spawn class_0A03_slot_26(0, q, arg_06);
block_0192:
goto block_01FF;
block_0195:
if (var != 2) goto block_01FF;
block_01A0:
q = Item.pop(arg_06);
spawn class_0A03_slot_23(pid, q, arg_06);
suspend;
/* dword_to_word */
if (process_result != 1) goto block_01FC;
block_01D9:
spawn class_0A03_slot_25(pid, q, arg_06);
suspend;
block_01FC:
goto block_01FF;
block_01FF:
return;
}

View file

@ -0,0 +1,26 @@
function bridge_slot_21() /* entry=373 class_id=0x0A03 slot=0x21 */
{
var
item, /* [BP+06h] type=0x24 */
newtype, /* [BP+08h] type=0x69 */
x, /* [BP-02h] type=0x69 */
item2; /* [BP-04h] type=0x24 */
entry:
x = Intrinsic0016(item);
if ((x != 0x0413) || (x != 0x0290)) goto block_026E;
block_024F:
if (newtype != 0x03A6) goto block_0266;
block_025B:
newtype = 0x0413;
goto block_026E;
block_0266:
newtype = 0x0290;
block_026E:
return;
}

View file

@ -0,0 +1,42 @@
function bridge_slot_22() /* entry=373 class_id=0x0A03 slot=0x22 */
{
var
referent, /* [BP+00h] type=0x69 */
start, /* [BP+0Ah] type=0x69 */
item, /* [BP-02h] type=0x24 */
x; /* [BP-04h] type=0x69 */
entry:
set_info(0x021B, *(arg_06));
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_02EA:
if condition goto block_0334;
block_02ED:
if (Item.getFrame(item) != 0) goto block_0330;
block_02FF:
x = Item.pop(item);
if (x != start) goto block_0330;
block_0318:
/* word_to_dword */
/* pop_result */
goto block_0340;
block_0330:
/* loopnext */
goto block_02EA;
block_0334:
/* word_to_dword */
/* pop_result */
goto block_0340;
block_0340:
return;
}

View file

@ -0,0 +1,126 @@
function bridge_slot_23() /* entry=373 class_id=0x0A03 slot=0x23 */
{
var
referent, /* [BP+00h] type=0x69 */
start, /* [BP+0Ah] type=0x69 */
item, /* [BP-02h] type=0x24 */
x, /* [BP-04h] type=0x69 */
end; /* [BP-06h] type=0x69 */
entry:
set_info(0x021B, *(arg_06));
end = 0;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_03AC:
if condition goto block_03F2;
block_03AF:
x = Item.pop(item);
if (x != start) goto block_03EE;
block_03C8:
x = Item.getCX(item);
if (x != 0) goto block_03EE;
block_03E1:
end = x;
goto block_03F2;
block_03EE:
/* loopnext */
goto block_03AC;
block_03F2:
if (end != 0) goto block_0479;
block_03FF:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_041F:
if condition goto block_0477;
block_0422:
if (Item.getFrame(item) != 1) goto block_0473;
block_0434:
x = Item.pop(item);
if (x != start) goto block_0473;
block_044D:
x = Item.getCX(item);
if (x != 0) goto block_0473;
block_0466:
end = x;
goto block_0477;
block_0473:
/* loopnext */
goto block_041F;
block_0477:
block_0479:
if (end != 0) goto block_054A;
block_0484:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_04A4:
if condition goto block_04DC;
block_04A7:
x = Item.pop(item);
if (x != end) goto block_04D8;
block_04C0:
/* word_to_dword */
/* pop_result */
goto block_0554;
block_04D8:
/* loopnext */
goto block_04A4;
block_04DC:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_04FE:
if condition goto block_0548;
block_0501:
if (Item.getFrame(arg_06) != 1) goto block_0544;
block_0513:
x = Item.pop(item);
if (x != end) goto block_0544;
block_052C:
/* word_to_dword */
/* pop_result */
goto block_0554;
block_0544:
/* loopnext */
goto block_04FE;
block_0548:
block_054A:
/* word_to_dword */
/* pop_result */
goto block_0554;
block_0554:
return;
}

View file

@ -0,0 +1,122 @@
function bridge_slot_24() /* entry=373 class_id=0x0A03 slot=0x24 */
{
var
referent, /* [BP+00h] type=0x69 */
start, /* [BP+0Ah] type=0x69 */
item, /* [BP-02h] type=0x24 */
bridgeitems, /* [BP-04h] type=0x6C */
bridgemax, /* [BP-06h] type=0x69 */
x, /* [BP-08h] type=0x69 */
y, /* [BP-0Ah] type=0x69 */
z; /* [BP-0Ch] type=0x69 */
entry:
set_info(0x021B, *(arg_06));
bridgemax = 0;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_05C8:
if condition goto block_05FC;
block_05CB:
x = Item.pop(item);
if (x != start) goto block_05F8;
block_05E4:
bridgemax = Item.getCX(item);
goto block_05FC;
block_05F8:
/* loopnext */
goto block_05C8;
block_05FC:
if (bridgemax != 0) goto block_060F;
block_0609:
goto block_07AB;
block_060F:
if (bridgemax < start) goto block_0620;
block_061A:
goto block_07AB;
block_0620:
y = start;
block_0627:
if (y <= bridgemax) goto block_06CF;
block_0632:
z = y;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0659:
if condition goto block_0699;
block_065C:
x = Item.pop(item);
if (x != y) goto block_0695;
block_0675:
/* create_list element_size=0x2 count=0x1 */
/* append_list */
/* free_local_list bp_offset=0xFC target=[BP-04h] */
bridgeitems = item;
y = (1 + y);
goto block_0699;
block_0695:
/* loopnext */
goto block_0659;
block_0699:
if (z != y) goto block_06CC;
block_06A6:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
block_06CC:
goto block_0627;
block_06CF:
block_06D8:
foreach_list item -> block_0750;
block_06DD:
if (Intrinsic002C(item) != 1) goto block_074A;
block_06EF:
class_0A03_slot_21(0x03A6, item);
spawn class_0A0C_slot_32(pid, 15, 0x00000000);
suspend;
block_074A:
goto block_06D8;
block_0750:
block_0759:
foreach_list item -> block_07AB;
block_075E:
if (Intrinsic002C(item) != 1) goto block_07A5;
block_0770:
class_0A03_slot_21(0x03A6, item);
block_07A5:
goto block_0759;
block_07AB:
/* free_local_list bp_offset=0xFC target=[BP-04h] */
return;
}

View file

@ -0,0 +1,251 @@
function bridge_slot_25() /* entry=373 class_id=0x0A03 slot=0x25 */
{
var
referent, /* [BP+00h] type=0x69 */
start, /* [BP+0Ah] type=0x69 */
item, /* [BP-02h] type=0x24 */
bridgeitems, /* [BP-04h] type=0x6C */
bridgemax, /* [BP-06h] type=0x69 */
x, /* [BP-08h] type=0x69 */
y, /* [BP-0Ah] type=0x69 */
z, /* [BP-0Ch] type=0x69 */
item2, /* [BP-0Eh] type=0x24 */
item3; /* [BP-10h] type=0x24 */
entry:
set_info(0x021B, *(arg_06));
bridgemax = 0;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0843:
if condition goto block_0877;
block_0846:
x = Item.pop(item);
if (x != start) goto block_0873;
block_085F:
bridgemax = Item.getCX(item);
goto block_0877;
block_0873:
/* loopnext */
goto block_0843;
block_0877:
if (bridgemax != 0) goto block_08FD;
block_0884:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_08A4:
if condition goto block_08EA;
block_08A7:
if (Item.getFrame(arg_06) != 1) goto block_08E6;
block_08B9:
x = Item.pop(item);
if (x != start) goto block_08E6;
block_08D2:
bridgemax = Item.getCX(item);
goto block_08EA;
block_08E6:
/* loopnext */
goto block_08A4;
block_08EA:
if (bridgemax != 0) goto block_08FD;
block_08F7:
goto block_0C5A;
block_08FD:
if (bridgemax < start) goto block_090E;
block_0908:
goto block_0C5A;
block_090E:
y = bridgemax;
start = (start - 1);
block_091F:
if (y != start) goto block_0A46;
block_092A:
z = y;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0951:
if condition goto block_0991;
block_0954:
x = Item.pop(item);
if (x != y) goto block_098D;
block_096D:
/* create_list element_size=0x2 count=0x1 */
/* append_list */
/* free_local_list bp_offset=0xFC target=[BP-04h] */
bridgeitems = item;
y = (y - 1);
goto block_0991;
block_098D:
/* loopnext */
goto block_0951;
block_0991:
if (z != y) goto block_0A43;
block_099E:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_09BE:
if condition goto block_0A10;
block_09C1:
if (Item.getFrame(arg_06) != 1) goto block_0A0C;
block_09D3:
x = Item.pop(item);
if (x != y) goto block_0A0C;
block_09EC:
/* create_list element_size=0x2 count=0x1 */
/* append_list */
/* free_local_list bp_offset=0xFC target=[BP-04h] */
bridgeitems = item;
y = (y - 1);
goto block_0A10;
block_0A0C:
/* loopnext */
goto block_09BE;
block_0A10:
if (z != y) goto block_0A43;
block_0A1D:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
block_0A43:
goto block_091F;
block_0A46:
block_0A4F:
foreach_list item -> block_0B63;
block_0A54:
if (Intrinsic002C(item) != 1) goto block_0AB6;
block_0A66:
class_0A03_slot_21(0x0336, item);
spawn class_0A0C_slot_32(pid, 15, 0x00000000);
suspend;
block_0AB6:
/* loopscr value_u8=0x24 */
/* loop current_var=0xF2 string_bytes=0x1 loop_type=0x6 */
block_0AC4:
if condition goto block_0B5B;
block_0AC7:
if ((Intrinsic003C(item2) != 6) && (Item.isNpc(item2) != 0)) goto block_0B4C;
block_0AE9:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */
block_0B05:
if condition goto block_0B17;
block_0B08:
/* loopnext */
goto block_0B05;
block_0B17:
spawn class_0A1E_slot_28(pid, 1, 0, item2);
suspend;
goto block_0B57;
block_0B4C:
block_0B57:
/* loopnext */
goto block_0AC4;
block_0B5B:
goto block_0A4F;
block_0B63:
block_0B6C:
foreach_list item -> block_0C5A;
block_0B71:
if (Intrinsic002C(item) != 1) goto block_0BAD;
block_0B83:
class_0A03_slot_21(0x0336, item);
block_0BAD:
/* loopscr value_u8=0x24 */
/* loop current_var=0xF2 string_bytes=0x1 loop_type=0x6 */
block_0BBB:
if condition goto block_0C52;
block_0BBE:
if ((Intrinsic003C(item2) != 6) && (Item.isNpc(item2) != 0)) goto block_0C43;
block_0BE0:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xF0 string_bytes=0x6 loop_type=0x2 */
block_0BFC:
if condition goto block_0C0E;
block_0BFF:
/* loopnext */
goto block_0BFC;
block_0C0E:
spawn class_0A1E_slot_28(pid, 1, 0, item2);
suspend;
goto block_0C4E;
block_0C43:
block_0C4E:
/* loopnext */
goto block_0BBB;
block_0C52:
goto block_0B6C;
block_0C5A:
/* free_local_list bp_offset=0xFC target=[BP-04h] */
return;
}

View file

@ -0,0 +1,339 @@
function bridge_slot_26() /* entry=373 class_id=0x0A03 slot=0x26 */
{
var
referent, /* [BP+00h] type=0x69 */
start, /* [BP+0Ah] type=0x69 */
end, /* [BP+0Ch] type=0x69 */
n, /* [BP-02h] type=0x24 */
item, /* [BP-04h] type=0x24 */
bridgeitems, /* [BP-06h] type=0x6C */
bridgemax, /* [BP-08h] type=0x69 */
x, /* [BP-0Ah] type=0x69 */
y, /* [BP-0Ch] type=0x69 */
z, /* [BP-0Eh] type=0x69 */
a, /* [BP-10h] type=0x69 */
cycletype, /* [BP-12h] type=0x69 */
delay, /* [BP-14h] type=0x69 */
retry, /* [BP-16h] type=0x69 */
wp, /* [BP-1Bh] type=0x24 */
item2; /* [BP-1Dh] type=0x24 */
entry:
set_info(0x021B, *(arg_06));
cycletype = 0;
delay = 1;
bridgemax = end;
if (bridgemax != 0) goto block_0D66;
block_0CFF:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */
block_0D1F:
if condition goto block_0D53;
block_0D22:
x = Item.pop(item);
if (x != start) goto block_0D4F;
block_0D3B:
bridgemax = Item.getCX(item);
goto block_0D53;
block_0D4F:
/* loopnext */
goto block_0D1F;
block_0D53:
if (bridgemax != 0) goto block_0D66;
block_0D60:
goto block_12F6;
block_0D66:
if (bridgemax < start) goto block_0D77;
block_0D71:
goto block_12F6;
block_0D77:
y = start;
retry = 100;
block_0D85:
if (y <= bridgemax) goto block_0EE8;
block_0D90:
z = y;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */
block_0DB7:
if condition goto block_0E74;
block_0DBA:
x = Item.pop(item);
if (x != y) goto block_0E70;
block_0DD3:
if (x != (start + 1)) goto block_0E50;
block_0DE1:
a = Item.getCX(item);
if (a < 0) goto block_0E05;
block_0DFA:
a = (a + 0x0100);
block_0E05:
a = (a & 127);
cycletype = (a & 7);
delay = (a / 8);
if (delay != 0) goto block_0E35;
block_0E2E:
delay = 1;
block_0E35:
delay = (delay * 5);
if (cycletype != 0) goto block_0E50;
block_0E4A:
goto block_12F6;
block_0E50:
/* create_list element_size=0x2 count=0x1 */
/* append_list */
/* free_local_list bp_offset=0xFA target=[BP-06h] */
bridgeitems = item;
y = (1 + y);
goto block_0E74;
block_0E70:
/* loopnext */
goto block_0DB7;
block_0E74:
if (z != y) goto block_0EE5;
block_0E81:
if (retry != 0) goto block_0EB5;
block_0E8C:
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
suspend;
goto block_0EE5;
block_0EB5:
retry = (retry - 1);
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
block_0EE5:
goto block_0D85;
block_0EE8:
if (cycletype != 3) goto block_110A;
block_0EF3:
if 1 goto block_110A;
block_0EFB:
x = 0;
block_0F0B:
foreach_list item -> block_0F32;
block_0F10:
if (Intrinsic002C(item) != 0) goto block_0F2C;
block_0F22:
x = (1 + x);
block_0F2C:
goto block_0F0B;
block_0F32:
if (x != 0) goto block_10E1;
block_0F3D:
block_0F46:
foreach_list item -> block_0F9D;
block_0F4B:
if (x != 0) goto block_0F75;
block_0F56:
y = Item.getFrame(item);
item2 = item;
x = 1;
goto block_0F97;
block_0F75:
z = Item.getFrame(item);
y = z;
block_0F97:
goto block_0F46;
block_0F9D:
block_0FB3:
foreach_list item -> block_10E1;
block_0FB8:
x = Item.getFrame(item);
if (x != 1) goto block_101F;
block_0FD1:
/* loopscr value_u8=0x24 */
/* loop current_var=0xE3 string_bytes=0x1 loop_type=0x6 */
block_0FDF:
if condition goto block_101A;
block_0FE2:
n = item2;
class_0A0C_slot_20(pid, 8);
spawn class_0A11_slot_2D(retval, item, n);
suspend;
/* loopnext */
goto block_0FDF;
block_101A:
goto block_10DB;
block_101F:
if (x != 2) goto block_10DB;
block_102A:
class_0A03_slot_21(0x0336, item);
/* loopscr value_u8=0x24 */
/* loop current_var=0xE3 string_bytes=0x1 loop_type=0x6 */
block_1062:
if condition goto block_1074;
block_1065:
/* loopnext */
goto block_1062;
block_1074:
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
suspend;
if (Item.getFrame(item) != 1) goto block_10D8;
block_10AE:
class_0A03_slot_21(0x03A6, item);
block_10D8:
goto block_10DB;
block_10DB:
goto block_0FB3;
block_10E1:
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
suspend;
goto block_0EF3;
block_110A:
block_1113:
foreach_list item -> block_113D;
block_1118:
if (Intrinsic002C(item) != 1) goto block_1137;
block_112A:
block_1137:
goto block_1113;
block_113D:
if 1 goto block_12F6;
block_1145:
block_114E:
foreach_list item -> block_12F3;
block_1153:
if (Intrinsic002C(item) != 0) goto block_116B;
block_1165:
goto block_12F6;
block_116B:
x = Intrinsic0016(item);
if ((x != 0x0336) || (x != 0x0290)) goto block_1192;
block_118C:
goto block_12F6;
block_1192:
if (cycletype != 1) goto block_122B;
block_119D:
/* loopscr value_u8=0x24 */
/* loop current_var=0xE3 string_bytes=0x1 loop_type=0x6 */
block_11B8:
if condition goto block_11F3;
block_11BB:
n = item2;
class_0A0C_slot_20(pid, 8);
spawn class_0A11_slot_2D(retval, item, n);
suspend;
/* loopnext */
goto block_11B8;
block_11F3:
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
suspend;
goto block_12ED;
block_122B:
if (cycletype != 2) goto block_12E7;
block_1236:
class_0A03_slot_21(0x0336, item);
/* loopscr value_u8=0x24 */
/* loop current_var=0xE3 string_bytes=0x1 loop_type=0x6 */
block_126E:
if condition goto block_1280;
block_1271:
/* loopnext */
goto block_126E;
block_1280:
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
suspend;
if (Item.getFrame(item) != 1) goto block_12E4;
block_12BA:
class_0A03_slot_21(0x03A6, item);
block_12E4:
goto block_12ED;
block_12E7:
goto block_12F6;
block_12ED:
goto block_114E;
block_12F3:
goto block_113D;
block_12F6:
/* free_local_list bp_offset=0xFA target=[BP-06h] */
return;
}

View file

@ -0,0 +1,39 @@
function brokencw_gotHit() /* entry=43 class_id=0x00D1 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel, /* [BP+0Ch] type=0x69 */
item; /* [BP-02h] type=0x24 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
/* loopscr value_u8=0x24 */
/* loop current_var=0xFE string_bytes=0x1 loop_type=0x2 */
block_0100:
if condition goto block_0188;
block_0103:
if (Intrinsic0016(item) != 0x00D1) goto block_012C;
block_011C:
goto block_0184;
block_012C:
if ((Intrinsic003C(item) != 6) && (Item.isNpc(item) != 0)) goto block_0184;
block_0151:
spawn class_0A1E_slot_28(pid, 1, 0, item);
suspend;
goto block_0184;
block_0184:
/* loopnext */
goto block_0100;
block_0188:
return;
}

View file

@ -0,0 +1,103 @@
function bro_boot_equip() /* entry=172 class_id=0x0316 slot=0x0A */
{
var
referent, /* [BP+00h] type=0x69 */
event, /* [BP+0Ah] type=0x69 */
counter; /* [BP-02h] type=0x69 */
entry:
set_info(0x0211, *(arg_06));
process_exclude();
if (Item.getFrame(arg_06) != 10) goto block_0106;
block_0100:
goto block_0380;
block_0106:
class_0A0C_slot_33(0x021B, *(arg_06));
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
block_0140:
if (Item.getFrame(arg_06) != 9) goto block_0192;
block_0152:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_0140;
block_0192:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
if (global[0x001F] != 2) goto block_01F2;
block_01C2:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0315;
block_01F2:
if (global[0x001F] != 3) goto block_022C;
block_01FC:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0315;
block_022C:
if (global[0x001F] != 4) goto block_0266;
block_0236:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0315;
block_0266:
if (global[0x001F] != 5) goto block_02A0;
block_0270:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0315;
block_02A0:
if (global[0x001F] != 9) goto block_02DA;
block_02AA:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0315;
block_02DA:
if (global[0x001F] != 10) goto block_0315;
block_02E4:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0315;
block_0315:
counter = 0;
block_031C:
if (counter <= 9) goto block_0367;
block_0324:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_031C;
block_0367:
spawn class_0316_enterFastArea(arg_06);
block_0380:
return;
}

View file

@ -0,0 +1,96 @@
function bro_boot_enterFastArea() /* entry=172 class_id=0x0316 slot=0x0F */
{
var
referent, /* [BP+00h] type=0x69 */
item, /* [BP-02h] type=0x24 */
counter; /* [BP-04h] type=0x69 */
entry:
set_info(0x021B, *(arg_06));
process_exclude();
if ((((((global[0x001F] != 2) || (global[0x001F] != 3)) || (global[0x001F] != 4)) || (global[0x001F] != 5)) || (global[0x001F] != 9)) || (global[0x001F] != 10)) goto block_0454;
block_03F2:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0410:
if condition goto block_0442;
block_0413:
if (Item.pop(item) != Item.pop(arg_06)) goto block_043E;
block_042F:
class_0A1E_slot_24(0x1000, item);
block_043E:
/* loopnext */
goto block_0410;
block_0442:
goto block_04B9;
block_0454:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
block_0472:
if condition goto block_04A4;
block_0475:
if (Item.pop(item) != Item.pop(arg_06)) goto block_04A0;
block_0491:
class_0A1E_slot_23(0x1000, item);
block_04A0:
/* loopnext */
goto block_0472;
block_04A4:
goto block_05CD;
block_04B9:
suspend;
class_0A0C_slot_20(pid, 100);
spawn class_0A0C_slot_32((retval + 0x00C8), 0x00000000);
suspend;
counter = 0;
block_04FF:
if (counter <= 5) goto block_0547;
block_0507:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_04FF;
block_0547:
class_0A0C_slot_20(pid, 100);
spawn class_0A0C_slot_32((retval + 100), 0x00000000);
suspend;
counter = 0;
block_057F:
if (counter <= 5) goto block_05CA;
block_0587:
spawn class_0A0C_slot_32(pid, 15, 0x00000000);
suspend;
counter = (1 + counter);
goto block_057F;
block_05CA:
goto block_04B9;
block_05CD:
return;
}

View file

@ -0,0 +1,9 @@
function bro_boot_leaveFastArea() /* entry=172 class_id=0x0316 slot=0x10 */
{
entry:
set_info(0x021C, *(arg_06));
process_exclude();
class_0A0C_slot_33(0x021B, *(arg_06));
return;
}

View file

@ -0,0 +1,61 @@
function bubble_enterFastArea() /* entry=109 class_id=0x01D6 slot=0x0F */
{
var
referent, /* [BP+00h] type=0x69 */
counter; /* [BP-02h] type=0x69 */
entry:
set_info(0x021B, *(arg_06));
process_exclude();
block_00EB:
suspend;
class_0A0C_slot_20(pid, 120);
spawn class_0A0C_slot_32((retval + 0x00DC), 0x00000000);
suspend;
if Intrinsic0007(arg_06) goto block_024B;
block_0139:
counter = 0;
block_0140:
if (counter <= 11) goto block_01A3;
block_0148:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
if (counter != 5) goto block_0196;
block_0189:
block_0196:
counter = (1 + counter);
goto block_0140;
block_01A3:
class_0A0C_slot_20(pid, 120);
spawn class_0A0C_slot_32((retval + 120), 0x00000000);
suspend;
counter = 12;
block_01E8:
if (counter <= 24) goto block_024B;
block_01F0:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
if (counter != 17) goto block_023E;
block_0231:
block_023E:
counter = (1 + counter);
goto block_01E8;
block_024B:
goto block_00EB;
block_024E:
return;
}

Some files were not shown because too many files have changed in this diff Show more