Usecode pseudocode
This commit is contained in:
parent
f92d1504fa
commit
c12bb39437
1362 changed files with 71072 additions and 38056 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue