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,19 @@
function vir_use() /* entry=292 class_id=0x04ED slot=0x01 */
{
set_info(0x0207, *(arg_06));
process_exclude();
set_info(0x00F0, 0);
/* global_address global_id=0x1E */
if (Actor.getMap() == 25) {
return;
}
else if (!(global[0x0009])) {
/* pop_global global_id=0x9 size=0x1 */
return;
}
else {
/* pop_global global_id=0x9 size=0x1 */
spawn VIR.slot_20(1, arg_06);
}
return;
}

View file

@ -0,0 +1,190 @@
function vir_slot_20() /* entry=292 class_id=0x04ED slot=0x20 */
{
entry:
set_info(0x0223, 0);
/* global_address global_id=0x1E */
if (Actor.getMana() < 0x00C8) goto block_017E;
block_0156:
spawn FREE.slot_21(pid, 0x01A7, 0x00000000);
suspend;
goto block_04A8;
block_017B:
goto block_018A;
block_017E:
/* global_address global_id=0x1E */
block_018A:
local_02 = Kernel.getNumProcesses(0x0223, global[0x001E]);
if (local_02 > 1) goto block_01A5;
block_01A2:
goto block_04A8;
block_01A5:
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x44 */
/* loop current_var=0xFC string_bytes=0xA loop_type=0x2 */
block_01C3:
if condition goto block_01EB;
block_01C6:
if (Item.getFrame(local_04) != 2) goto block_01E7;
block_01D5:
block_01E7:
/* loopnext */
goto block_01C3;
block_01EB:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x44 */
/* loop current_var=0xFC string_bytes=0xA loop_type=0x2 */
block_020A:
if condition goto block_0232;
block_020D:
if (Item.getFrame(local_04) != 2) goto block_022E;
block_021C:
block_022E:
/* loopnext */
goto block_020A;
block_0232:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x41 */
/* loop current_var=0xFC string_bytes=0x4 loop_type=0x2 */
block_0248:
if condition goto block_02D6;
block_024B:
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
/* loopnext */
goto block_0248;
block_02D6:
/* global_address global_id=0x1E */
if (!Intrinsic0035(0x01FD)) goto block_02F5;
block_02E9:
/* global_address global_id=0x1E */
block_02F5:
spawn FREE.slot_3B(pid, 60, 0x00000000);
suspend;
/* global_address global_id=0x1E */
if (Actor.getMana() < 0x00C9) goto block_0353;
block_031D:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFC string_bytes=0x6 loop_type=0x4 */
block_0333:
if condition goto block_0344;
block_0336:
/* loopnext */
goto block_0333;
block_0344:
/* pop_global global_id=0x9 size=0x1 */
goto block_036E;
block_0353:
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
block_036E:
if (!global[0x0009]) goto block_04A5;
block_0376:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x41 */
/* loop current_var=0xFC string_bytes=0x4 loop_type=0x2 */
block_0389:
if condition goto block_03CC;
block_038C:
if (Item.getShape(local_04) == 40) {
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
}
block_03C8:
/* loopnext */
goto block_0389;
block_03CC:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x44 */
/* loop current_var=0xFC string_bytes=0xA loop_type=0x2 */
block_03EB:
if condition goto block_0428;
block_03EE:
ITEM.slot_26(4, local_04);
if (retval != 1) goto block_0403;
block_0400:
goto block_04A8;
block_0403:
if (Item.getFrame(local_04) != 0) goto block_0424;
block_0412:
block_0424:
/* loopnext */
goto block_03EB;
block_0428:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x44 */
/* loop current_var=0xFC string_bytes=0xA loop_type=0x2 */
block_0447:
if condition goto block_0484;
block_044A:
ITEM.slot_26(4, local_04);
if (retval != 1) goto block_045F;
block_045C:
goto block_04A8;
block_045F:
if (Item.getFrame(local_04) != 0) goto block_0480;
block_046E:
block_0480:
/* loopnext */
goto block_0447;
block_0484:
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
goto block_04A8;
block_04A5:
goto block_01A5;
block_04A8:
return;
}