Crusader_Decomp/USECODE/EUSECODE_extracted/pseudocode/MONITEW/slot_01_use.txt
2026-03-25 23:32:36 +01:00

96 lines
2.5 KiB
Text

function monitew_use() /* entry=68 class_id=0x0165 slot=0x01 */
{
var
referent, /* [BP+00h] type=0x69 */
textFile, /* [BP-02h] type=0x73 */
valueBox, /* [BP-04h] type=0x24 */
passcode, /* [BP-06h] type=0x69 */
link, /* [BP-08h] type=0x69 */
boxCounter; /* [BP-0Ah] type=0x69 */
entry:
set_info(0x0207, *(arg_06));
process_exclude();
if (Item.getFrame(arg_06) > 1) goto block_0106;
block_0100:
goto block_02E2;
block_0106:
link = Intrinsic00D9(arg_06);
if (Item.getMapNum(arg_06) != 0) goto block_01EB;
block_0126:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */
block_0144:
if condition goto block_01BF;
block_0147:
if ((Intrinsic00D9(valueBox) != link) || (link != 0)) goto block_01BB;
block_0162:
class_0A19_slot_20(valueBox);
passcode = retval;
class_0A17_slot_23(passcode, Item.callEvent0A(valueBox), Intrinsic00D9(valueBox), arg_06);
/* free_local_string bp_offset=0xFE target=[BP-02h] */
textFile = retval;
spawn class_0A17_slot_20(pid, textFile, arg_06);
/* free_stack_string value_u8=0x0 target=[SP+00h] */
suspend;
block_01BB:
/* loopnext */
goto block_0144;
block_01BF:
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
suspend;
goto block_02E2;
block_01EB:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */
block_0209:
if condition goto block_0241;
block_020C:
if (Intrinsic00D9(valueBox) != link) goto block_023D;
block_0224:
class_0A19_slot_20(valueBox);
passcode = retval;
boxCounter = (1 + boxCounter);
block_023D:
/* loopnext */
goto block_0209;
block_0241:
class_0A17_slot_23(passcode, Item.callEvent0A(arg_06), Intrinsic00D9(arg_06), arg_06);
/* free_local_string bp_offset=0xFE target=[BP-02h] */
textFile = retval;
if (boxCounter > 1) goto block_02BD;
block_0276:
/* free_local_string bp_offset=0xFE target=[BP-02h] */
textFile = "There is more than one Value box in range with the same link";
block_02BD:
spawn class_0A17_slot_20(pid, textFile, arg_06);
/* free_stack_string value_u8=0x0 target=[SP+00h] */
suspend;
block_02E2:
/* free_local_string bp_offset=0xFE target=[BP-02h] */
return;
}