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,81 @@
function shocker_slot_20() /* entry=464 class_id=0x0A12 slot=0x20 */
{
entry:
set_info(0x020A, *(arg_06));
set_info(0x0205, *(arg_06));
if (Item.getQHi(arg_06) != 0) goto block_0124;
block_010B:
FREE.slot_20(29);
local_02 = (retval + 1);
block_0124:
local_04 = Item.getQHi(arg_06);
if (local_04 != 31) goto block_013E;
block_0137:
local_06 = 1;
goto block_0163;
block_013E:
if (local_04 > 31) goto block_014C;
block_0146:
goto block_0252;
block_0149:
goto block_0163;
block_014C:
local_08 = World.gameDifficulty();
local_06 = ((6 - World.gameDifficulty()) * (10 + local_04));
block_0163:
spawn FREE.slot_3B(pid, local_06, 0x00000000);
suspend;
block_017A:
suspend;
local_0A = Kernel.getNumProcesses(0x020C, *(arg_06));
if (local_0A != 0) goto block_019E;
block_0193:
spawn SHOCKER.slot_21(arg_06);
block_019E:
FREE.slot_20(1);
if retval goto block_01B8;
block_01AB:
goto block_01C2;
block_01B8:
block_01C2:
local_0C = 0;
block_01C6:
if (local_0C <= 5) goto block_0204;
block_01CE:
FREE.slot_20(pid, 5, 5);
spawn FREE.slot_3B(retval, 0x00000000);
suspend;
local_0C = (1 + local_0C);
goto block_01C6;
block_0204:
if (local_06 > 1) goto block_024F;
block_020C:
FREE.slot_3C(0x020C, *(arg_06));
spawn FREE.slot_3B(pid, local_06, 0x00000000);
suspend;
block_024F:
goto block_017A;
block_0252:
return;
}

View file

@ -0,0 +1,43 @@
function shocker_slot_21() /* entry=464 class_id=0x0A12 slot=0x21 */
{
entry:
set_info(0x0205, *(arg_06));
set_info(0x020C, *(arg_06));
block_0266:
suspend;
spawn FREE.slot_3B(pid, 5, 0x00000000);
suspend;
/* loop_selector local_02 in nearby_items(family=6, origin=arg_06) */
block_0295:
if condition goto block_0310;
block_0298:
if (Item.isNpc(local_02) != 1) goto block_030C;
block_02A7:
if (!Actor.isDead(local_02)) goto block_030C;
block_02B4:
if ((Item.overlaps(local_02, arg_06) != 1) && (Item.getFrame(arg_06) < 6)) goto block_030C;
block_02D2:
FREE.slot_20(pid, 8);
spawn NPC.slot_2F(retval, *(arg_06), local_02);
suspend;
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
goto block_0315;
block_030C:
/* loopnext */
goto block_0295;
block_0310:
goto block_0266;
block_0315:
return;
}