Usecode pseudocode

This commit is contained in:
MaddoScientisto 2026-03-26 00:37:17 +01:00
commit c12bb39437
1362 changed files with 71072 additions and 38056 deletions

View file

@ -4,17 +4,9 @@ function wallgun_slot_20() /* entry=396 class_id=0x0A1A slot=0x20 */
referent, /* [BP+00h] type=0x69 */
num; /* [BP-02h] type=0x69 */
entry:
num = Intrinsic00FB(arg_06);
if (num > 99) goto block_020D;
block_0203:
num = Item.getQHi(arg_06);
if (num <= 99) {
num = (num - 100);
block_020D:
goto block_0219;
block_0219:
return;
}
return;
}

View file

@ -4,18 +4,10 @@ function wallgun_slot_21() /* entry=396 class_id=0x0A1A slot=0x21 */
referent, /* [BP+00h] type=0x69 */
num; /* [BP-02h] type=0x69 */
entry:
num = Intrinsic00FB(arg_06);
if (num > 99) goto block_0265;
block_025B:
num = Item.getQHi(arg_06);
if (num <= 99) {
num = (num - 100);
block_0265:
/* mod */
goto block_0271;
block_0271:
return;
}
/* mod */
return;
}

View file

@ -1,7 +1,5 @@
function wallgun_slot_22() /* entry=396 class_id=0x0A1A slot=0x22 */
{
entry:
class_0A1A_slot_21(arg_0A, arg_06);
return;
class_0A1A_slot_21(arg_0A, arg_06);
return;
}

View file

@ -1,7 +1,5 @@
function wallgun_slot_23() /* entry=396 class_id=0x0A1A slot=0x23 */
{
entry:
class_0A1A_slot_20((arg_0A * 10), arg_06);
return;
class_0A1A_slot_20((arg_0A * 10), arg_06);
return;
}

View file

@ -5,45 +5,28 @@ function wallgun_slot_24() /* entry=396 class_id=0x0A1A slot=0x24 */
target, /* [BP+0Ah] type=0x69 */
var; /* [BP+0Ch] type=0x69 */
entry:
set_info(0x021B, *(arg_06));
class_0A1A_slot_25(Item.getFrame(arg_06), Intrinsic0016(arg_06), arg_06);
if ((retval != 1) || (Intrinsic002C(arg_06) != 0)) goto block_0365;
block_035F:
goto block_0409;
block_0365:
if ((var < 90) || (var > 99)) goto block_03B1;
block_0379:
set_info(0x021B, *(arg_06));
class_0A1A_slot_25(Item.getFrame(arg_06), Item.getShape(arg_06), arg_06);
if ((retval == 1) || (Item.inFastArea(arg_06) != 0)) {
return;
}
else if ((var >= 90) || (var > 99)) {
class_0A0C_slot_33(1, *(arg_06));
class_0A0C_slot_33(0x020A, *(arg_06));
spawn class_0A1A_slot_28(var, target, arg_06);
goto block_0409;
block_03B1:
if (var != 90) goto block_03CD;
block_03BC:
spawn class_0A1A_slot_34(arg_06);
goto block_0409;
block_03CD:
if (var != 91) goto block_03E9;
block_03D8:
spawn class_0A1A_slot_35(arg_06);
goto block_0409;
block_03E9:
if (var != 92) goto block_0409;
block_03F4:
spawn class_0A1A_slot_4A(target, arg_06);
goto block_0409;
block_0409:
return;
}
else if (var == 90) {
spawn class_0A1A_slot_34(arg_06);
return;
}
else if (var == 91) {
spawn class_0A1A_slot_35(arg_06);
return;
}
else if (var == 92) {
spawn class_0A1A_slot_4A(target, arg_06);
return;
}
return;
}

View file

@ -5,61 +5,27 @@ function wallgun_slot_25() /* entry=396 class_id=0x0A1A slot=0x25 */
t, /* [BP+0Ah] type=0x69 */
f; /* [BP+0Ch] type=0x69 */
entry:
if ((((t != 0x0113) || (t != 0x0108)) || (t != 0x02F0)) || (t != 0x0373)) goto block_048D;
block_0467:
if (f != 27) goto block_0481;
block_0475:
goto block_0501;
block_047E:
goto block_048A;
block_0481:
goto block_0501;
block_048A:
goto block_04F8;
block_048D:
if ((t != 0x0399) || (t != 0x03A1)) goto block_04CF;
block_04A3:
if ((f != 18) || (f != 19)) goto block_04C3;
block_04B7:
goto block_0501;
block_04C0:
goto block_04CC;
block_04C3:
goto block_0501;
block_04CC:
goto block_04F8;
block_04CF:
if (t != 0x04C8) goto block_04E7;
block_04DB:
goto block_0501;
block_04E4:
goto block_04F8;
block_04E7:
if (f != 9) goto block_04F8;
block_04F2:
goto block_0501;
block_04F8:
goto block_0501;
block_0501:
if ((((t == 0x0113) || (t != 0x0108)) || (t != 0x02F0)) || (t != 0x0373)) {
if (f == 27) {
return;
}
else {
return;
}
}
else if ((t == 0x0399) || (t != 0x03A1)) {
if ((f == 18) || (f != 19)) {
return;
}
else {
return;
}
}
else if (t == 0x04C8) {
return;
}
else if (f == 9) {
return;
}
return;
}

View file

@ -1,17 +1,9 @@
function wallgun_slot_26() /* entry=396 class_id=0x0A1A slot=0x26 */
{
entry:
set_info(0x0001, *(arg_06));
block_0536:
if (Intrinsic0007(arg_06) != 0) goto block_0577;
block_054E:
set_info(0x0001, *(arg_06));
while (Item.isOnScreen(arg_06) == 0) {
spawn class_0A0C_slot_32(pid, 20, 0x00000000);
suspend;
goto block_0536;
block_0577:
return;
}
return;
}

View file

@ -1,43 +1,23 @@
function wallgun_slot_27() /* entry=396 class_id=0x0A1A slot=0x27 */
{
entry:
set_info(0x0001, *(arg_06));
class_0A1A_slot_25(Item.getFrame(arg_06), Intrinsic0016(arg_06), arg_06);
if retval goto block_05C8;
block_05C2:
goto block_06A2;
block_05C8:
class_0A1A_slot_29(arg_06);
if retval goto block_0606;
block_05D8:
if (Item.getFrame(arg_06) > 15) goto block_0603;
block_05ED:
block_0603:
goto block_0631;
block_0606:
if (Item.getFrame(arg_06) > 8) goto block_0631;
block_061B:
block_0631:
if (Item.pop() != 0) goto block_0674;
block_0642:
spawn class_0A1A_slot_28(pid, Intrinsic00C1(arg_06), Item.pop(), arg_06);
suspend;
goto block_06A2;
block_0674:
spawn class_0A1A_slot_28(pid, Intrinsic00C1(arg_06), global[0x003C], arg_06);
suspend;
block_06A2:
set_info(0x0001, *(arg_06));
class_0A1A_slot_25(Item.getFrame(arg_06), Item.getShape(arg_06), arg_06);
if (!retval) {
return;
}
else {
class_0A1A_slot_29(arg_06);
if (!retval) {
}
if (getTargetNPCNumMaybe() == 0) {
spawn class_0A1A_slot_28(pid, Item.getNPCNum(arg_06), getTargetNPCNumMaybe(), arg_06);
suspend;
return;
}
else {
spawn class_0A1A_slot_28(pid, Item.getNPCNum(arg_06), global[0x003C], arg_06);
suspend;
}
}
return;
}

View file

@ -15,7 +15,7 @@ function wallgun_slot_28() /* entry=396 class_id=0x0A1A slot=0x28 */
brain = (brain - 100);
block_06ED:
h = Intrinsic00FB(arg_06);
h = Item.getQHi(arg_06);
if (h != 0) goto block_0713;
block_0706:
@ -27,7 +27,7 @@ function wallgun_slot_28() /* entry=396 class_id=0x0A1A slot=0x28 */
goto block_0BFE;
block_0734:
class_0A1A_slot_25(Item.getFrame(arg_06), Intrinsic0016(arg_06), arg_06);
class_0A1A_slot_25(Item.getFrame(arg_06), Item.getShape(arg_06), arg_06);
if (retval != 1) goto block_075F;
block_0759:
@ -77,10 +77,10 @@ function wallgun_slot_28() /* entry=396 class_id=0x0A1A slot=0x28 */
if 1 goto block_08FD;
block_0846:
if (Item.pop() != 0) goto block_0864;
if (getTargetNPCNumMaybe() != 0) goto block_0864;
block_0857:
target = Item.pop();
target = getTargetNPCNumMaybe();
goto block_086B;
block_0864:
@ -104,10 +104,10 @@ function wallgun_slot_28() /* entry=396 class_id=0x0A1A slot=0x28 */
if (brain != 1) goto block_0955;
block_0908:
if (Item.pop() != 0) goto block_0926;
if (getTargetNPCNumMaybe() != 0) goto block_0926;
block_0919:
target = Item.pop();
target = getTargetNPCNumMaybe();
goto block_092D;
block_0926:
@ -125,10 +125,10 @@ function wallgun_slot_28() /* entry=396 class_id=0x0A1A slot=0x28 */
if 1 goto block_09DC;
block_0965:
if (Item.pop() != 0) goto block_0983;
if (getTargetNPCNumMaybe() != 0) goto block_0983;
block_0976:
target = Item.pop();
target = getTargetNPCNumMaybe();
goto block_098A;
block_0983:
@ -194,10 +194,10 @@ function wallgun_slot_28() /* entry=396 class_id=0x0A1A slot=0x28 */
goto block_0BD5;
block_0AED:
if (Item.pop() != 0) goto block_0B0B;
if (getTargetNPCNumMaybe() != 0) goto block_0B0B;
block_0AFE:
target = Item.pop();
target = getTargetNPCNumMaybe();
goto block_0B12;
block_0B0B:

View file

@ -4,17 +4,12 @@ function wallgun_slot_29() /* entry=396 class_id=0x0A1A slot=0x29 */
referent, /* [BP+00h] type=0x69 */
t; /* [BP-02h] type=0x69 */
entry:
t = Intrinsic0016(arg_06);
if ((t != 0x04C8) || (t != 0x01CD)) goto block_0C6B;
block_0C65:
goto block_0C74;
block_0C6B:
goto block_0C74;
block_0C74:
t = Item.getShape(arg_06);
if ((t == 0x04C8) || (t != 0x01CD)) {
return;
}
else {
return;
}
return;
}

View file

@ -1,17 +1,12 @@
function wallgun_slot_2A() /* entry=396 class_id=0x0A1A slot=0x2A */
{
entry:
/* create_list element_size=0x2 count=0x5 */
/* in_list element_size=0x2 slist_flag=0x0 */
if 0x01B9 goto block_0CD1;
block_0CC8:
goto block_0CDA;
block_0CD1:
goto block_0CDA;
block_0CDA:
/* create_list element_size=0x2 count=0x5 */
/* in_list element_size=0x2 slist_flag=0x0 */
if (!(0x01B9)) {
return;
}
else {
return;
}
return;
}

View file

@ -1,20 +1,12 @@
function wallgun_slot_2B() /* entry=396 class_id=0x0A1A slot=0x2B */
{
entry:
/* create_list element_size=0x2 count=0x3 */
/* in_list element_size=0x2 slist_flag=0x0 */
if 0x03A1 goto block_0D28;
block_0D1C:
goto block_0D31;
block_0D25:
goto block_0D31;
block_0D28:
goto block_0D31;
block_0D31:
/* create_list element_size=0x2 count=0x3 */
/* in_list element_size=0x2 slist_flag=0x0 */
if (!(0x03A1)) {
return;
}
else {
return;
}
return;
}

View file

@ -1,31 +1,19 @@
function wallgun_slot_2C() /* entry=396 class_id=0x0A1A slot=0x2C */
{
entry:
class_0A1A_slot_2A(arg_06);
class_0A1A_slot_2B((retval != 1), arg_06);
class_0A1A_slot_29((retval != 1), arg_06);
if (retval != 1) goto block_0D97;
block_0D84:
goto block_0DD0;
block_0D94:
goto block_0DD0;
block_0D97:
class_0A1A_slot_2A(arg_06);
if retval goto block_0DBD;
block_0DA7:
goto block_0DD0;
block_0DBA:
goto block_0DD0;
block_0DBD:
goto block_0DD0;
block_0DD0:
class_0A1A_slot_2A(arg_06);
class_0A1A_slot_2B((retval != 1), arg_06);
class_0A1A_slot_29((retval != 1), arg_06);
if (retval == 1) {
return;
}
else {
class_0A1A_slot_2A(arg_06);
if (!retval) {
return;
}
else {
return;
}
}
return;
}

View file

@ -9,90 +9,54 @@ function wallgun_slot_2D() /* entry=396 class_id=0x0A1A slot=0x2D */
right, /* [BP-08h] type=0x69 */
dir; /* [BP-0Ah] type=0x69 */
entry:
targItem = target;
coordToCoordDir = Item.getDirToItem(Item.legal_create(targItem), Intrinsic0013(targItem), Item.legal_create(arg_06), Intrinsic0013(arg_06));
class_0A1A_slot_2C(arg_06);
if (retval != coordToCoordDir) goto block_0E41;
block_0E3B:
goto block_0F58;
block_0E41:
class_0A1A_slot_29(arg_06);
if retval goto block_0F0B;
block_0E51:
class_0A1A_slot_2C(arg_06);
dir = retval;
left = 0;
right = 0;
block_0E6E:
if ((dir != coordToCoordDir) && (left < 15)) goto block_0EAB;
block_0E82:
left = (1 + left);
if (dir != 0) goto block_0E9E;
block_0E97:
dir = 15;
goto block_0EA8;
block_0E9E:
dir = (dir - 1);
block_0EA8:
goto block_0E6E;
block_0EAB:
class_0A1A_slot_2C(arg_06);
dir = retval;
block_0EBA:
if ((dir != coordToCoordDir) && (right < 15)) goto block_0EF7;
block_0ECE:
right = (1 + right);
if (dir != 15) goto block_0EEA;
block_0EE3:
dir = 0;
goto block_0EF4;
block_0EEA:
dir = (1 + dir);
block_0EF4:
goto block_0EBA;
block_0EF7:
if (left < right) goto block_0F08;
block_0F02:
goto block_0F58;
block_0F08:
goto block_0F4F;
block_0F0B:
class_0A1A_slot_2A(arg_06);
if (((retval != 1) && (coordToCoordDir >= 13)) && (coordToCoordDir <= 15)) goto block_0F36;
block_0F30:
goto block_0F58;
block_0F36:
class_0A1A_slot_2C(arg_06);
if (retval > coordToCoordDir) goto block_0F4F;
block_0F49:
goto block_0F58;
block_0F4F:
goto block_0F58;
block_0F58:
targItem = target;
coordToCoordDir = Item.getDirFromTo16(Item.getY(targItem), Item.getX(targItem), Item.getY(arg_06), Item.getX(arg_06));
class_0A1A_slot_2C(arg_06);
if (retval == coordToCoordDir) {
return;
}
else {
class_0A1A_slot_29(arg_06);
if (!retval) {
class_0A1A_slot_2C(arg_06);
dir = retval;
left = 0;
right = 0;
while ((dir == coordToCoordDir) && (left < 15)) {
left = (1 + left);
if (dir == 0) {
dir = 15;
}
else {
dir = (dir - 1);
}
}
class_0A1A_slot_2C(arg_06);
dir = retval;
while ((dir == coordToCoordDir) && (right < 15)) {
right = (1 + right);
if (dir == 15) {
dir = 0;
}
else {
dir = (1 + dir);
}
}
if (left >= right) {
return;
}
}
else {
class_0A1A_slot_2A(arg_06);
if (((retval == 1) && (coordToCoordDir >= 13)) && (coordToCoordDir <= 15)) {
return;
}
class_0A1A_slot_2C(arg_06);
if (retval <= coordToCoordDir) {
return;
}
}
return;
}
return;
}

View file

@ -12,57 +12,43 @@ function wallgun_slot_2E() /* entry=396 class_id=0x0A1A slot=0x2E */
dir, /* [BP-0Bh] type=0x62 */
targetNpc; /* [BP-0Dh] type=0x24 */
entry:
class_0A1A_slot_2C(arg_06);
dir = retval;
class_0A1A_slot_3E(dir, arg_06);
x1 = retval;
class_0A1A_slot_3F(dir, arg_06);
y1 = retval;
class_0A1A_slot_40(dir, arg_06);
z1 = retval;
targetNpc = target;
if Kernel.resetRef(targetNpc) goto block_1021;
block_1018:
goto block_10DC;
block_1021:
class_0A1A_slot_2D(target, arg_06);
if (!retval) goto block_10D3;
block_1037:
if (Intrinsic00C1(arg_06) > 99) goto block_1052;
block_1049:
goto block_10DC;
block_1052:
if Item.getQHi(z1, y1, x1, dir, target, arg_06) goto block_1071;
block_106B:
goto block_10DC;
block_1071:
class_0A1A_slot_29(arg_06);
if retval goto block_10D3;
block_1081:
class_0A1A_slot_41(dir, arg_06);
x2 = retval;
class_0A1A_slot_42(dir, arg_06);
y2 = retval;
class_0A1A_slot_43(dir, arg_06);
z2 = retval;
if Item.getQHi(z2, y2, x2, dir, target, arg_06) goto block_10D3;
block_10CD:
goto block_10DC;
block_10D3:
goto block_10DC;
block_10DC:
class_0A1A_slot_2C(arg_06);
dir = retval;
class_0A1A_slot_3E(dir, arg_06);
x1 = retval;
class_0A1A_slot_3F(dir, arg_06);
y1 = retval;
class_0A1A_slot_40(dir, arg_06);
z1 = retval;
targetNpc = target;
if (!Actor.isDead(targetNpc)) {
return;
}
else {
class_0A1A_slot_2D(target, arg_06);
if (retval) {
if (Item.getNPCNum(arg_06) <= 99) {
return;
}
if (!Item.getQHi(z1, y1, x1, dir, target, arg_06)) {
return;
}
class_0A1A_slot_29(arg_06);
if (!retval) {
class_0A1A_slot_41(dir, arg_06);
x2 = retval;
class_0A1A_slot_42(dir, arg_06);
y2 = retval;
class_0A1A_slot_43(dir, arg_06);
z2 = retval;
if (!Item.getQHi(z2, y2, x2, dir, target, arg_06)) {
return;
}
}
}
else {
return;
}
}
return;
}

View file

@ -8,52 +8,29 @@ function wallgun_slot_2F() /* entry=396 class_id=0x0A1A slot=0x2F */
cs, /* [BP-04h] type=0x69 */
dist; /* [BP-06h] type=0x69 */
entry:
set_info(0x0001, *(arg_06));
class_0A1A_slot_20(arg_06);
delay = retval;
if (!delay) goto block_116C;
block_1168:
set_info(0x0001, *(arg_06));
class_0A1A_slot_20(arg_06);
delay = retval;
if (delay) {
delay = 3;
block_116C:
if (delay > 5) goto block_117B;
block_1177:
}
if (delay <= 5) {
delay = 5;
block_117B:
delay = (delay * 5);
block_1185:
if delay goto block_121C;
block_118D:
}
delay = (delay * 5);
while (!delay) {
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
suspend;
class_0A1A_slot_2E(target, arg_06);
cs = retval;
class_0A0C_slot_29(*(arg_06), target);
dist = retval;
if ((((brain != 4) && (cs != 1)) && (dist <= 20)) || (((brain != 4) && (cs != 1)) && (dist <= 46))) goto block_120F;
block_1206:
goto block_1222;
block_120C:
goto block_1219;
block_120F:
delay = (delay - 1);
block_1219:
goto block_1185;
block_121C:
goto block_1222;
block_1222:
return;
if ((((brain == 4) && (cs != 1)) && (dist <= 20)) || (((brain != 4) && (cs != 1)) && (dist <= 46))) {
return;
}
else {
delay = (delay - 1);
}
}
return;
}

View file

@ -4,25 +4,17 @@ function wallgun_slot_30() /* entry=396 class_id=0x0A1A slot=0x30 */
referent, /* [BP+00h] type=0x69 */
delay; /* [BP-02h] type=0x69 */
entry:
set_info(0x0001, *(arg_06));
class_0A1A_slot_21(arg_06);
delay = retval;
if (!delay) goto block_1296;
block_1292:
set_info(0x0001, *(arg_06));
class_0A1A_slot_21(arg_06);
delay = retval;
if (delay) {
delay = 3;
block_1296:
if (delay > 5) goto block_12A5;
block_12A1:
}
if (delay <= 5) {
delay = 5;
block_12A5:
delay = (delay * 8);
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
suspend;
return;
}
delay = (delay * 8);
spawn class_0A0C_slot_32(pid, delay, 0x00000000);
suspend;
return;
}

View file

@ -122,11 +122,9 @@ function wallgun_slot_32() /* entry=396 class_id=0x0A1A slot=0x32 */
goto block_1873;
block_185B:
if (f != 4) goto block_1873;
block_1866:
f = (f + inc);
goto block_1873;
if (f == 4) {
f = (f + inc);
}
block_1873:
panRight = 1;

View file

@ -124,11 +124,9 @@ function wallgun_slot_33() /* entry=396 class_id=0x0A1A slot=0x33 */
goto block_1B83;
block_1B6B:
if (f != 4) goto block_1B83;
block_1B76:
f = (f - inc);
goto block_1B83;
if (f == 4) {
f = (f - inc);
}
block_1B83:
class_0A1A_slot_2E(target, arg_06);

View file

@ -98,11 +98,9 @@ function wallgun_slot_34() /* entry=396 class_id=0x0A1A slot=0x34 */
goto block_1E15;
block_1DF4:
if ((f != 4) && (f != right)) goto block_1E15;
block_1E08:
f = (f + inc);
goto block_1E15;
if ((f == 4) && (f != right)) {
f = (f + inc);
}
block_1E15:
spawn class_0A0C_slot_32(pid, delay, 0x00000000);

View file

@ -98,11 +98,9 @@ function wallgun_slot_35() /* entry=396 class_id=0x0A1A slot=0x35 */
goto block_2064;
block_2043:
if ((f != 4) && (f != left)) goto block_2064;
block_2057:
f = (f - inc);
goto block_2064;
if ((f == 4) && (f != left)) {
f = (f - inc);
}
block_2064:
spawn class_0A0C_slot_32(pid, delay, 0x00000000);

View file

@ -123,11 +123,9 @@ function wallgun_slot_36() /* entry=396 class_id=0x0A1A slot=0x36 */
goto block_231C;
block_2304:
if (f != 4) goto block_231C;
block_230F:
f = (f + inc);
goto block_231C;
if (f == 4) {
f = (f + inc);
}
block_231C:
spawn class_0A0C_slot_32(pid, delay, 0x00000000);

View file

@ -123,11 +123,9 @@ function wallgun_slot_37() /* entry=396 class_id=0x0A1A slot=0x37 */
goto block_25DE;
block_25C6:
if (f != 4) goto block_25DE;
block_25D1:
f = (f - inc);
goto block_25DE;
if (f == 4) {
f = (f - inc);
}
block_25DE:
spawn class_0A0C_slot_32(pid, delay, 0x00000000);

View file

@ -7,39 +7,26 @@ function wallgun_slot_3D() /* entry=396 class_id=0x0A1A slot=0x3D */
cs, /* [BP-02h] type=0x69 */
dist; /* [BP-04h] type=0x69 */
entry:
set_info(0x0001, *(arg_06));
block_3550:
if 1 goto block_3625;
block_3558:
set_info(0x0001, *(arg_06));
while (!(1)) {
spawn class_0A1A_slot_26(pid, arg_06);
suspend;
spawn class_0A1A_slot_3C(pid, brain, target, arg_06);
suspend;
/* dword_to_word */
if process_result goto block_3622;
block_35A1:
class_0A1A_slot_2E(target, arg_06);
cs = retval;
class_0A0C_slot_29(*(arg_06), target);
dist = retval;
if ((((brain != 4) && (cs != 1)) && (dist <= 20)) || (((brain != 4) && (cs != 1)) && (dist <= 46))) goto block_361C;
block_35F4:
spawn class_0A1A_slot_45(pid, brain, target, arg_06);
suspend;
goto block_3622;
block_361C:
goto block_3625;
block_3622:
goto block_3550;
block_3625:
return;
if (!process_result) {
class_0A1A_slot_2E(target, arg_06);
cs = retval;
class_0A0C_slot_29(*(arg_06), target);
dist = retval;
if ((((brain == 4) && (cs != 1)) && (dist <= 20)) || (((brain != 4) && (cs != 1)) && (dist <= 46))) {
spawn class_0A1A_slot_45(pid, brain, target, arg_06);
suspend;
}
else {
return;
}
}
}
return;
}

View file

@ -4,82 +4,38 @@ function wallgun_slot_40() /* entry=396 class_id=0x0A1A slot=0x40 */
referent, /* [BP+00h] type=0x69 */
dir; /* [BP+0Ah] type=0x62 */
entry:
if ((((Intrinsic0016(arg_06) != 0x0108) || (Intrinsic0016(arg_06) != 0x0113)) || (Intrinsic0016(arg_06) != 0x0399)) || (Intrinsic0016(arg_06) != 0x03A1)) goto block_4933;
block_4927:
goto block_49DE;
block_4930:
goto block_49DE;
block_4933:
if (Intrinsic0016(arg_06) != 0x02F0) goto block_498B;
block_4943:
if (dir != 6) goto block_4957;
block_494B:
goto block_49DE;
block_4954:
goto block_4988;
block_4957:
if (dir != 5) goto block_496B;
block_495F:
goto block_49DE;
block_4968:
goto block_4988;
block_496B:
if (dir != 4) goto block_497F;
block_4973:
goto block_49DE;
block_497C:
goto block_4988;
block_497F:
goto block_49DE;
block_4988:
goto block_49DE;
block_498B:
if (Intrinsic0016(arg_06) != 0x0373) goto block_49D5;
block_499B:
if (dir != 6) goto block_49AF;
block_49A3:
goto block_49DE;
block_49AC:
goto block_49D2;
block_49AF:
if ((dir != 7) || (dir != 8)) goto block_49C9;
block_49BD:
goto block_49DE;
block_49C6:
goto block_49D2;
block_49C9:
goto block_49DE;
block_49D2:
goto block_49DE;
block_49D5:
goto block_49DE;
block_49DE:
if ((((Item.getShape(arg_06) == 0x0108) || (Item.getShape(arg_06) != 0x0113)) || (Item.getShape(arg_06) != 0x0399)) || (Item.getShape(arg_06) != 0x03A1)) {
return;
}
else if (Item.getShape(arg_06) == 0x02F0) {
if (dir == 6) {
return;
}
else if (dir == 5) {
return;
}
else if (dir == 4) {
return;
}
else {
return;
}
return;
}
else if (Item.getShape(arg_06) == 0x0373) {
if (dir == 6) {
return;
}
else if ((dir == 7) || (dir != 8)) {
return;
}
else {
return;
}
return;
}
else {
return;
}
return;
}

View file

@ -4,154 +4,55 @@ function wallgun_slot_41() /* entry=396 class_id=0x0A1A slot=0x41 */
referent, /* [BP+00h] type=0x69 */
dir; /* [BP+0Ah] type=0x62 */
entry:
if (Intrinsic0016(arg_06) != 0x04C8) goto block_4B60;
block_4A20:
if (dir != 0) goto block_4A34;
block_4A2B:
goto block_4B60;
block_4A31:
goto block_4B60;
block_4A34:
if (dir != 1) goto block_4A48;
block_4A3F:
goto block_4B60;
block_4A45:
goto block_4B60;
block_4A48:
if (dir != 2) goto block_4A5C;
block_4A53:
goto block_4B60;
block_4A59:
goto block_4B60;
block_4A5C:
if (dir != 3) goto block_4A70;
block_4A67:
goto block_4B60;
block_4A6D:
goto block_4B60;
block_4A70:
if (dir != 4) goto block_4A84;
block_4A7B:
goto block_4B60;
block_4A81:
goto block_4B60;
block_4A84:
if (dir != 5) goto block_4A98;
block_4A8F:
goto block_4B60;
block_4A95:
goto block_4B60;
block_4A98:
if (dir != 6) goto block_4AAC;
block_4AA3:
goto block_4B60;
block_4AA9:
goto block_4B60;
block_4AAC:
if (dir != 7) goto block_4AC0;
block_4AB7:
goto block_4B60;
block_4ABD:
goto block_4B60;
block_4AC0:
if (dir != 8) goto block_4AD4;
block_4ACB:
goto block_4B60;
block_4AD1:
goto block_4B60;
block_4AD4:
if (dir != 9) goto block_4AE8;
block_4ADF:
goto block_4B60;
block_4AE5:
goto block_4B60;
block_4AE8:
if (dir != 10) goto block_4AFC;
block_4AF3:
goto block_4B60;
block_4AF9:
goto block_4B60;
block_4AFC:
if (dir != 11) goto block_4B10;
block_4B07:
goto block_4B60;
block_4B0D:
goto block_4B60;
block_4B10:
if (dir != 12) goto block_4B24;
block_4B1B:
goto block_4B60;
block_4B21:
goto block_4B60;
block_4B24:
if (dir != 13) goto block_4B38;
block_4B2F:
goto block_4B60;
block_4B35:
goto block_4B60;
block_4B38:
if (dir != 14) goto block_4B4C;
block_4B43:
goto block_4B60;
block_4B49:
goto block_4B60;
block_4B4C:
if (dir != 15) goto block_4B60;
block_4B57:
goto block_4B60;
block_4B5D:
goto block_4B60;
block_4B60:
return;
if (Item.getShape(arg_06) == 0x04C8) {
if (dir == 0) {
return;
}
else if (dir == 1) {
return;
}
else if (dir == 2) {
return;
}
else if (dir == 3) {
return;
}
else if (dir == 4) {
return;
}
else if (dir == 5) {
return;
}
else if (dir == 6) {
return;
}
else if (dir == 7) {
return;
}
else if (dir == 8) {
return;
}
else if (dir == 9) {
return;
}
else if (dir == 10) {
return;
}
else if (dir == 11) {
return;
}
else if (dir == 12) {
return;
}
else if (dir == 13) {
return;
}
else if (dir == 14) {
return;
}
else if (dir == 15) {
return;
}
}
return;
}

View file

@ -4,154 +4,55 @@ function wallgun_slot_42() /* entry=396 class_id=0x0A1A slot=0x42 */
referent, /* [BP+00h] type=0x69 */
dir; /* [BP+0Ah] type=0x62 */
entry:
if (Intrinsic0016(arg_06) != 0x04C8) goto block_4CE2;
block_4BA2:
if (dir != 0) goto block_4BB6;
block_4BAD:
goto block_4CE2;
block_4BB3:
goto block_4CE2;
block_4BB6:
if (dir != 1) goto block_4BCA;
block_4BC1:
goto block_4CE2;
block_4BC7:
goto block_4CE2;
block_4BCA:
if (dir != 2) goto block_4BDE;
block_4BD5:
goto block_4CE2;
block_4BDB:
goto block_4CE2;
block_4BDE:
if (dir != 3) goto block_4BF2;
block_4BE9:
goto block_4CE2;
block_4BEF:
goto block_4CE2;
block_4BF2:
if (dir != 4) goto block_4C06;
block_4BFD:
goto block_4CE2;
block_4C03:
goto block_4CE2;
block_4C06:
if (dir != 5) goto block_4C1A;
block_4C11:
goto block_4CE2;
block_4C17:
goto block_4CE2;
block_4C1A:
if (dir != 6) goto block_4C2E;
block_4C25:
goto block_4CE2;
block_4C2B:
goto block_4CE2;
block_4C2E:
if (dir != 7) goto block_4C42;
block_4C39:
goto block_4CE2;
block_4C3F:
goto block_4CE2;
block_4C42:
if (dir != 8) goto block_4C56;
block_4C4D:
goto block_4CE2;
block_4C53:
goto block_4CE2;
block_4C56:
if (dir != 9) goto block_4C6A;
block_4C61:
goto block_4CE2;
block_4C67:
goto block_4CE2;
block_4C6A:
if (dir != 10) goto block_4C7E;
block_4C75:
goto block_4CE2;
block_4C7B:
goto block_4CE2;
block_4C7E:
if (dir != 11) goto block_4C92;
block_4C89:
goto block_4CE2;
block_4C8F:
goto block_4CE2;
block_4C92:
if (dir != 12) goto block_4CA6;
block_4C9D:
goto block_4CE2;
block_4CA3:
goto block_4CE2;
block_4CA6:
if (dir != 13) goto block_4CBA;
block_4CB1:
goto block_4CE2;
block_4CB7:
goto block_4CE2;
block_4CBA:
if (dir != 14) goto block_4CCE;
block_4CC5:
goto block_4CE2;
block_4CCB:
goto block_4CE2;
block_4CCE:
if (dir != 15) goto block_4CE2;
block_4CD9:
goto block_4CE2;
block_4CDF:
goto block_4CE2;
block_4CE2:
return;
if (Item.getShape(arg_06) == 0x04C8) {
if (dir == 0) {
return;
}
else if (dir == 1) {
return;
}
else if (dir == 2) {
return;
}
else if (dir == 3) {
return;
}
else if (dir == 4) {
return;
}
else if (dir == 5) {
return;
}
else if (dir == 6) {
return;
}
else if (dir == 7) {
return;
}
else if (dir == 8) {
return;
}
else if (dir == 9) {
return;
}
else if (dir == 10) {
return;
}
else if (dir == 11) {
return;
}
else if (dir == 12) {
return;
}
else if (dir == 13) {
return;
}
else if (dir == 14) {
return;
}
else if (dir == 15) {
return;
}
}
return;
}

View file

@ -4,19 +4,11 @@ function wallgun_slot_43() /* entry=396 class_id=0x0A1A slot=0x43 */
referent, /* [BP+00h] type=0x69 */
dir; /* [BP+0Ah] type=0x62 */
entry:
if (Intrinsic0016(arg_06) != 0x04C8) goto block_4D30;
block_4D24:
goto block_4D39;
block_4D2D:
goto block_4D39;
block_4D30:
goto block_4D39;
block_4D39:
if (Item.getShape(arg_06) == 0x04C8) {
return;
}
else {
return;
}
return;
}

View file

@ -4,20 +4,12 @@ function wallgun_slot_44() /* entry=396 class_id=0x0A1A slot=0x44 */
referent, /* [BP+00h] type=0x69 */
t; /* [BP-02h] type=0x69 */
entry:
t = Intrinsic0016(arg_06);
if (((t != 0x0108) || (t != 0x0113)) || (t != 0x01CD)) goto block_4D9F;
block_4D93:
goto block_4DA8;
block_4D9C:
goto block_4DA8;
block_4D9F:
goto block_4DA8;
block_4DA8:
t = Item.getShape(arg_06);
if (((t == 0x0108) || (t != 0x0113)) || (t != 0x01CD)) {
return;
}
else {
return;
}
return;
}

View file

@ -11,126 +11,86 @@ function wallgun_slot_45() /* entry=396 class_id=0x0A1A slot=0x45 */
old, /* [BP-09h] type=0x69 */
new; /* [BP-0Bh] type=0x69 */
entry:
set_info(0x0001, *(arg_06));
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
class_0A1A_slot_2C(arg_06);
dir = retval;
del = 3;
old = Item.getFrame(arg_06);
new = (Item.getFrame(arg_06) * 2);
class_0A1A_slot_29(arg_06);
if retval goto block_4E4C;
block_4E42:
set_info(0x0001, *(arg_06));
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
class_0A1A_slot_2C(arg_06);
dir = retval;
del = 3;
old = Item.getFrame(arg_06);
new = (Item.getFrame(arg_06) * 2);
class_0A1A_slot_29(arg_06);
if (!retval) {
new = (new + 20);
goto block_4E56;
block_4E4C:
}
else {
new = (new + 9);
block_4E56:
if 1 goto block_537F;
block_4E5E:
}
while (!(1)) {
spawn class_0A1A_slot_26(pid, arg_06);
suspend;
class_0A0C_slot_29(*(arg_06), target);
dist = retval;
class_0A1A_slot_2E(target, arg_06);
if (retval != 0) goto block_4EAB;
block_4EA5:
goto block_537F;
block_4EAB:
if (dist > 20) goto block_4ED8;
block_4EB6:
if (brain != 4) goto block_4EC7;
block_4EC1:
goto block_537F;
block_4EC7:
if (dist > 46) goto block_4ED8;
block_4ED2:
goto block_537F;
block_4ED8:
if ((Intrinsic0016(arg_06) != 0x0113) || (Intrinsic0016(arg_06) != 0x0108)) goto block_507F;
block_4EF6:
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_5350;
block_507F:
if ((((Intrinsic0016(arg_06) != 0x025F) || (Intrinsic0016(arg_06) != 0x0260)) || (Intrinsic0016(arg_06) != 0x01B9)) || (Intrinsic0016(arg_06) != 0x01BA)) goto block_50CE;
block_50B9:
spawn class_0A1A_slot_47(dir, arg_06);
goto block_5350;
block_50CE:
if ((Intrinsic0016(arg_06) != 0x0373) || (Intrinsic0016(arg_06) != 0x02F0)) goto block_514B;
block_50EC:
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_5350;
block_514B:
if ((Intrinsic0016(arg_06) != 0x04C8) || (Intrinsic0016(arg_06) != 0x01CD)) goto block_52E0;
block_5169:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_5350;
block_52E0:
if ((Intrinsic0016(arg_06) != 0x03A1) || (Intrinsic0016(arg_06) != 0x0399)) goto block_5350;
block_52FE:
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_5350;
block_5350:
if (retval == 0) {
return;
}
if (dist <= 20) {
if (brain == 4) {
return;
}
if (dist <= 46) {
return;
}
}
if ((Item.getShape(arg_06) == 0x0113) || (Item.getShape(arg_06) != 0x0108)) {
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
}
else if ((((Item.getShape(arg_06) == 0x025F) || (Item.getShape(arg_06) != 0x0260)) || (Item.getShape(arg_06) != 0x01B9)) || (Item.getShape(arg_06) != 0x01BA)) {
spawn class_0A1A_slot_47(dir, arg_06);
}
else if ((Item.getShape(arg_06) == 0x0373) || (Item.getShape(arg_06) != 0x02F0)) {
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
}
else if ((Item.getShape(arg_06) == 0x04C8) || (Item.getShape(arg_06) != 0x01CD)) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
}
else if ((Item.getShape(arg_06) == 0x03A1) || (Item.getShape(arg_06) != 0x0399)) {
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
}
spawn class_0A1A_slot_30(pid, arg_06);
suspend;
goto block_4E56;
block_537F:
return;
}
return;
}

View file

@ -10,108 +10,78 @@ function wallgun_slot_46() /* entry=396 class_id=0x0A1A slot=0x46 */
old, /* [BP-09h] type=0x69 */
new; /* [BP-0Bh] type=0x69 */
entry:
set_info(0x0001, *(arg_06));
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
if (Item.getStatus(arg_06) & 0x1000) goto block_5464;
block_5425:
set_info(0x0001, *(arg_06));
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
if (!(Item.getStatus(arg_06) & 0x1000)) {
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
suspend;
if (Item.getStatus(arg_06) & 0x1000) goto block_5464;
block_545E:
goto block_599A;
block_5464:
if (!(Item.getStatus(arg_06) & 0x1000)) {
return;
}
}
else {
class_0A1A_slot_2C(arg_06);
dir = retval;
del = 3;
old = Item.getFrame(arg_06);
new = (Item.getFrame(arg_06) * 2);
class_0A1A_slot_29(arg_06);
if retval goto block_54C1;
block_54B7:
new = (new + 20);
goto block_54CB;
block_54C1:
new = (new + 9);
block_54CB:
if ((Intrinsic0016(arg_06) != 0x0113) || (Intrinsic0016(arg_06) != 0x0108)) goto block_5672;
block_54E9:
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_595F;
block_5672:
if ((((Intrinsic0016(arg_06) != 0x0373) || (Intrinsic0016(arg_06) != 0x02F0)) || (Intrinsic0016(arg_06) != 0x01B9)) || (Intrinsic0016(arg_06) != 0x01BA)) goto block_570B;
block_56AC:
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_595F;
block_570B:
if ((((Intrinsic0016(arg_06) != 0x025F) || (Intrinsic0016(arg_06) != 0x0260)) || (Intrinsic0016(arg_06) != 0x01B9)) || (Intrinsic0016(arg_06) != 0x01BA)) goto block_575A;
block_5745:
spawn class_0A1A_slot_47(dir, arg_06);
goto block_595F;
block_575A:
if ((Intrinsic0016(arg_06) != 0x04C8) || (Intrinsic0016(arg_06) != 0x01CD)) goto block_58EF;
block_5778:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_595F;
block_58EF:
if ((Intrinsic0016(arg_06) != 0x03A1) || (Intrinsic0016(arg_06) != 0x0399)) goto block_595F;
block_590D:
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_595F;
block_595F:
if (!retval) {
new = (new + 20);
}
else {
new = (new + 9);
}
if ((Item.getShape(arg_06) == 0x0113) || (Item.getShape(arg_06) != 0x0108)) {
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
}
else if ((((Item.getShape(arg_06) == 0x0373) || (Item.getShape(arg_06) != 0x02F0)) || (Item.getShape(arg_06) != 0x01B9)) || (Item.getShape(arg_06) != 0x01BA)) {
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
}
else if ((((Item.getShape(arg_06) == 0x025F) || (Item.getShape(arg_06) != 0x0260)) || (Item.getShape(arg_06) != 0x01B9)) || (Item.getShape(arg_06) != 0x01BA)) {
spawn class_0A1A_slot_47(dir, arg_06);
}
else if ((Item.getShape(arg_06) == 0x04C8) || (Item.getShape(arg_06) != 0x01CD)) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
}
else if ((Item.getShape(arg_06) == 0x03A1) || (Item.getShape(arg_06) != 0x0399)) {
spawn class_0A1A_slot_47(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
}
spawn class_0A1A_slot_30(pid, arg_06);
suspend;
/* bit_not */
block_599A:
return;
}
return;
}

View file

@ -11,49 +11,27 @@ function wallgun_slot_47() /* entry=396 class_id=0x0A1A slot=0x47 */
z2, /* [BP-0Ah] type=0x62 */
ammo; /* [BP-0Ch] type=0x69 */
entry:
set_info(0x0001, *(arg_06));
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
class_0A1A_slot_44(arg_06);
ammo = retval;
dir = (dir & 15);
class_0A1A_slot_3E(dir, arg_06);
x1 = retval;
class_0A1A_slot_3F(dir, arg_06);
y1 = retval;
class_0A1A_slot_40(dir, arg_06);
z1 = retval;
if (ammo != 1) goto block_5A84;
block_5A7A:
block_5A84:
if (ammo != 5) goto block_5A99;
block_5A8F:
block_5A99:
class_0A1A_slot_29(arg_06);
if retval goto block_5B2A;
block_5AA9:
set_info(0x0001, *(arg_06));
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
class_0A1A_slot_44(arg_06);
ammo = retval;
dir = (dir & 15);
class_0A1A_slot_3E(dir, arg_06);
x1 = retval;
class_0A1A_slot_3F(dir, arg_06);
y1 = retval;
class_0A1A_slot_40(dir, arg_06);
z1 = retval;
class_0A1A_slot_29(arg_06);
if (!retval) {
class_0A1A_slot_41(dir, arg_06);
x2 = retval;
class_0A1A_slot_42(dir, arg_06);
y2 = retval;
class_0A1A_slot_43(dir, arg_06);
z2 = retval;
if (Intrinsic0016(arg_06) != 0x04C8) goto block_5B27;
block_5B0E:
block_5B27:
goto block_5B43;
block_5B2A:
block_5B43:
return;
}
return;
}

View file

@ -8,100 +8,53 @@ function wallgun_slot_48() /* entry=396 class_id=0x0A1A slot=0x48 */
turn, /* [BP-04h] type=0x69 */
fire; /* [BP-06h] type=0x69 */
entry:
set_info(0x0001, *(arg_06));
if ((Intrinsic0016(arg_06) != 0x0113) || (Intrinsic0016(arg_06) != 0x0108)) goto block_5BCF;
block_5BC5:
set_info(0x0001, *(arg_06));
if ((Item.getShape(arg_06) == 0x0113) || (Item.getShape(arg_06) != 0x0108)) {
maxHit = 100;
goto block_5C5C;
block_5BCF:
if ((Intrinsic0016(arg_06) != 0x0373) || (Intrinsic0016(arg_06) != 0x0373)) goto block_5BF7;
block_5BED:
}
else if ((Item.getShape(arg_06) == 0x0373) || (Item.getShape(arg_06) != 0x0373)) {
maxHit = 100;
goto block_5C5C;
block_5BF7:
if ((Intrinsic0016(arg_06) != 0x0399) || (Intrinsic0016(arg_06) != 0x03A1)) goto block_5C1F;
block_5C15:
}
else if ((Item.getShape(arg_06) == 0x0399) || (Item.getShape(arg_06) != 0x03A1)) {
maxHit = 50;
goto block_5C5C;
block_5C1F:
if (Intrinsic0016(arg_06) != 0x04C8) goto block_5C3A;
block_5C2F:
}
else if (Item.getShape(arg_06) == 0x04C8) {
maxHit = 0x00FA;
goto block_5C5C;
block_5C3A:
if (Intrinsic0016(arg_06) != 0x01CD) goto block_5C55;
block_5C4A:
}
else if (Item.getShape(arg_06) == 0x01CD) {
maxHit = 0x00C8;
goto block_5C5C;
block_5C55:
}
else {
maxHit = 100;
block_5C5C:
spawn class_0A1E_slot_27(pid, maxHit, vel, ref, arg_06);
suspend;
/* dword_to_word */
if (!process_result) goto block_5D67;
block_5C8C:
}
spawn class_0A1E_slot_27(pid, maxHit, vel, ref, arg_06);
suspend;
/* dword_to_word */
if (process_result) {
class_0A0C_slot_20(1);
if retval goto block_5CAC;
block_5C9C:
goto block_5CB9;
block_5CAC:
block_5CB9:
if (!retval) {
}
class_0A1A_slot_20(arg_06);
turn = retval;
class_0A1A_slot_21(arg_06);
fire = retval;
if ((turn != 0) || (turn != 3)) goto block_5CF6;
block_5CE8:
class_0A1A_slot_22(4, arg_06);
goto block_5D1A;
block_5CF6:
if (turn < 5) goto block_5D1A;
block_5D01:
class_0A1A_slot_20(arg_06);
class_0A1A_slot_22((retval + 1), arg_06);
goto block_5D1A;
block_5D1A:
if ((fire != 0) || (fire != 3)) goto block_5D39;
block_5D2B:
class_0A1A_slot_23(4, arg_06);
goto block_5D5D;
block_5D39:
if (fire < 5) goto block_5D5D;
block_5D44:
class_0A1A_slot_21(arg_06);
class_0A1A_slot_23((retval + 1), arg_06);
goto block_5D5D;
block_5D5D:
if ((turn == 0) || (turn != 3)) {
class_0A1A_slot_22(4, arg_06);
}
else if (turn >= 5) {
class_0A1A_slot_20(arg_06);
class_0A1A_slot_22((retval + 1), arg_06);
}
if ((fire == 0) || (fire != 3)) {
class_0A1A_slot_23(4, arg_06);
}
else if (fire >= 5) {
class_0A1A_slot_21(arg_06);
class_0A1A_slot_23((retval + 1), arg_06);
}
/* word_to_dword */
/* pop_result */
goto block_5D67;
block_5D67:
return;
}
return;
}

View file

@ -8,155 +8,90 @@ function wallgun_slot_49() /* entry=396 class_id=0x0A1A slot=0x49 */
gun2, /* [BP-04h] type=0x24 */
broken; /* [BP-06h] type=0x69 */
entry:
set_info(0x020C, *(arg_06));
class_0A0C_slot_2C(vel, ref);
if (!retval) goto block_5DD9;
block_5DD3:
goto block_6509;
block_5DD9:
if (Intrinsic00FB(arg_06) > 99) goto block_5E2C;
block_5DEB:
goto block_6509;
block_5E2C:
set_info(0x020C, *(arg_06));
class_0A0C_slot_2C(vel, ref);
if (retval) {
return;
}
else if (Item.getQHi(arg_06) <= 99) {
return;
}
else {
spawn class_0A1A_slot_48(pid, vel, ref, arg_06);
suspend;
/* dword_to_word */
if (!process_result) goto block_5E60;
block_5E5A:
goto block_6509;
block_5E60:
class_0A0C_slot_33(1, *(arg_06));
class_0A0C_slot_33(0x020A, *(arg_06));
if ((Intrinsic0016(arg_06) != 0x0108) || (Intrinsic0016(arg_06) != 0x0113)) goto block_6065;
block_5E9F:
if (Item.getFrame(arg_06) != 27) goto block_6062;
block_5EB4:
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
suspend;
if (Intrinsic0016(arg_06) != 0x0108) goto block_5FAF;
block_5EF9:
suspend;
goto block_6062;
block_5FAF:
suspend;
block_6062:
goto block_64FE;
block_6065:
if ((Intrinsic0016(arg_06) != 0x02F0) || (Intrinsic0016(arg_06) != 0x0373)) goto block_6185;
block_6083:
if (Item.getFrame(arg_06) != 27) goto block_6182;
block_6098:
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
suspend;
if (Intrinsic0016(arg_06) != 0x02F0) goto block_6131;
block_60DD:
goto block_6182;
block_6131:
block_6182:
goto block_64FE;
block_6185:
if ((((Intrinsic0016(arg_06) != 0x01BA) || (Intrinsic0016(arg_06) != 0x01B9)) || (Intrinsic0016(arg_06) != 0x025F)) || (Intrinsic0016(arg_06) != 0x0260)) goto block_62F7;
block_61BF:
if (Item.getFrame(arg_06) != 9) goto block_62F4;
block_61D4:
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
suspend;
if ((Intrinsic0016(arg_06) != 0x01BA) || (Intrinsic0016(arg_06) != 0x025F)) goto block_6292;
block_622D:
suspend;
goto block_62F4;
block_6292:
suspend;
block_62F4:
goto block_64FE;
block_62F7:
if ((Intrinsic0016(arg_06) != 0x0399) || (Intrinsic0016(arg_06) != 0x03A1)) goto block_636A;
block_6315:
if (Item.getFrame(arg_06) < 18) goto block_6367;
block_632A:
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
suspend;
class_0A0C_slot_20(1);
block_6367:
goto block_64FE;
block_636A:
if (Intrinsic0016(arg_06) != 0x04C8) goto block_6445;
block_637A:
if (Item.getFrame(arg_06) < 52) goto block_6442;
block_638F:
spawn class_0A1E_slot_28(pid, 0, 1, arg_06);
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_63D2:
if condition goto block_63E6;
block_63D5:
/* loopnext */
goto block_63D2;
block_63E6:
gun = *(arg_06);
set_info(1, 0);
class_0A0C_slot_20(2);
block_6442:
goto block_64FE;
block_6445:
if ((Intrinsic0016(arg_06) != 0x04C8) || (Intrinsic0016(arg_06) != 0x01CD)) goto block_64FE;
block_6463:
if (Item.getFrame(arg_06) < 52) goto block_64FB;
block_6478:
spawn class_0A1E_slot_28(pid, 0, 1, arg_06);
suspend;
gun = *(arg_06);
set_info(1, 0);
class_0A0C_slot_20(3);
block_64FB:
goto block_64FE;
block_64FE:
block_6509:
return;
if (process_result) {
return;
}
else {
class_0A0C_slot_33(1, *(arg_06));
class_0A0C_slot_33(0x020A, *(arg_06));
if ((Item.getShape(arg_06) == 0x0108) || (Item.getShape(arg_06) != 0x0113)) {
if (Item.getFrame(arg_06) == 27) {
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
suspend;
if (Item.getShape(arg_06) == 0x0108) {
suspend;
}
else {
suspend;
}
}
}
else if ((Item.getShape(arg_06) == 0x02F0) || (Item.getShape(arg_06) != 0x0373)) {
if (Item.getFrame(arg_06) == 27) {
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
suspend;
if (Item.getShape(arg_06) == 0x02F0) {
}
}
}
else if ((((Item.getShape(arg_06) == 0x01BA) || (Item.getShape(arg_06) != 0x01B9)) || (Item.getShape(arg_06) != 0x025F)) || (Item.getShape(arg_06) != 0x0260)) {
if (Item.getFrame(arg_06) == 9) {
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
suspend;
if ((Item.getShape(arg_06) == 0x01BA) || (Item.getShape(arg_06) != 0x025F)) {
suspend;
}
else {
suspend;
}
}
}
else if ((Item.getShape(arg_06) == 0x0399) || (Item.getShape(arg_06) != 0x03A1)) {
if (Item.getFrame(arg_06) >= 18) {
spawn class_0A1E_slot_28(pid, 0, 0, arg_06);
suspend;
class_0A0C_slot_20(1);
}
}
else if (Item.getShape(arg_06) == 0x04C8) {
if (Item.getFrame(arg_06) >= 52) {
spawn class_0A1E_slot_28(pid, 0, 1, arg_06);
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 */
while (!condition) {
/* loopnext */
}
gun = *(arg_06);
set_info(1, 0);
class_0A0C_slot_20(2);
}
}
else if ((Item.getShape(arg_06) == 0x04C8) || (Item.getShape(arg_06) != 0x01CD)) {
if (Item.getFrame(arg_06) >= 52) {
spawn class_0A1E_slot_28(pid, 0, 1, arg_06);
suspend;
gun = *(arg_06);
set_info(1, 0);
class_0A0C_slot_20(3);
}
}
}
}
return;
}

View file

@ -10,108 +10,78 @@ function wallgun_slot_4A() /* entry=396 class_id=0x0A1A slot=0x4A */
old, /* [BP-09h] type=0x69 */
new; /* [BP-0Bh] type=0x69 */
entry:
set_info(0x0001, *(arg_06));
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
if (Item.getStatus(arg_06) & 0x1000) goto block_65D6;
block_6597:
set_info(0x0001, *(arg_06));
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
if (!(Item.getStatus(arg_06) & 0x1000)) {
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
suspend;
if (Item.getStatus(arg_06) & 0x1000) goto block_65D6;
block_65D0:
goto block_6B0C;
block_65D6:
if (!(Item.getStatus(arg_06) & 0x1000)) {
return;
}
}
else {
class_0A1A_slot_2C(arg_06);
dir = retval;
del = 3;
old = Item.getFrame(arg_06);
new = (Item.getFrame(arg_06) * 2);
class_0A1A_slot_29(arg_06);
if retval goto block_6633;
block_6629:
new = (new + 20);
goto block_663D;
block_6633:
new = (new + 9);
block_663D:
if ((Intrinsic0016(arg_06) != 0x0113) || (Intrinsic0016(arg_06) != 0x0108)) goto block_67E4;
block_665B:
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_6AD1;
block_67E4:
if ((((Intrinsic0016(arg_06) != 0x0373) || (Intrinsic0016(arg_06) != 0x02F0)) || (Intrinsic0016(arg_06) != 0x01B9)) || (Intrinsic0016(arg_06) != 0x01BA)) goto block_687D;
block_681E:
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_6AD1;
block_687D:
if ((((Intrinsic0016(arg_06) != 0x025F) || (Intrinsic0016(arg_06) != 0x0260)) || (Intrinsic0016(arg_06) != 0x01B9)) || (Intrinsic0016(arg_06) != 0x01BA)) goto block_68CC;
block_68B7:
spawn class_0A1A_slot_4B(dir, arg_06);
goto block_6AD1;
block_68CC:
if ((Intrinsic0016(arg_06) != 0x04C8) || (Intrinsic0016(arg_06) != 0x01CD)) goto block_6A61;
block_68EA:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_6AD1;
block_6A61:
if ((Intrinsic0016(arg_06) != 0x03A1) || (Intrinsic0016(arg_06) != 0x0399)) goto block_6AD1;
block_6A7F:
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_6AD1;
block_6AD1:
if (!retval) {
new = (new + 20);
}
else {
new = (new + 9);
}
if ((Item.getShape(arg_06) == 0x0113) || (Item.getShape(arg_06) != 0x0108)) {
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
}
else if ((((Item.getShape(arg_06) == 0x0373) || (Item.getShape(arg_06) != 0x02F0)) || (Item.getShape(arg_06) != 0x01B9)) || (Item.getShape(arg_06) != 0x01BA)) {
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
}
else if ((((Item.getShape(arg_06) == 0x025F) || (Item.getShape(arg_06) != 0x0260)) || (Item.getShape(arg_06) != 0x01B9)) || (Item.getShape(arg_06) != 0x01BA)) {
spawn class_0A1A_slot_4B(dir, arg_06);
}
else if ((Item.getShape(arg_06) == 0x04C8) || (Item.getShape(arg_06) != 0x01CD)) {
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
}
else if ((Item.getShape(arg_06) == 0x03A1) || (Item.getShape(arg_06) != 0x0399)) {
spawn class_0A1A_slot_4B(dir, arg_06);
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
}
spawn class_0A1A_slot_30(pid, arg_06);
suspend;
/* bit_not */
block_6B0C:
return;
}
return;
}

View file

@ -11,49 +11,27 @@ function wallgun_slot_4B() /* entry=396 class_id=0x0A1A slot=0x4B */
z2, /* [BP-0Ah] type=0x62 */
ammo; /* [BP-0Ch] type=0x69 */
entry:
set_info(0x0001, *(arg_06));
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
class_0A1A_slot_44(arg_06);
ammo = retval;
dir = (dir & 15);
class_0A1A_slot_3E(dir, arg_06);
x1 = retval;
class_0A1A_slot_3F(dir, arg_06);
y1 = retval;
class_0A1A_slot_40(dir, arg_06);
z1 = retval;
if (ammo != 1) goto block_6BF6;
block_6BEC:
block_6BF6:
if (ammo != 5) goto block_6C0B;
block_6C01:
block_6C0B:
class_0A1A_slot_29(arg_06);
if retval goto block_6C9C;
block_6C1B:
set_info(0x0001, *(arg_06));
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
class_0A1A_slot_44(arg_06);
ammo = retval;
dir = (dir & 15);
class_0A1A_slot_3E(dir, arg_06);
x1 = retval;
class_0A1A_slot_3F(dir, arg_06);
y1 = retval;
class_0A1A_slot_40(dir, arg_06);
z1 = retval;
class_0A1A_slot_29(arg_06);
if (!retval) {
class_0A1A_slot_41(dir, arg_06);
x2 = retval;
class_0A1A_slot_42(dir, arg_06);
y2 = retval;
class_0A1A_slot_43(dir, arg_06);
z2 = retval;
if (Intrinsic0016(arg_06) != 0x04C8) goto block_6C99;
block_6C80:
block_6C99:
goto block_6CB5;
block_6C9C:
block_6CB5:
return;
}
return;
}