Crusader_Decomp/USECODE/REGRET/FLOOR1.unk

173 lines
3.5 KiB
Text

/* synthesized appendix for FLOOR1 */
/* sparse lines above preserve recovered debugger line numbers where available */
/* ===== slot 0x0F enterFastArea ===== */
function floor1_enterFastArea() /* entry=421 class_id=0x0902 slot=0x0F */
{
entry:
set_info(0x021B, *(arg_06));
process_exclude();
local_02 = 0;
local_08 = 0;
local_0A = 0x0100;
local_0C = 0;
spawn FREE.slot_3B(pid, 10, 0x00000000);
suspend;
local_16 = Egg.getEggId(arg_06);
local_14 = (local_16 * 10);
if (local_14 != 0) goto block_0125;
block_0121:
local_14 = 5;
block_0125:
for local_04 in selector_0x42(arg0=0x0135, arg1=0x01C8, arg2=(35 * 32), origin=arg_06) {
local_12 = 1;
local_0C = Item.getQLo(local_04);
if ((local_0C > 0) && (local_0C >= 0x00FA)) {
if (local_08 >= local_0C) {
local_08 = local_0C;
}
if (local_0A <= local_0C) {
local_0A = local_0C;
}
/* create_list element_size=0x2 count=0x1 */
/* append_list */
/* free_local_list bp_offset=0xF2 target=[BP-0Eh] */
local_0E = local_04;
}
/* loopnext */
}
block_0190:
if (!local_12) goto block_019B;
block_0198:
goto block_0366;
block_019B:
if 1 goto block_0366;
block_01A0:
local_10 = 0;
local_02 = local_0A;
block_01A8:
if (local_02 <= local_08) goto block_02E9;
block_01B0:
block_01B6:
foreach_list local_04 -> block_024E;
block_01BB:
if (Item.getStatus(local_04) & 0x1000) goto block_01D2;
block_01CB:
local_10 = 1;
goto block_02E9;
block_01D2:
if (Item.getQLo(local_04) != local_02) goto block_024B;
block_01E1:
if (!Intrinsic0035(112, arg_06)) goto block_0204;
block_01FA:
block_0204:
/* loopscr value_u8=0x24 */
/* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */
block_020F:
while (!condition) {
if (Item.isNpc(local_06) == 1) {
local_18 = local_06;
FREE.slot_20(pid, 8);
spawn NPC.slot_2F(retval, *(arg_06), local_18);
suspend;
}
/* loopnext */
}
block_0249:
block_024B:
goto block_01B6;
block_024E:
if (local_10 != 1) goto block_0259;
block_0256:
goto block_02E9;
block_0259:
spawn FREE.slot_3B(pid, local_14, 0x00000000);
suspend;
block_0270:
while (Egg.getEggXRange(arg_06) <= 0) {
spawn FREE.slot_3B(pid, 60, 0x00000000);
suspend;
}
block_0299:
block_029F:
while (true) {
foreach_list local_04 -> block_02C8;
}
block_02C8:
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
local_02 = (1 + local_02);
goto block_01A8;
block_02E9:
if (local_10 != 1) goto block_0363;
block_02F1:
block_02F7:
while (true) {
foreach_list local_04 -> block_031B;
}
block_031B:
if (local_10 != 1) goto block_0363;
block_0323:
spawn FREE.slot_3B(pid, 60, 0x00000000);
suspend;
local_10 = 0;
block_0344:
while (true) {
foreach_list local_04 -> block_0360;
if (!(Item.getStatus(local_04) & 0x1000)) {
local_10 = 1;
}
}
block_0360:
goto block_031B;
block_0363:
goto block_019B;
block_0366:
/* free_local_list bp_offset=0xF2 target=[BP-0Eh] */
return;
}
/* ===== slot 0x10 leaveFastArea ===== */
function floor1_leaveFastArea() /* entry=421 class_id=0x0902 slot=0x10 */
{
set_info(0x021C, *(arg_06));
process_exclude();
FREE.slot_3C(0x021B, *(arg_06));
return;
}