Crusader_Decomp/USECODE/EUSECODE_extracted/pseudocode/VARDESK/slot_0F_enterFastArea.txt

76 lines
1.4 KiB
Text

function vardesk_enterFastArea() /* entry=238 class_id=0x0442 slot=0x0F */
{
var
referent, /* [BP+00h] type=0x69 */
counter, /* [BP-02h] type=0x69 */
ran; /* [BP-04h] type=0x69 */
entry:
set_info(0x021B, *(arg_06));
process_exclude();
if (Item.getFrame(arg_06) != 6) goto block_03FC;
block_03F6:
goto block_05A1;
block_03FC:
suspend;
FREE.slot_20(pid, 100);
spawn FREE.waitNTimerTicks((retval + 60), 0x00000000);
suspend;
if (!Item.getFrame(arg_06)) goto block_049C;
block_044D:
counter = 0;
block_0454:
if (counter <= 4) goto block_049C;
block_045C:
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_0454;
block_049C:
FREE.slot_20(100);
if (retval > 50) goto block_0507;
block_04B2:
counter = 0;
block_04B9:
if (counter <= 4) goto block_0504;
block_04C1:
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_04B9;
block_0504:
goto block_059E;
block_0507:
FREE.slot_20(3);
ran = (retval + 3);
counter = 0;
block_0520:
if (counter <= ran) goto block_059E;
block_052B:
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_0520;
block_059E:
goto block_03FC;
block_05A1:
return;
}