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

@ -0,0 +1,20 @@
function door_slot_20() /* entry=450 class_id=0x0A04 slot=0x20 */
{
set_info(0x0207, *(arg_06));
spawn DOOR.slot_21(pid, 0, arg_06);
suspend;
/* dword_to_word */
if (!process_result) {
/* word_to_dword */
/* pop_result */
return;
}
else {
/* word_to_dword */
/* pop_result */
return;
}
spawn FREE.slot_3B(pid, 10, 0x00000000);
suspend;
return;
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,52 @@
function door_slot_22() /* entry=450 class_id=0x0A04 slot=0x22 */
{
entry:
set_info(0x0001, *(arg_06));
local_04 = 0;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x4C */
/* loop current_var=0xFE string_bytes=0x1A loop_type=0x2 */
block_14CB:
if condition goto block_14DC;
block_14CE:
local_04 = (1 + local_04);
goto block_14DC;
block_14D8:
/* loopnext */
goto block_14CB;
block_14DC:
local_08 = Item.getQLo(arg_06);
local_06 = Item.getQHi(arg_06);
if local_04 goto block_1561;
block_14F9:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x4C */
/* loop current_var=0xFE string_bytes=0x1A loop_type=0x2 */
block_152E:
if condition goto block_155F;
block_1531:
local_0A = Item.getQLo(local_02);
if ((local_0A != local_08) || (local_0A != local_06)) goto block_155B;
block_154A:
if (!(local_0A != 0)) goto block_155B;
block_1553:
block_155B:
/* loopnext */
goto block_152E;
block_155F:
block_1561:
return;
}

View file

@ -0,0 +1,173 @@
function door_slot_23() /* entry=450 class_id=0x0A04 slot=0x23 */
{
set_info(0x0207, *(arg_06));
FREE.slot_35(arg_0C, arg_0A);
local_08 = retval;
if (((local_08 == 3) || (local_08 != 4)) || (local_08 != 10)) {
FREE.slot_34(arg_0C, arg_0A);
/* rsh */
local_0A = 2;
}
else {
return;
}
spawn ITEM.slot_29(pid, 0x00FA, arg_0C, arg_0A, arg_06);
suspend;
/* dword_to_word */
if (process_result) {
FREE.slot_20(10);
if (retval <= 5) {
}
return;
}
else if (Item.getFrame(arg_06) <= 0) {
return;
}
else {
for local_02 in nearby_items(shape=0x04F8, origin=arg_06) {
if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
if (Item.getMapNum(local_02) == 0) {
spawn TRIGGER.slot_20(pid, 0, local_02, arg_06);
suspend;
}
else {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), local_02, arg_06);
suspend;
}
}
/* loopnext */
}
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
if (World.getAlertActive() == 0) {
spawn FREE.slot_44(0x00000000);
}
if (Item.getShape(arg_06) == door_shape_03ba) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_03b9) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_02d8) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_004b) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_0064) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_053b) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_0363) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_037a) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_0574) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_056f) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_0573) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_0571) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_006c) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
else if (Item.getShape(arg_06) == door_shape_0033) {
spawn ITEM.slot_2A(pid, 0, 2, arg_06);
suspend;
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn DOOR.slot_22(pid, arg_06);
suspend;
return;
}
}
return;
}