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

@ -37,18 +37,14 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
if Actor.NPCGetField0x59Flag1_0AB(arg_06) goto block_014E;
block_0125:
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
suspend;
goto block_0116;
block_014E:
n = ref;
NpcContents = 0;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFB string_bytes=0x6 loop_type=0x2 */
/* loop_selector deathBox in nearby_items(shape=0x04E7, origin=n) */
block_0178:
if condition goto block_034F;
@ -60,7 +56,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
if (Item.getMapArray(deathBox) != 0) goto block_01D0;
block_01A2:
spawn class_0A18_slot_20(pid, 0, deathBox, deathBox);
spawn TRIGGER.slot_20(pid, 0, deathBox, deathBox);
suspend;
goto block_034F;
@ -88,7 +84,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
}
block_031C:
spawn class_0A18_slot_20(pid, (0x0080 + 0), deathBox, deathBox);
spawn TRIGGER.slot_20(pid, (0x0080 + 0), deathBox, deathBox);
suspend;
goto block_034F;
@ -110,7 +106,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
goto block_0F51;
block_03BE:
if (Item.getShape(n) == 0x02FD) {
if (Item.getShape(n) == npcdeath_shape_02fd) {
newType = 0x0339;
if (dir == 4) {
newDir = 2;
@ -136,7 +132,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
spillBlood = 1;
/* pop_global global_id=0xB size=0x2 */
}
else if (Item.getShape(n) == 0x0384) {
else if (Item.getShape(n) == npcdeath_shape_0384) {
newType = 0x04BF;
if (dir == 4) {
newDir = 2;
@ -162,7 +158,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
spillBlood = 1;
/* pop_global global_id=0xD size=0x2 */
}
else if (Item.getShape(n) == 0x0371) {
else if (Item.getShape(n) == npcdeath_shape_0371) {
newType = 0x04BE;
if (dir == 4) {
newDir = 2;
@ -188,19 +184,19 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
spillBlood = 1;
/* pop_global global_id=0xB size=0x2 */
}
else if (Item.getShape(n) == 0x04D1) {
else if (Item.getShape(n) == npcdeath_shape_04d1) {
newType = 0x04D2;
newDir = dir;
spillBlood = 1;
/* pop_global global_id=0x11 size=0x2 */
}
else if (Item.getShape(n) == 0x0528) {
else if (Item.getShape(n) == npcdeath_shape_0528) {
newType = 0x054D;
newDir = dir;
spillBlood = 1;
/* pop_global global_id=0x11 size=0x2 */
}
else if (Item.getShape(n) == 0x0338) {
else if (Item.getShape(n) == MECH_1) {
newType = 0x04C5;
newDir = dir;
if (Actor.getLastAnimSet(n) == 18) {
@ -209,7 +205,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
spillOil = 1;
/* pop_global global_id=0x17 size=0x2 */
}
else if (Item.getShape(n) == 0x01B4) {
else if (Item.getShape(n) == npcdeath_shape_01b4) {
newType = 0x055D;
if (dir == 4) {
newDir = 2;
@ -235,7 +231,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
spillBlood = 1;
/* pop_global global_id=0x13 size=0x2 */
}
else if (Item.getShape(n) == 0x02DF) {
else if (Item.getShape(n) == npcdeath_shape_02df) {
newType = 0x04BA;
newDir = dir;
if (Actor.getLastAnimSet(n) == 20) {
@ -270,7 +266,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
}
else if (Item.getShape(n) == 0x0385) {
/* pop_global global_id=0x1B size=0x2 */
spawn class_0A1E_slot_2A((1 + global[0x001B]), pid, n);
spawn ITEM.slot_2A((1 + global[0x001B]), pid, n);
suspend;
return;
}
@ -278,13 +274,13 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
/* loopscr value_u8=0x24 */
/* loop current_var=0xED string_bytes=0x1 loop_type=0x4 */
while (!condition) {
spawn class_0A1E_slot_28(pid, 1, 0, goods);
spawn ITEM.slot_28(pid, 1, 0, goods);
suspend;
/* loopnext */
}
spawn class_0A0C_slot_32(pid, 30, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 30, 0x00000000);
suspend;
spawn class_0A1E_slot_2A(pid, n);
spawn ITEM.slot_2A(pid, n);
suspend;
return;
}
@ -308,10 +304,10 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
newDir = dir;
}
/* pop_global global_id=0x19 size=0x2 */
spawn class_0A1E_slot_2A(pid, n);
spawn ITEM.slot_2A(pid, n);
suspend;
if (!flipIt) {
class_0A1E_slot_23(32, deadGuy);
ITEM.slot_23(32, deadGuy);
}
return;
}
@ -351,11 +347,11 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
/* loopnext */
}
if (!flipIt) {
class_0A1E_slot_23(32, deadGuy);
ITEM.slot_23(32, deadGuy);
}
return;
}
else if (Item.getShape(n) == 0x0319) {
else if (Item.getShape(n) == npcdeath_shape_0319) {
newType = 0x04E4;
if (dir == 4) {
newDir = 2;
@ -378,7 +374,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
spillBlood = 1;
/* pop_global global_id=0xB size=0x2 */
}
else if (Item.getShape(n) == 0x02F6) {
else if (Item.getShape(n) == NPC_TECH) {
newType = 0x04B9;
if (dir == 4) {
newDir = 2;
@ -435,7 +431,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
else if (Item.getShape(n) == 0x045D) {
return;
}
else if (Item.getShape(n) == 0x03AC) {
else if (Item.getShape(n) == npcdeath_shape_03ac) {
newType = 0x04C0;
newDir = dir;
}
@ -448,13 +444,13 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
/* global_address global_id=0x3C */
spawn class_0A0C_slot_32(pid, 0x012C, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 0x012C, 0x00000000);
suspend;
/* global_address global_id=0x3C */
}
block_0F51:
class_0A1C_slot_21(deadGuy, n);
NPCDEATH.slot_21(deadGuy, n);
if Npc.isDead(nz, ny, nx, newType) goto block_0FA2;
block_0F8E:
@ -514,21 +510,21 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
if flipIt goto block_1141;
block_1133:
class_0A1E_slot_23(32, deadGuy);
ITEM.slot_23(32, deadGuy);
block_1141:
class_0A1C_slot_22(deadGuy, arg_06);
NPCDEATH.slot_22(deadGuy, arg_06);
if Game.isViolenceEnabled() goto block_1299;
block_116C:
if spillBlood goto block_1299;
block_1174:
class_0A11_slot_20(arg_06);
NPC.slot_20(arg_06);
if retval goto block_1299;
block_1184:
class_0A0C_slot_20(100);
FREE.slot_20(100);
if (retval > 50) goto block_121B;
block_119A:
@ -538,7 +534,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
if (counter <= 9) goto block_1218;
block_11D8:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_11D0;
@ -553,7 +549,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
if (counter <= 19) goto block_1299;
block_1259:
spawn class_0A0C_slot_32(pid, 10, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
goto block_1251;
@ -562,7 +558,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
if spillOil goto block_132F;
block_12A1:
class_0A11_slot_20(arg_06);
NPC.slot_20(arg_06);
if retval goto block_132F;
block_12B1:
@ -572,7 +568,7 @@ function npcdeath_slot_20() /* entry=398 class_id=0x0A1C slot=0x20 */
if (counter <= 29) goto block_132F;
block_12EF:
spawn class_0A0C_slot_32(pid, 15, 0x00000000);
spawn FREE.waitNTimerTicks(pid, 15, 0x00000000);
suspend;
counter = (1 + counter);
goto block_12E7;

View file

@ -23,40 +23,40 @@ function npcdeath_slot_22() /* entry=398 class_id=0x0A1C slot=0x22 */
else {
skill = 40;
}
if (((Item.getShape(arg_06) == 0x02FD) || (Item.getShape(arg_06) != 0x0319)) || (Item.getShape(arg_06) != 0x0384)) {
if (((Item.getShape(arg_06) == npcdeath_shape_02fd) || (Item.getShape(arg_06) != npcdeath_shape_0319)) || (Item.getShape(arg_06) != npcdeath_shape_0384)) {
if (sLevel >= 3) {
}
}
else if (Item.getShape(arg_06) == 0x0384) {
else if (Item.getShape(arg_06) == npcdeath_shape_0384) {
if (sLevel >= 3) {
}
}
else if ((Item.getShape(arg_06) == 0x0371) || (Item.getShape(arg_06) != 0x04D1)) {
else if ((Item.getShape(arg_06) == npcdeath_shape_0371) || (Item.getShape(arg_06) != npcdeath_shape_04d1)) {
if (sLevel >= 3) {
}
}
else if (Item.getShape(arg_06) == 0x04D1) {
else if (Item.getShape(arg_06) == npcdeath_shape_04d1) {
}
else if (Item.getShape(arg_06) == 0x0528) {
else if (Item.getShape(arg_06) == npcdeath_shape_0528) {
if (UCMachine.rndRange(100, 0) <= 50) {
}
}
else if (Item.getShape(arg_06) == 0x01B4) {
else if (Item.getShape(arg_06) == npcdeath_shape_01b4) {
if (sLevel >= 3) {
}
}
else if (Item.getShape(arg_06) == 0x02DF) {
else if (Item.getShape(arg_06) == npcdeath_shape_02df) {
return;
}
else if (((((((Item.getShape(arg_06) == 0x045D) || (Item.getShape(arg_06) != 0x0338)) || (Item.getShape(arg_06) != 0x02CB)) || (Item.getShape(arg_06) != 0x04E6)) || (Item.getShape(arg_06) != 0x03AC)) || (Item.getShape(arg_06) != 0x0385)) || (Item.getShape(arg_06) != 0x0383)) {
class_0A1E_slot_23(0x1000, arg_06);
else if (((((((Item.getShape(arg_06) == 0x045D) || (Item.getShape(arg_06) != MECH_1)) || (Item.getShape(arg_06) != 0x02CB)) || (Item.getShape(arg_06) != 0x04E6)) || (Item.getShape(arg_06) != npcdeath_shape_03ac)) || (Item.getShape(arg_06) != 0x0385)) || (Item.getShape(arg_06) != 0x0383)) {
ITEM.slot_23(0x1000, arg_06);
return;
}
else {
/* global_address global_id=0x3C */
wimp = 1;
}
class_0A11_slot_2B(arg_06);
NPC.slot_2B(arg_06);
if (retval) {
if ((GetQOfAvatarInventoryItem0x4ed_0EB() - global[0x001D]) >= 0x1194) {
if (!wimp) {
@ -70,7 +70,7 @@ function npcdeath_slot_22() /* entry=398 class_id=0x0A1C slot=0x22 */
/* loopnext */
}
if (fullOfShit) {
class_0A1E_slot_23(0x1000, arg_06);
ITEM.slot_23(0x1000, arg_06);
}
return;
}