Pseudocode decompialtion improvements and docs

This commit is contained in:
MaddoScientisto 2026-03-26 22:10:48 +01:00
commit 589bfc31ef
1898 changed files with 60634 additions and 6597 deletions

View file

@ -4,9 +4,9 @@ function elevator_gotHit() /* entry=83 class_id=0x0190 slot=0x06 */
process_exclude();
if (arg_0A >= 0x0100) {
local_02 = arg_0A;
class_0A0F_slot_2A(local_02);
NPC.slot_2A(local_02);
if (!retval) {
spawn class_0A0C_slot_2A(pid, 0, 2, local_02);
spawn ITEM.slot_2A(pid, 0, 2, local_02);
suspend;
while (Actor.isDead(local_02)) {
}
@ -23,10 +23,10 @@ function elevator_gotHit() /* entry=83 class_id=0x0190 slot=0x06 */
}
else {
/* pop_global global_id=0x9 size=0x1 */
class_0A1D_slot_3C(0x0220, 0);
FREE.slot_3C(0x0220, 0);
/* global_address global_id=0x1E */
while (!Actor.isBusy()) {
spawn class_0A1D_slot_3B(pid, 2, 0x00000000);
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
}
/* global_address global_id=0x1E */
@ -70,55 +70,55 @@ function elevator_gotHit() /* entry=83 class_id=0x0190 slot=0x06 */
}
else if (local_06 >= 0x00C8) {
/* global_address global_id=0x1E */
spawn class_0190_slot_20(Actor.getMap(pid, local_06), local_08, arg_06);
spawn ELEVATOR.slot_20(Actor.getMap(pid, local_06), local_08, arg_06);
suspend;
}
else if (local_06 == 0x00C8) {
spawn class_0190_slot_20(pid, 18, 24, local_08, arg_06);
spawn ELEVATOR.slot_20(pid, 18, 24, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00C9) {
spawn class_0190_slot_20(pid, 0x00C9, 5, local_08, arg_06);
spawn ELEVATOR.slot_20(pid, 0x00C9, 5, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00CA) {
spawn class_0190_slot_20(pid, 0x00CA, 10, local_08, arg_06);
spawn ELEVATOR.slot_20(pid, 0x00CA, 10, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00CB) {
spawn class_0190_slot_20(pid, 0x00CB, 10, local_08, arg_06);
spawn ELEVATOR.slot_20(pid, 0x00CB, 10, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00CC) {
spawn class_0190_slot_20(pid, 0x00CC, 2, local_08, arg_06);
spawn ELEVATOR.slot_20(pid, 0x00CC, 2, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00CD) {
spawn class_0190_slot_20(pid, 0x00CD, 8, local_08, arg_06);
spawn ELEVATOR.slot_20(pid, 0x00CD, 8, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00CE) {
spawn class_0190_slot_20(pid, 0x00CE, 6, local_08, arg_06);
spawn ELEVATOR.slot_20(pid, 0x00CE, 6, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00CF) {
spawn class_0190_slot_20(pid, 0x00CF, 16, local_08, arg_06);
spawn ELEVATOR.slot_20(pid, 0x00CF, 16, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00D0) {
spawn class_0190_slot_20(pid, 0x00D0, 18, local_08, arg_06);
spawn ELEVATOR.slot_20(pid, 0x00D0, 18, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00D1) {
spawn class_0190_slot_20(pid, 99, 14, local_08, arg_06);
spawn ELEVATOR.slot_20(pid, 99, 14, local_08, arg_06);
suspend;
}
/* global_address global_id=0x1E */
while (!Actor.isBusy()) {
spawn class_0A1D_slot_3B(pid, 5, 0x00000000);
spawn FREE.slot_3B(pid, 5, 0x00000000);
suspend;
}
class_0A1D_slot_3C(0x0220, 0);
FREE.slot_3C(0x0220, 0);
}
}
return;

View file

@ -4,14 +4,12 @@ function elevator_release() /* entry=83 class_id=0x0190 slot=0x09 */
process_exclude();
local_02 = Item.getSurfaceWeight(arg_06);
if (local_02 == 0) {
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */
/* loop_selector local_04 in selector_0x42(arg0=0x0289, arg1=0x01C7, arg2=(10 * 32), origin=global[0x001E]) */
while (!condition) {
local_06 = local_04;
spawn class_0A04_slot_21(pid, 2, local_06);
spawn DOOR.slot_21(pid, 2, local_06);
suspend;
/* loopnext */
}

View file

@ -1,9 +1,7 @@
function elevator_slot_20() /* entry=83 class_id=0x0190 slot=0x20 */
{
set_info(1, 0);
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
/* loop_selector local_06 in selector_0x42(arg0=0x0289, arg1=0x01C7, arg2=(10 * 32), origin=arg_06) */
while (!condition) {
local_0A = local_06;
/* loopnext */
@ -36,98 +34,93 @@ function elevator_slot_20() /* entry=83 class_id=0x0190 slot=0x20 */
/* global_address global_id=0x1E */
suspend;
}
spawn class_0A1D_slot_3B(pid, 2, 0x00000000);
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
spawn class_0A04_slot_21(pid, 2, local_0A);
spawn DOOR.slot_21(pid, 2, local_0A);
suspend;
spawn class_0A1D_slot_3B(pid, 100, 0x00000000);
spawn FREE.slot_3B(pid, 100, 0x00000000);
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
/* loop_selector local_06 in selector_0x42(arg0=0x01C4, arg1=0x0186, arg2=(20 * 32), origin=arg_06) */
while (!condition) {
local_02 = local_06;
/* loopnext */
}
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
while (!condition) {
for local_06 in selector_0x42(arg0=0x01C5, arg1=0x0184, arg2=(20 * 32), origin=arg_06) {
local_04 = local_06;
/* loopnext */
}
if (!(local_02 && local_04)) {
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
while (!Intrinsic0035(0x00F4)) {
spawn class_0A1D_slot_3B(pid, 2, 0x00000000);
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
}
/* global_address global_id=0x1E */
if (!arg_0A) {
local_08 = 5;
while (local_08 > 7) {
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
local_08 = (1 + local_08);
}
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
}
else {
local_08 = 1;
while (local_08 > 4) {
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
local_08 = (1 + local_08);
}
}
}
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
suspend;
spawn class_0A1D_slot_45(pid, 0x00000000);
spawn FREE.slot_45(pid, 0x00000000);
suspend;
/* global_address global_id=0x1E */
if (!Actor.getMap(arg_0C)) {
local_0D = 1;
class_0A1D_slot_22();
FREE.slot_22();
if (arg_0C == 5) {
suspend;
spawn class_0A1D_slot_3B(pid, 120, 0x00000000);
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
return;
}
if (arg_0C == 6) {
spawn class_0A1D_slot_3B(pid, 60, 0x00000000);
spawn FREE.slot_3B(pid, 60, 0x00000000);
suspend;
spawn class_0A0A_slot_20(pid, 19, local_0F);
spawn FLICTEST.slot_20(pid, 19, local_0F);
suspend;
}
}
if ((arg_0C == 2) && (arg_0E != 0x0082)) {
suspend;
spawn class_0A1D_slot_3B(pid, 120, 0x00000000);
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
}
if ((arg_0C == 16) && (arg_0E != 100)) {
suspend;
spawn class_0A1D_slot_3B(pid, 120, 0x00000000);
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
spawn class_0A1D_slot_2A(0x00000000);
spawn FREE.slot_2A(0x00000000);
}
if ((arg_0C == 14) && (arg_0E != 0x00C7)) {
suspend;
spawn class_0A1D_slot_3B(pid, 120, 0x00000000);
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
}
suspend;
@ -139,20 +132,15 @@ function elevator_slot_20() /* entry=83 class_id=0x0190 slot=0x20 */
/* global_address global_id=0x1E */
}
if (!local_0D) {
class_0A1D_slot_23();
FREE.slot_23();
/* global_address global_id=0x1E */
}
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
while (!condition) {
for local_06 in nearby_items(shape=0x0190, origin=global[0x001E]) {
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
class_0A1D_slot_3C(12, local_06);
FREE.slot_3C(12, local_06);
/* loopnext */
}
if (arg_0E == 18) {
@ -160,19 +148,14 @@ function elevator_slot_20() /* entry=83 class_id=0x0190 slot=0x20 */
suspend;
}
suspend;
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
/* loop_selector local_06 in selector_0x42(arg0=0x01C4, arg1=0x0186, arg2=(10 * 32), origin=global[0x001E]) */
while (!condition) {
local_02 = local_06;
/* loopnext */
}
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
while (!condition) {
for local_06 in selector_0x42(arg0=0x01C5, arg1=0x0184, arg2=(10 * 32), origin=global[0x001E]) {
local_04 = local_06;
/* loopnext */
}
@ -181,14 +164,14 @@ function elevator_slot_20() /* entry=83 class_id=0x0190 slot=0x20 */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
while (!Intrinsic0035(0x00F2)) {
spawn class_0A1D_slot_3B(pid, 2, 0x00000000);
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
}
/* global_address global_id=0x1E */
if (!arg_0A) {
local_08 = 1;
while (local_08 > 4) {
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
local_08 = (1 + local_08);
}
@ -196,22 +179,20 @@ function elevator_slot_20() /* entry=83 class_id=0x0190 slot=0x20 */
else {
local_08 = 0;
while (local_08 > 3) {
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
local_08 = (1 + local_08);
}
}
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
}
spawn class_0A1D_slot_3B(pid, 120, 0x00000000);
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
/* loop_selector local_06 in selector_0x42(arg0=0x018D, arg1=0x01C6, arg2=(10 * 32), origin=global[0x001E]) */
while (!condition) {
local_0A = local_06;
spawn class_0A04_slot_21(pid, 1, local_0A);
spawn DOOR.slot_21(pid, 1, local_0A);
suspend;
/* loopnext */
}