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

127 lines
2.7 KiB
Text

function elydesk_use() /* entry=246 class_id=0x044F slot=0x01 */
{
var
referent, /* [BP+00h] type=0x69 */
counter, /* [BP-02h] type=0x69 */
item; /* [BP-04h] type=0x24 */
entry:
set_info(0x0207, *(arg_06));
process_exclude();
class_0A0C_slot_33(0x021B, *(arg_06));
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
block_0125:
if (Item.getFrame(arg_06) < 5) goto block_017A;
block_013A:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
goto block_0125;
block_017A:
spawn class_0A0C_slot_32(pid, 5, 0x00000000);
suspend;
if (global[0x001F] != 2) goto block_01DA;
block_01AA:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0370;
block_01DA:
if (global[0x001F] != 3) goto block_0214;
block_01E4:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0370;
block_0214:
if (global[0x001F] != 4) goto block_024E;
block_021E:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0370;
block_024E:
if (global[0x001F] != 5) goto block_0288;
block_0258:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0370;
block_0288:
if (global[0x001F] != 6) goto block_02C2;
block_0292:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0370;
block_02C2:
if (global[0x001F] != 7) goto block_02FC;
block_02CC:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0370;
block_02FC:
if (global[0x001F] != 8) goto block_0336;
block_0306:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0370;
block_0336:
if (global[0x001F] != 9) goto block_0370;
block_0340:
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
goto block_0370;
block_0370:
/* 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_038E:
if condition goto block_03B1;
block_0391:
/* loopnext */
goto block_038E;
block_03B1:
counter = 0;
block_03BA:
if (counter <= 5) goto block_0405;
block_03C2:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_03BA;
block_0405:
spawn class_044F_enterFastArea(arg_06);
return;
}