Usecode pseudocode

This commit is contained in:
MaddoScientisto 2026-03-26 00:37:17 +01:00
commit c12bb39437
1362 changed files with 71072 additions and 38056 deletions

View file

@ -6,102 +6,58 @@ function lazer_slot_20() /* entry=385 class_id=0x0A0F slot=0x20 */
monster, /* [BP-04h] type=0x24 */
dir; /* [BP-06h] type=0x69 */
entry:
set_info(0x0205, *(arg_06));
set_info(0x0205, *(arg_06));
if ((Item.getStatus(arg_06) & 0x1000) || (Item.getFrame(arg_06) != 0)) goto block_0121;
block_011B:
goto block_0301;
block_0121:
set_info(0x0205, *(arg_06));
set_info(0x0205, *(arg_06));
if ((Item.getStatus(arg_06) & 0x1000) || (Item.getFrame(arg_06) == 0)) {
return;
}
else {
class_0A1E_slot_23(0x1000, arg_06);
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x48 */
/* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */
block_016B:
if condition goto block_019D;
block_016E:
if (Item.getQHi(arg_06) != Item.getQHi(item)) goto block_0199;
block_018A:
class_0A1E_slot_23(0x1000, item);
block_0199:
/* loopnext */
goto block_016B;
block_019D:
while (!condition) {
if (Item.getQLo(arg_06) == Item.getQLo(item)) {
class_0A1E_slot_23(0x1000, item);
}
/* loopnext */
}
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x3A */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */
block_01BC:
if condition goto block_0281;
block_01BF:
if (monster <= 0x0100) goto block_027D;
block_01CE:
if Item.overlaps(monster, arg_06) goto block_027D;
block_01DF:
if (monster != Item.pop()) goto block_0258;
block_01F0:
dir = Intrinsic00FA(monster);
if (dir < 8) goto block_0219;
block_020C:
dir = (dir + 8);
goto block_0223;
block_0219:
dir = (dir - 8);
block_0223:
class_0A11_slot_2B(monster);
if (!retval) goto block_0255;
block_0237:
block_0255:
goto block_027D;
block_0258:
spawn class_0A11_slot_2C(pid, *(arg_06), monster);
suspend;
block_027D:
/* loopnext */
goto block_01BC;
block_0281:
while (!condition) {
if (monster > 0x0100) {
if (!Item.overlaps(monster, arg_06)) {
if (monster == getTargetNPCNumMaybe()) {
dir = Actor.getDir(monster);
if (dir >= 8) {
dir = (dir + 8);
}
else {
dir = (dir - 8);
}
class_0A11_slot_2B(monster);
}
else {
spawn class_0A11_slot_2C(pid, *(arg_06), monster);
suspend;
}
}
}
/* loopnext */
}
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x48 */
/* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */
block_02BE:
if condition goto block_02F0;
block_02C1:
if (Item.getQHi(arg_06) != Item.getQHi(item)) goto block_02EC;
block_02DD:
class_0A1E_slot_24(0x1000, item);
block_02EC:
/* loopnext */
goto block_02BE;
block_02F0:
while (!condition) {
if (Item.getQLo(arg_06) == Item.getQLo(item)) {
class_0A1E_slot_24(0x1000, item);
}
/* loopnext */
}
class_0A1E_slot_24(0x1000, arg_06);
block_0301:
return;
}
return;
}