1037 lines
35 KiB
Plaintext
1037 lines
35 KiB
Plaintext
#pragma mapfile "utils/th11.eclm"
|
|
|
|
meta {
|
|
anim: ["enemy.anm", "stgenm06.anm"],
|
|
ecli: ["default.ecl", "stage06mboss.ecl", "stage06boss.ecl"],
|
|
}
|
|
|
|
|
|
void BPhantom00() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
dropMain(@nargs=1, @blob="02000000");
|
|
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
|
|
call(
|
|
@nargs=3,
|
|
@blob="0c000000 5068616e 746f6d30 30000000 69690000 62000000 69690000 01000000",
|
|
);
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void BPhantom01() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
|
|
call(
|
|
@nargs=3,
|
|
@blob="0c000000 5068616e 746f6d30 31000000 69690000 62000000 69690000 01000000",
|
|
);
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void Crow00() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
|
|
anmSelect(@nargs=1, @blob="02000000");
|
|
anmSetMain(@nargs=2, @blob="00000000 0c000000");
|
|
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
|
|
setHitbox(@nargs=2, @blob="00008041 00008041");
|
|
pushf(@nargs=1, @blob="00004040");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00000040");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
pushi(@nargs=1, @blob="20000000");
|
|
divf(@blob="");
|
|
addf(@blob="");
|
|
moveVel(@mask=0b11, @nargs=2, @blob="000080bf 000080bf");
|
|
pushf(@nargs=1, @blob="00004040");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00000040");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
moveVelTime(
|
|
@mask=0b1000,
|
|
@nargs=4,
|
|
@blob="3c000000 00000000 f02374c9 000080bf",
|
|
);
|
|
callAsync(@nargs=1, @blob="0c000000 43726f77 30305f61 74000000");
|
|
+600: // 600
|
|
nop(@blob="");
|
|
jmp(@nargs=2, @blob="2c000000 58020000");
|
|
wait(@nargs=1, @blob="e8030000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="d8ffffff 58020000");
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void Crow00_at() {
|
|
stackAlloc(@nargs=1, @blob="0c000000");
|
|
etNew(@nargs=1, @blob="00000000");
|
|
etAim(@nargs=2, @blob="00000000 02000000");
|
|
etSprite(@nargs=3, @blob="00000000 01000000 06000000");
|
|
etCountD(
|
|
@nargs=9,
|
|
@blob="00000000 01000000 01000000 01000000 01000000 01000000 02000000 03000000 04000000",
|
|
);
|
|
etAngle(@nargs=3, @blob="00000000 00000000 00000000");
|
|
etSpeedD(
|
|
@nargs=9,
|
|
@blob="00000000 00000040 00004040 00008040 0000a040 0000c03f 0000c03f 0000c03f 0000c03f",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
|
|
pushi(@nargs=1, @blob="1e000000");
|
|
modi(@blob="");
|
|
wait(@mask=0b1, @nargs=1, @blob="ffffffff");
|
|
jmp(@nargs=2, @blob="4c000000 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
diffWait(@nargs=4, @blob="78000000 3c000000 1e000000 14000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="b8ffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void Crow01() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
|
|
anmSelect(@nargs=1, @blob="02000000");
|
|
anmSetMain(@nargs=2, @blob="00000000 0c000000");
|
|
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
|
|
setHitbox(@nargs=2, @blob="00008041 00008041");
|
|
dropClear(@blob="");
|
|
dropExtra(@nargs=2, @blob="03000000 02000000");
|
|
dropExtra(@nargs=2, @blob="02000000 05000000");
|
|
dropArea(@nargs=2, @blob="00004042 00004042");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
pushi(@nargs=1, @blob="20000000");
|
|
divf(@blob="");
|
|
addf(@blob="");
|
|
moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00008040");
|
|
pushi(@nargs=1, @blob="0a000000");
|
|
pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
|
|
pushi(@nargs=1, @blob="1e000000");
|
|
modi(@blob="");
|
|
addi(@blob="");
|
|
wait(@mask=0b1, @nargs=1, @blob="ffffffff");
|
|
moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000");
|
|
wait(@nargs=1, @blob="32000000");
|
|
callAsync(@nargs=1, @blob="0c000000 43726f77 30315f61 74000000");
|
|
wait(@nargs=1, @blob="c8000000");
|
|
moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00008040");
|
|
+600: // 600
|
|
nop(@blob="");
|
|
jmp(@nargs=2, @blob="2c000000 58020000");
|
|
wait(@nargs=1, @blob="e8030000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="d8ffffff 58020000");
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void Crow01_at() {
|
|
stackAlloc(@nargs=1, @blob="0c000000");
|
|
etNew(@nargs=1, @blob="00000000");
|
|
etAim(@nargs=2, @blob="00000000 03000000");
|
|
etSprite(@nargs=3, @blob="00000000 04000000 06000000");
|
|
etCountD(
|
|
@nargs=9,
|
|
@blob="00000000 05000000 05000000 05000000 05000000 01000000 01000000 01000000 01000000",
|
|
);
|
|
etAngle(@nargs=3, @blob="00000000 db0fc93f 00000000");
|
|
etSpeedD(
|
|
@nargs=9,
|
|
@blob="00000000 00004040 00004040 00008040 0000a040 0000c03f 0000c03f 0000c03f 0000c03f",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
jmp(@nargs=2, @blob="4c000000 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
diffWait(@nargs=4, @blob="0c000000 06000000 05000000 04000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="b8ffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void Crow02() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
|
|
anmSelect(@nargs=1, @blob="02000000");
|
|
anmSetMain(@nargs=2, @blob="00000000 0c000000");
|
|
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
|
|
setHitbox(@nargs=2, @blob="00008041 00008041");
|
|
dropClear(@blob="");
|
|
dropExtra(@nargs=2, @blob="03000000 08000000");
|
|
dropExtra(@nargs=2, @blob="02000000 05000000");
|
|
dropArea(@nargs=2, @blob="00004042 00004042");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
pushi(@nargs=1, @blob="20000000");
|
|
divf(@blob="");
|
|
addf(@blob="");
|
|
moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00008040");
|
|
pushi(@nargs=1, @blob="0a000000");
|
|
pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
|
|
pushi(@nargs=1, @blob="1e000000");
|
|
modi(@blob="");
|
|
addi(@blob="");
|
|
wait(@mask=0b1, @nargs=1, @blob="ffffffff");
|
|
moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000");
|
|
wait(@nargs=1, @blob="32000000");
|
|
callAsync(@nargs=1, @blob="0c000000 43726f77 30325f61 74000000");
|
|
wait(@nargs=1, @blob="c8000000");
|
|
moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00008040");
|
|
+600: // 600
|
|
nop(@blob="");
|
|
jmp(@nargs=2, @blob="2c000000 58020000");
|
|
wait(@nargs=1, @blob="e8030000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="d8ffffff 58020000");
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void Crow02_at() {
|
|
stackAlloc(@nargs=1, @blob="0c000000");
|
|
etNew(@nargs=1, @blob="00000000");
|
|
etAim(@nargs=2, @blob="00000000 03000000");
|
|
etSprite(@nargs=3, @blob="00000000 04000000 06000000");
|
|
etCountD(
|
|
@nargs=9,
|
|
@blob="00000000 05000000 05000000 05000000 05000000 01000000 01000000 01000000 01000000",
|
|
);
|
|
etAngle(@nargs=3, @blob="00000000 db0fc93f 00000000");
|
|
etSpeedD(
|
|
@nargs=9,
|
|
@blob="00000000 00004040 00004040 00008040 0000a040 0000c03f 0000c03f 0000c03f 0000c03f",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
jmp(@nargs=2, @blob="4c000000 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
diffWait(@nargs=4, @blob="0c000000 06000000 05000000 04000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="b8ffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void Crow03() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
|
|
anmSelect(@nargs=1, @blob="02000000");
|
|
anmSetMain(@nargs=2, @blob="00000000 0c000000");
|
|
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
|
|
setHitbox(@nargs=2, @blob="00008041 00008041");
|
|
pushf(@nargs=1, @blob="00004040");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00000040");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
pushi(@nargs=1, @blob="20000000");
|
|
divf(@blob="");
|
|
addf(@blob="");
|
|
moveVel(@mask=0b11, @nargs=2, @blob="000080bf 000080bf");
|
|
pushf(@nargs=1, @blob="00004040");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00000040");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
moveVelTime(
|
|
@mask=0b1000,
|
|
@nargs=4,
|
|
@blob="3c000000 00000000 f02374c9 000080bf",
|
|
);
|
|
callAsync(@nargs=1, @blob="0c000000 43726f77 30335f61 74000000");
|
|
+600: // 600
|
|
nop(@blob="");
|
|
jmp(@nargs=2, @blob="2c000000 58020000");
|
|
wait(@nargs=1, @blob="e8030000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="d8ffffff 58020000");
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void Crow03_at() {
|
|
stackAlloc(@nargs=1, @blob="0c000000");
|
|
etNew(@nargs=1, @blob="00000000");
|
|
etAim(@nargs=2, @blob="00000000 02000000");
|
|
etSprite(@nargs=3, @blob="00000000 0c000000 03000000");
|
|
etCount(@nargs=3, @blob="00000000 01000000 01000000");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000");
|
|
etSpeed(@nargs=3, @blob="00000000 cdcccc3d 0000c03f");
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 01000000 00000000 04000000 78000000 c1bdf0ff 8988083d db0fc93f",
|
|
);
|
|
pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
|
|
pushi(@nargs=1, @blob="1e000000");
|
|
modi(@blob="");
|
|
wait(@mask=0b1, @nargs=1, @blob="ffffffff");
|
|
jmp(@nargs=2, @blob="4c000000 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
diffWait(@nargs=4, @blob="3c000000 1e000000 14000000 0a000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="b8ffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void GPhantom00() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
dropMain(@nargs=1, @blob="02000000");
|
|
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
|
|
call(
|
|
@nargs=3,
|
|
@blob="0c000000 5068616e 746f6d30 30000000 69690000 60000000 69690000 01000000",
|
|
);
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void GPhantom01() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
|
|
call(
|
|
@nargs=3,
|
|
@blob="0c000000 5068616e 746f6d30 31000000 69690000 60000000 69690000 01000000",
|
|
);
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void MainBossDebug() {
|
|
stackAlloc(@nargs=1, @blob="00000000");
|
|
+60: // 60
|
|
dialogRead(@nargs=1, @blob="ffffffff");
|
|
dialogWait(@blob="");
|
|
enmCreateA(
|
|
@nargs=6,
|
|
@blob="08000000 426f7373 00000000 00005843 00008042 28000000 e8030000 01000000",
|
|
);
|
|
ins_500(@nargs=1, @blob="64000000");
|
|
dialogWait(@blob="");
|
|
deathWait(@blob="");
|
|
+60: // 120
|
|
dialogRead(@nargs=1, @blob="01000000");
|
|
dialogWait(@blob="");
|
|
ret(@blob="");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainMBossDebug() {
|
|
stackAlloc(@nargs=1, @blob="00000000");
|
|
playSound(@nargs=1, @blob="35000000");
|
|
dialogRead(@nargs=1, @blob="02000000");
|
|
enmCreateA(
|
|
@nargs=6,
|
|
@blob="08000000 4d426f73 73000000 00004043 000000c2 28000000 10270000 01000000",
|
|
);
|
|
jmp(@nargs=2, @blob="2c000000 00000000");
|
|
wait(@nargs=1, @blob="e8030000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="d8ffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainMsgDebug() {
|
|
stackAlloc(@nargs=1, @blob="00000000");
|
|
ins_500(@nargs=1, @blob="64000000");
|
|
+120: // 120
|
|
dialogRead(@nargs=1, @blob="00000000");
|
|
dialogWait(@blob="");
|
|
+1: // 121
|
|
dialogWait(@blob="");
|
|
+60: // 181
|
|
dialogRead(@nargs=1, @blob="01000000");
|
|
dialogWait(@blob="");
|
|
jmp(@nargs=2, @blob="28000000 55100000");
|
|
+4000: // 4181
|
|
nop(@blob="");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="dcffffff b5000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainSub00() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
pushi(@nargs=1, @blob="10000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 30620000");
|
|
jmp(@nargs=2, @blob="b8000000 00000000");
|
|
pushi(@nargs=1, @blob="40000000");
|
|
pushi(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
pushi(@nargs=1, @blob="08000000");
|
|
muli(@blob="");
|
|
addi(@blob="");
|
|
enmCreate(
|
|
@mask=0b100,
|
|
@nargs=6,
|
|
@blob="08000000 43726f77 30300000 000060c3 000080bf 32000000 e8030000 01000000",
|
|
);
|
|
wait(@nargs=1, @blob="0a000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="4cffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainSub00b() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
pushi(@nargs=1, @blob="10000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b8000000 00000000");
|
|
pushi(@nargs=1, @blob="40000000");
|
|
pushi(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
pushi(@nargs=1, @blob="08000000");
|
|
muli(@blob="");
|
|
addi(@blob="");
|
|
enmCreateM(
|
|
@mask=0b100,
|
|
@nargs=6,
|
|
@blob="08000000 43726f77 30300000 00006043 000080bf 32000000 e8030000 01000000",
|
|
);
|
|
wait(@nargs=1, @blob="0a000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="4cffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainSub01() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
pushi(@nargs=1, @blob="06000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 31620000");
|
|
jmp(@nargs=2, @blob="b8000000 00000000");
|
|
pushi(@nargs=1, @blob="80000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
|
|
pushi(@nargs=1, @blob="40000000");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
enmCreate(
|
|
@mask=0b100,
|
|
@nargs=6,
|
|
@blob="08000000 43726f77 30310000 000060c3 000080bf c8000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="28000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="4cffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainSub01b() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
pushi(@nargs=1, @blob="06000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b8000000 00000000");
|
|
pushi(@nargs=1, @blob="80000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
|
|
pushi(@nargs=1, @blob="40000000");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
enmCreateM(
|
|
@mask=0b100,
|
|
@nargs=6,
|
|
@blob="08000000 43726f77 30310000 00006043 000080bf c8000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="28000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="4cffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainSub02() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 32620000");
|
|
jmp(@nargs=2, @blob="b0000000 00000000");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
|
|
pushf(@nargs=1, @blob="dc0f4940");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 42506861 6e746f6d 30300000 00006043 00000043 64000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="14000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="54ffffff 00000000");
|
|
wait(@nargs=1, @blob="f0000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b0000000 00000000");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
|
|
pushf(@nargs=1, @blob="d80fc93f");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 42506861 6e746f6d 30300000 00008042 000000c2 64000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="14000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="54ffffff 00000000");
|
|
wait(@nargs=1, @blob="78000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b0000000 00000000");
|
|
pushf(@nargs=1, @blob="dc0f4940");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 42506861 6e746f6d 30300000 000060c3 00000043 32000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="14000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="54ffffff 00000000");
|
|
wait(@nargs=1, @blob="3c000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b0000000 00000000");
|
|
pushf(@nargs=1, @blob="dc0f4940");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
|
|
pushf(@nargs=1, @blob="d80fc93f");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 42506861 6e746f6d 30300000 000080c2 000000c2 32000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="14000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="54ffffff 00000000");
|
|
wait(@nargs=1, @blob="3c000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b0000000 00000000");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
|
|
pushf(@nargs=1, @blob="dc0f4940");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 42506861 6e746f6d 30300000 00006043 00000043 32000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="14000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="54ffffff 00000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b0000000 00000000");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
|
|
pushf(@nargs=1, @blob="d80fc93f");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 42506861 6e746f6d 30300000 00008042 000000c2 32000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="14000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="54ffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainSub02b() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
wait(@nargs=1, @blob="f0000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b0000000 00000000");
|
|
pushf(@nargs=1, @blob="dc0f4940");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 42506861 6e746f6d 30300000 000060c3 00000043 64000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="14000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="54ffffff 00000000");
|
|
wait(@nargs=1, @blob="f0000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b0000000 00000000");
|
|
pushf(@nargs=1, @blob="dc0f4940");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
|
|
pushf(@nargs=1, @blob="d80fc93f");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 42506861 6e746f6d 30300000 000080c2 000000c2 64000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="14000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="54ffffff 00000000");
|
|
wait(@nargs=1, @blob="3c000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b0000000 00000000");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
|
|
pushf(@nargs=1, @blob="dc0f4940");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 42506861 6e746f6d 30300000 00006043 00000043 32000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="14000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="54ffffff 00000000");
|
|
wait(@nargs=1, @blob="3c000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b0000000 00000000");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
|
|
pushf(@nargs=1, @blob="d80fc93f");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 42506861 6e746f6d 30300000 00008042 000000c2 32000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="14000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="54ffffff 00000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b0000000 00000000");
|
|
pushf(@nargs=1, @blob="dc0f4940");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 42506861 6e746f6d 30300000 000060c3 00000043 32000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="14000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="54ffffff 00000000");
|
|
pushi(@nargs=1, @blob="0c000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b0000000 00000000");
|
|
pushf(@nargs=1, @blob="dc0f4940");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
|
|
pushf(@nargs=1, @blob="d80fc93f");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 42506861 6e746f6d 30300000 000080c2 000000c2 32000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="14000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="54ffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainSub03() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
pushi(@nargs=1, @blob="0a000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 33620000");
|
|
jmp(@nargs=2, @blob="b8000000 00000000");
|
|
pushi(@nargs=1, @blob="80000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
|
|
pushi(@nargs=1, @blob="40000000");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
enmCreateF(
|
|
@mask=0b100,
|
|
@nargs=6,
|
|
@blob="08000000 43726f77 30320000 000060c3 000080bf c8000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="28000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="4cffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainSub03b() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
pushi(@nargs=1, @blob="0a000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b8000000 00000000");
|
|
pushi(@nargs=1, @blob="80000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
|
|
pushi(@nargs=1, @blob="40000000");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
enmCreateMF(
|
|
@mask=0b100,
|
|
@nargs=6,
|
|
@blob="08000000 43726f77 30320000 00006043 000080bf c8000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="28000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="4cffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainSub04() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
pushi(@nargs=1, @blob="20000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 34620000");
|
|
jmp(@nargs=2, @blob="b8000000 00000000");
|
|
pushi(@nargs=1, @blob="60000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
|
|
pushi(@nargs=1, @blob="60000000");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
enmCreateF(
|
|
@mask=0b100,
|
|
@nargs=6,
|
|
@blob="08000000 43726f77 30330000 000060c3 000080bf 32000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="0a000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="4cffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainSub04b() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
pushi(@nargs=1, @blob="20000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmp(@nargs=2, @blob="b8000000 00000000");
|
|
pushi(@nargs=1, @blob="60000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
|
|
pushi(@nargs=1, @blob="60000000");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
enmCreateMF(
|
|
@mask=0b100,
|
|
@nargs=6,
|
|
@blob="08000000 43726f77 30330000 00006043 000080bf 32000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="0a000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
jmpNeq(@nargs=2, @blob="4cffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MainSub05() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
pushi(@nargs=1, @blob="40000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="0c000000");
|
|
pushf(@nargs=1, @blob="a0e1cd3b");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 52506861 6e746f6d 30310000 00000000 000000c2 70170000 e8030000 00000000",
|
|
);
|
|
wait(@nargs=1, @blob="08020000");
|
|
pushf(@nargs=1, @blob="a0e14dbc");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
enmCreate(
|
|
@nargs=6,
|
|
@blob="0c000000 52506861 6e746f6d 30310000 00000000 000000c2 70170000 e8030000 00000000",
|
|
);
|
|
wait(@nargs=1, @blob="c2010000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void MapleEnemy() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
flagSet(@nargs=1, @blob="20000000");
|
|
anmPlayAbs(@nargs=2, @blob="00000000 b3000000");
|
|
+3: // 3
|
|
jmp(@nargs=2, @blob="e8ffffff 00000000");
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void Phantom00() {
|
|
stackAlloc(@nargs=1, @blob="0c000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000");
|
|
flagSet(@nargs=1, @blob="03000000");
|
|
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
|
|
setHitbox(@nargs=2, @blob="00008041 00008041");
|
|
wait(@nargs=1, @blob="0c000000");
|
|
flagSet(@nargs=1, @blob="40000000");
|
|
flagClear(@nargs=1, @blob="03000000");
|
|
callAsync(@nargs=1, @blob="10000000 5068616e 746f6d30 305f6174 00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000041");
|
|
moveVelRel(@mask=0b1, @nargs=2, @blob="00000041 0000c03f");
|
|
moveEllipse(
|
|
@mask=0b10001,
|
|
@nargs=6,
|
|
@blob="00f01bc6 5077d63c 00008042 00000000 00000041 00000000",
|
|
);
|
|
jmp(@nargs=2, @blob="2c000000 00000000");
|
|
wait(@nargs=1, @blob="e8030000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="d8ffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void Phantom00_at() {
|
|
stackAlloc(@nargs=1, @blob="0c000000");
|
|
etNew(@nargs=1, @blob="00000000");
|
|
etAim(@nargs=2, @blob="00000000 02000000");
|
|
etSprite(@nargs=3, @blob="00000000 01000000 04000000");
|
|
etCountD(
|
|
@nargs=9,
|
|
@blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000",
|
|
);
|
|
etAngle(@nargs=3, @blob="00000000 00000000 00000000");
|
|
etSpeedD(
|
|
@nargs=9,
|
|
@blob="00000000 00006040 00008040 00009040 0000a040 9a99d93f 9a99d93f 9a99d93f 9a99d93f",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
|
|
pushi(@nargs=1, @blob="14000000");
|
|
modi(@blob="");
|
|
wait(@mask=0b1, @nargs=1, @blob="ffffffff");
|
|
jmp(@nargs=2, @blob="9c000000 00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00301cc6");
|
|
pushi(@nargs=1, @blob="62010000");
|
|
lessf(@blob="");
|
|
jmpEq(@nargs=2, @blob="2c000000 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
diffWait(@nargs=4, @blob="46000000 23000000 1e000000 12000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="68ffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void Phantom01() {
|
|
stackAlloc(@nargs=1, @blob="0c000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000");
|
|
flagSet(@nargs=1, @blob="03000000");
|
|
dropClear(@blob="");
|
|
dropExtra(@nargs=2, @blob="01000000 14000000");
|
|
dropExtra(@nargs=2, @blob="02000000 14000000");
|
|
dropArea(@nargs=2, @blob="00004042 00004042");
|
|
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
|
|
setHitbox(@nargs=2, @blob="00008041 00008041");
|
|
wait(@nargs=1, @blob="0c000000");
|
|
flagSet(@nargs=1, @blob="40000000");
|
|
flagClear(@nargs=1, @blob="03000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000041");
|
|
moveVel(@nargs=2, @blob="db0fc93f 00004040");
|
|
moveVelTime(@nargs=4, @blob="78000000 00000000 f02374c9 00000000");
|
|
+120: // 120
|
|
callAsync(@nargs=1, @blob="10000000 5068616e 746f6d30 315f6174 00000000");
|
|
+600: // 720
|
|
moveVel(@nargs=2, @blob="db0fc9bf 00000000");
|
|
moveVelTime(@nargs=4, @blob="c8000000 00000000 f02374c9 00000040");
|
|
killAllAsync(@blob="");
|
|
jmp(@nargs=2, @blob="2c000000 d0020000");
|
|
wait(@nargs=1, @blob="e8030000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="d8ffffff d0020000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void Phantom01_at() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
etNew(@nargs=1, @blob="00000000");
|
|
etAim(@nargs=2, @blob="00000000 05000000");
|
|
etSprite(@nargs=3, @blob="00000000 03000000 03000000");
|
|
etCountD(
|
|
@nargs=9,
|
|
@blob="00000000 03000000 06000000 06000000 09000000 01000000 01000000 01000000 01000000",
|
|
);
|
|
etAngle(@nargs=3, @blob="00000000 00000000 00000000");
|
|
etSpeedD(
|
|
@nargs=9,
|
|
@blob="00000000 6666e63f 00000040 00004040 00004040 9a99d93f 9a99d93f 9a99d93f 9a99d93f",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
|
|
pushi(@nargs=1, @blob="14000000");
|
|
modi(@blob="");
|
|
wait(@mask=0b1, @nargs=1, @blob="ffffffff");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000000");
|
|
pushf(@nargs=1, @blob="7077d63c");
|
|
setf(@mask=0b1, @nargs=1, @blob="00008040");
|
|
pushi(@nargs=1, @blob="40000000");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000041");
|
|
jmp(@nargs=2, @blob="d0010000 00000000");
|
|
etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00008040");
|
|
subf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00008040");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
addf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00008040");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00000041");
|
|
pushi(@nargs=1, @blob="00000000");
|
|
greaterf(@blob="");
|
|
jmpEq(@nargs=2, @blob="64000000 00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00000041");
|
|
pushf(@nargs=1, @blob="0000003f");
|
|
subf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000041");
|
|
validRad(@mask=0b1, @nargs=1, @blob="00000000");
|
|
validRad(@mask=0b1, @nargs=1, @blob="00008040");
|
|
wait(@nargs=1, @blob="02000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="34feffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void RPhantom00() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
|
|
dropMain(@nargs=1, @blob="01000000");
|
|
call(
|
|
@nargs=3,
|
|
@blob="0c000000 5068616e 746f6d30 30000000 69690000 5e000000 69690000 01000000",
|
|
);
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void RPhantom01() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
|
|
call(
|
|
@nargs=3,
|
|
@blob="0c000000 5068616e 746f6d30 31000000 69690000 5e000000 69690000 01000000",
|
|
);
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void YPhantom00() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
dropMain(@nargs=1, @blob="02000000");
|
|
anmSetSprite(@nargs=2, @blob="01000000 30000000");
|
|
call(
|
|
@nargs=3,
|
|
@blob="0c000000 5068616e 746f6d30 30000000 69690000 64000000 69690000 01000000",
|
|
);
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void YPhantom01() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
anmSelect(@nargs=1, @blob="01000000");
|
|
anmSetSprite(@nargs=2, @blob="01000000 30000000");
|
|
call(
|
|
@nargs=3,
|
|
@blob="0c000000 5068616e 746f6d30 31000000 69690000 64000000 69690000 01000000",
|
|
);
|
|
delete(@blob="");
|
|
}
|
|
|
|
|
|
void main() {
|
|
stackAlloc(@nargs=1, @blob="0c000000");
|
|
flagSet(@nargs=1, @blob="20000000");
|
|
enmCreateA(
|
|
@nargs=6,
|
|
@blob="0c000000 4d61706c 65456e65 6d790000 00000000 000080c1 14000000 e8030000 02000000",
|
|
);
|
|
wait(@nargs=1, @blob="3c000000");
|
|
wait(@nargs=1, @blob="5a000000");
|
|
call(@nargs=1, @blob="0c000000 4d61696e 53756230 30000000");
|
|
wait(@nargs=1, @blob="18010000");
|
|
call(@nargs=1, @blob="0c000000 4d61696e 53756230 31000000");
|
|
wait(@nargs=1, @blob="c8000000");
|
|
call(@nargs=1, @blob="0c000000 4d61696e 53756230 32000000");
|
|
wait(@nargs=1, @blob="d2000000");
|
|
playSound(@nargs=1, @blob="35000000");
|
|
dialogRead(@nargs=1, @blob="02000000");
|
|
enmCreateA(
|
|
@nargs=6,
|
|
@blob="08000000 4d426f73 73000000 00004043 000000c2 28000000 10270000 01000000",
|
|
);
|
|
dialogWait(@blob="");
|
|
wait(@nargs=1, @blob="e8030000");
|
|
call(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000");
|
|
wait(@nargs=1, @blob="c8000000");
|
|
call(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000");
|
|
wait(@nargs=1, @blob="c8000000");
|
|
call(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000");
|
|
wait(@nargs=1, @blob="68010000");
|
|
dialogRead(@nargs=1, @blob="00000000");
|
|
dialogWait(@blob="");
|
|
enmCreateA(
|
|
@nargs=6,
|
|
@blob="08000000 426f7373 00000000 000058c3 00008042 28000000 e8030000 01000000",
|
|
);
|
|
deathWait(@blob="");
|
|
dialogRead(@nargs=1, @blob="01000000");
|
|
dialogWait(@blob="");
|
|
jmp(@nargs=2, @blob="2c000000 00000000");
|
|
wait(@nargs=1, @blob="e8030000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="d8ffffff 00000000");
|
|
+40000: // 40000
|
|
nop(@blob="");
|
|
delete(@blob="");
|
|
}
|