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

70 lines
1.8 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 */
set_info(0x0207, *(arg_06));
process_exclude();
FREE.slot_33(0x021B, *(arg_06));
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
while (Item.getFrame(arg_06) >= 5) {
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
}
spawn FREE.waitNTimerTicks(pid, 5, 0x00000000);
suspend;
if (global[0x001F] == 2) {
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
}
else if (global[0x001F] == 3) {
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
}
else if (global[0x001F] == 4) {
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
}
else if (global[0x001F] == 5) {
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
}
else if (global[0x001F] == 6) {
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
}
else if (global[0x001F] == 7) {
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
}
else if (global[0x001F] == 8) {
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
}
else if (global[0x001F] == 9) {
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
}
for item in nearby_items(shape=0x043D, origin=arg_06) {
/* loopnext */
}
counter = 0;
while (counter > 5) {
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
}
spawn ELYDESK.enterFastArea(arg_06);
return;
}