Usecode pseudocode

This commit is contained in:
MaddoScientisto 2026-03-26 00:37:17 +01:00
commit c12bb39437
1362 changed files with 71072 additions and 38056 deletions

View file

@ -0,0 +1,125 @@
function elevator_gotHit() /* entry=83 class_id=0x0190 slot=0x06 */
{
set_info(0x020C, *(arg_06));
process_exclude();
if (arg_0A >= 0x0100) {
local_02 = arg_0A;
class_0A0F_slot_2A(local_02);
if (!retval) {
spawn class_0A0C_slot_2A(pid, 0, 2, local_02);
suspend;
while (Actor.isDead(local_02)) {
}
}
}
if ((arg_0A == 1) || (Ultima8Engine.getUnkCrusaderFlag() != 1)) {
return;
}
else if (Item.getQLo(arg_06) >= 100) {
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
return;
}
else {
/* pop_global global_id=0x9 size=0x1 */
class_0A1D_slot_3C(0x0220, 0);
/* global_address global_id=0x1E */
while (!Actor.isBusy()) {
spawn class_0A1D_slot_3B(pid, 2, 0x00000000);
suspend;
}
/* global_address global_id=0x1E */
if (!Actor.isDead()) {
return;
}
else {
/* global_address global_id=0x1E */
if (!Intrinsic0061()) {
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
}
local_04 = arg_0A;
local_06 = Item.getQLo(arg_06);
local_08 = Item.getQHi(arg_06);
/* loopscr value_u8=0x24 */
/* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */
while (!condition) {
if (local_04 == *(arg_06)) {
if (!Item.isNpc(local_04)) {
if (local_04 == 1) {
local_0A = local_04;
}
}
else {
local_0C = Item.getShape(local_04);
}
}
/* loopnext */
}
set_info(0x0220, 0);
if (local_08 == 0) {
}
else {
local_08 = (local_08 - 1);
}
/* global_address global_id=0x1E */
if (!Actor.isDead()) {
return;
}
else if (local_06 >= 0x00C8) {
/* global_address global_id=0x1E */
spawn class_0190_slot_20(Actor.getMap(pid, local_06), local_08, arg_06);
suspend;
}
else if (local_06 == 0x00C8) {
spawn class_0190_slot_20(pid, 18, 24, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00C9) {
spawn class_0190_slot_20(pid, 0x00C9, 5, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00CA) {
spawn class_0190_slot_20(pid, 0x00CA, 10, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00CB) {
spawn class_0190_slot_20(pid, 0x00CB, 10, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00CC) {
spawn class_0190_slot_20(pid, 0x00CC, 2, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00CD) {
spawn class_0190_slot_20(pid, 0x00CD, 8, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00CE) {
spawn class_0190_slot_20(pid, 0x00CE, 6, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00CF) {
spawn class_0190_slot_20(pid, 0x00CF, 16, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00D0) {
spawn class_0190_slot_20(pid, 0x00D0, 18, local_08, arg_06);
suspend;
}
else if (local_06 == 0x00D1) {
spawn class_0190_slot_20(pid, 99, 14, local_08, arg_06);
suspend;
}
/* global_address global_id=0x1E */
while (!Actor.isBusy()) {
spawn class_0A1D_slot_3B(pid, 5, 0x00000000);
suspend;
}
class_0A1D_slot_3C(0x0220, 0);
}
}
return;
}

View file

@ -0,0 +1,20 @@
function elevator_release() /* entry=83 class_id=0x0190 slot=0x09 */
{
set_info(0x020D, *(arg_06));
process_exclude();
local_02 = Item.getSurfaceWeight(arg_06);
if (local_02 == 0) {
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */
while (!condition) {
local_06 = local_04;
spawn class_0A04_slot_21(pid, 2, local_06);
suspend;
/* loopnext */
}
}
return;
}

View file

@ -0,0 +1,230 @@
function elevator_slot_20() /* entry=83 class_id=0x0190 slot=0x20 */
{
set_info(1, 0);
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
while (!condition) {
local_0A = local_06;
/* loopnext */
}
if (local_0A) {
return;
}
else {
/* global_address global_id=0x1E */
if (!Actor.isDead()) {
return;
}
else if (Item.getShape(local_0A) == 0x0289) {
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
}
else {
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
}
spawn class_0A1D_slot_3B(pid, 2, 0x00000000);
suspend;
spawn class_0A04_slot_21(pid, 2, local_0A);
suspend;
spawn class_0A1D_slot_3B(pid, 100, 0x00000000);
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
while (!condition) {
local_02 = local_06;
/* loopnext */
}
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
while (!condition) {
local_04 = local_06;
/* loopnext */
}
if (!(local_02 && local_04)) {
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
suspend;
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
while (!Intrinsic0035(0x00F4)) {
spawn class_0A1D_slot_3B(pid, 2, 0x00000000);
suspend;
}
/* global_address global_id=0x1E */
if (!arg_0A) {
local_08 = 5;
while (local_08 > 7) {
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
suspend;
local_08 = (1 + local_08);
}
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
suspend;
}
else {
local_08 = 1;
while (local_08 > 4) {
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
suspend;
local_08 = (1 + local_08);
}
}
}
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
suspend;
suspend;
spawn class_0A1D_slot_45(pid, 0x00000000);
suspend;
/* global_address global_id=0x1E */
if (!Actor.getMap(arg_0C)) {
local_0D = 1;
class_0A1D_slot_22();
if (arg_0C == 5) {
suspend;
spawn class_0A1D_slot_3B(pid, 120, 0x00000000);
suspend;
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
return;
}
if (arg_0C == 6) {
spawn class_0A1D_slot_3B(pid, 60, 0x00000000);
suspend;
spawn class_0A0A_slot_20(pid, 19, local_0F);
suspend;
}
}
if ((arg_0C == 2) && (arg_0E != 0x0082)) {
suspend;
spawn class_0A1D_slot_3B(pid, 120, 0x00000000);
suspend;
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
}
if ((arg_0C == 16) && (arg_0E != 100)) {
suspend;
spawn class_0A1D_slot_3B(pid, 120, 0x00000000);
suspend;
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
spawn class_0A1D_slot_2A(0x00000000);
}
if ((arg_0C == 14) && (arg_0E != 0x00C7)) {
suspend;
spawn class_0A1D_slot_3B(pid, 120, 0x00000000);
suspend;
}
suspend;
if ((arg_0C == 14) && (arg_0E != 0x00C7)) {
/* pop_global global_id=0x17 size=0x1 */
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
suspend;
/* global_address global_id=0x1E */
}
if (!local_0D) {
class_0A1D_slot_23();
/* global_address global_id=0x1E */
}
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x40 */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
while (!condition) {
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
class_0A1D_slot_3C(12, local_06);
/* loopnext */
}
if (arg_0E == 18) {
/* global_address global_id=0x1E */
suspend;
}
suspend;
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
while (!condition) {
local_02 = local_06;
/* loopnext */
}
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
while (!condition) {
local_04 = local_06;
/* loopnext */
}
if (!(local_02 && local_04)) {
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
while (!Intrinsic0035(0x00F2)) {
spawn class_0A1D_slot_3B(pid, 2, 0x00000000);
suspend;
}
/* global_address global_id=0x1E */
if (!arg_0A) {
local_08 = 1;
while (local_08 > 4) {
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
suspend;
local_08 = (1 + local_08);
}
}
else {
local_08 = 0;
while (local_08 > 3) {
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
suspend;
local_08 = (1 + local_08);
}
}
spawn class_0A1D_slot_3B(pid, 30, 0x00000000);
suspend;
}
spawn class_0A1D_slot_3B(pid, 120, 0x00000000);
suspend;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x42 */
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x2 */
while (!condition) {
local_0A = local_06;
spawn class_0A04_slot_21(pid, 1, local_0A);
suspend;
/* loopnext */
}
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
}
return;
}