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,236 @@
function fade_equip() /* entry=296 class_id=0x04FC slot=0x0A */
{
set_info(0x0211, *(arg_06));
process_exclude();
local_1B = Item.getQLo(arg_06);
if (arg_0A == 1) {
spawn FREE.slot_44(0x00000000);
spawn FREE.slot_3B(pid, 0x03E8, 0x00000000);
suspend;
spawn FADE.slot_20(0x00000000);
return;
}
else if (arg_0A == 3) {
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
/* pop_global global_id=0x13 size=0x1 */
spawn FREE.slot_3B(1, pid, 60, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
suspend;
return;
}
else if (arg_0A == 5) {
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
/* global_address global_id=0x1E */
spawn FREE.slot_3B(pid, 5, 0x00000000);
suspend;
spawn FREE.slot_44(0x00000000);
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
/* pop_global global_id=0x14 size=0x1 */
spawn FREE.slot_3B(1, pid, 2, 0x00000000);
suspend;
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
spawn FREE.slot_3B(pid, 5, 0x00000000);
suspend;
return;
}
else if (arg_0A == 8) {
/* pop_global global_id=0x18 size=0x1 */
spawn FREE.slot_21(1, pid, 0x017A, 0x00000000);
suspend;
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
suspend;
return;
}
else if (arg_0A == 0x00D2) {
/* global_address global_id=0x1E */
if (!Intrinsic0061()) {
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
}
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
/* loop_selector local_02 in nearby_items(shape=0x053A, origin=arg_06) */
while (!condition) {
if (Item.getQLo(local_02) == 1) {
FREE.slot_32(local_02, global[0x001E]);
while ((retval > 3) && (local_0F == 10)) {
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
spawn NPC.slot_22(Item.getDirFromTo16(Item.getX(pid, 1, Item.getY((Item.getY(local_02) - 32), (Item.getX(local_02) - 16)))));
suspend;
local_0F = (1 + local_0F);
}
}
/* loopnext */
}
/* global_address global_id=0x1E */
suspend;
/* loop_selector local_02 in selector_0x42(arg0=0x04D9, arg1=0x03AC, arg2=(32 * 32), origin=arg_06) */
while (!condition) {
if (Item.getShape(local_02) == 0x04D9) {
local_27 = local_02;
}
if (Item.getShape(local_02) == 0x03AC) {
local_29 = local_02;
}
/* loopnext */
}
if (!local_27) {
suspend;
suspend;
suspend;
suspend;
suspend;
}
if (!local_29) {
suspend;
suspend;
suspend;
suspend;
suspend;
}
spawn FREE.slot_3B(pid, 60, 0x00000000);
suspend;
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* loop_selector local_02 in nearby_items(shape=0x01DB, origin=arg_06) */
while (!condition) {
/* loopnext */
}
return;
}
else if (arg_0A == 0x00D3) {
spawn FREE.slot_3B(pid, 0x00C8, 0x00000000);
suspend;
/* loop_selector local_02 in selector_0x42(arg0=0x04D9, arg1=0x03AC, arg2=(32 * 32), origin=arg_06) */
while (!condition) {
if (Item.getShape(local_02) == 0x04D9) {
local_27 = local_02;
}
if (Item.getShape(local_02) == 0x03AC) {
local_29 = local_02;
}
/* loopnext */
}
if (!local_27) {
suspend;
suspend;
suspend;
suspend;
suspend;
suspend;
spawn NPC.slot_24(pid, local_27);
suspend;
}
if (!local_29) {
suspend;
suspend;
suspend;
suspend;
suspend;
suspend;
suspend;
suspend;
suspend;
spawn NPC.slot_24(pid, local_29);
suspend;
}
for local_02 in nearby_items(shape=0x03AD, origin=arg_06) {
if (Item.getQLo(local_02) == 78) {
local_08 = local_02;
spawn DOOR.slot_21(pid, 0, local_08);
suspend;
}
/* loopnext */
}
for local_02 in nearby_items(shape=0x01EE, origin=arg_06) {
if (Item.getQLo(local_02) == 0x0084) {
local_08 = local_02;
spawn DOOR.slot_21(pid, 0, local_08);
suspend;
}
/* loopnext */
}
spawn FREE.slot_3B(pid, 60, 0x00000000);
suspend;
/* pop_global global_id=0x15 size=0x1 */
spawn TRIGGER.slot_20(1, pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_44(0x00000000);
return;
}
else if (arg_0A == 0x00DE) {
/* global_address global_id=0x1E */
if (!Intrinsic0061()) {
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
}
for local_02 in nearby_items(shape=0x053A, origin=arg_06) {
if (Item.getQLo(local_02) == 1) {
FREE.slot_32(local_02, global[0x001E]);
while ((retval > 3) && (local_0F == 10)) {
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
spawn NPC.slot_22(Item.getDirFromTo16(Item.getX(pid, 1, Item.getY((Item.getY(local_02) - 32), (Item.getX(local_02) - 16)))));
suspend;
local_0F = (1 + local_0F);
}
}
/* loopnext */
}
/* global_address global_id=0x1E */
suspend;
/* loop_selector local_08 in nearby_items(shape=0x05A4, origin=arg_06) */
while (!condition) {
if (Item.getQLo(local_08) == 2) {
spawn DOOR.slot_21(pid, 2, local_08);
suspend;
}
/* loopnext */
}
spawn FREE.slot_3B(pid, 60, 0x00000000);
suspend;
spawn FREE.slot_21(pid, 0x01E5, 0x00000000);
suspend;
spawn FREE.slot_21(pid, 0x01E6, 0x00000000);
suspend;
/* loop_selector local_19 in nearby_items(shape=0x05B1, origin=arg_06) */
while (!condition) {
/* loopnext */
}
/* global_address global_id=0x1E */
suspend;
return;
}
return;
}

View file

@ -0,0 +1,25 @@
function fade_slot_20() /* entry=296 class_id=0x04FC slot=0x20 */
{
set_info(0x0223, 0);
while (!(1)) {
while (!(global[0x000E])) {
spawn FREE.slot_3B(pid, 100, 0x00000000);
suspend;
}
local_02 = 1;
while (local_02 > 3) {
while (!AudioProcess.isSFXPlaying(0x0118)) {
spawn FREE.slot_3B(pid, 5, 0x00000000);
suspend;
}
local_02 = (1 + local_02);
}
while (!(global[0x000E])) {
spawn FREE.slot_3B(pid, 100, 0x00000000);
suspend;
}
spawn FREE.slot_3B(pid, 0x0320, 0x00000000);
suspend;
}
return;
}