Crusader_Decomp/USECODE/EUSECODE_extracted/pseudocode/BLASTPAC/slot_01_use.txt

280 lines
5.7 KiB
Text

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