874 lines
31 KiB
Plaintext
874 lines
31 KiB
Plaintext
#pragma mapfile "utils/th11.eclm"
|
|
|
|
meta {}
|
|
|
|
|
|
void BossCard2_00B() {
|
|
stackAlloc(@nargs=1, @blob="08000000");
|
|
lifeSet(@nargs=1, @blob="44160000");
|
|
setInterrupt(
|
|
@nargs=4,
|
|
@blob="00000000 a00f0000 b80b0000 10000000 426f7373 43617264 335f3030 42000000",
|
|
);
|
|
lifeMarker(@nargs=3, @blob="00000000 0020b245 ff8080ff");
|
|
lifeMarker(@nargs=3, @blob="01000000 00007a45 ff4040ff");
|
|
lifeMarker(@nargs=3, @blob="02000000 0080bb44 c00000ff");
|
|
spell(
|
|
@nargs=4,
|
|
@blob="3a000000 b80b0000 20a10700 14000000 e6041ef2 724f1d33 e6b40366 78380bc0 e61885ac",
|
|
);
|
|
movePosTime(@nargs=4, @blob="3c000000 00000000 00000000 00000043");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
|
|
+60: // 60
|
|
nop(@blob="");
|
|
moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008042");
|
|
diffI(
|
|
@mask=0b1,
|
|
@nargs=5,
|
|
@blob="04000000 46000000 46000000 46000000 14000000",
|
|
);
|
|
jmp(@nargs=2, @blob="d8010000 3c000000");
|
|
callAsync(@nargs=1, @blob="10000000 426f7373 43617264 325f3030 42617400");
|
|
callAsync(
|
|
@nargs=1,
|
|
@blob="14000000 426f7373 43617264 325f3030 42617432 00000000",
|
|
);
|
|
callAsync(
|
|
@nargs=1,
|
|
@blob="14000000 426f7373 43617264 325f3030 42617433 00000000",
|
|
);
|
|
diffWait(@nargs=4, @blob="64000000 64000000 32000000 32000000");
|
|
anmPlay(@nargs=2, @blob="00000000 83000000");
|
|
playSound(@nargs=1, @blob="29000000");
|
|
diffWait(@nargs=4, @blob="3c000000 3c000000 32000000 32000000");
|
|
playSound(@nargs=1, @blob="0f000000");
|
|
moveRand(@mask=0b1, @nargs=3, @blob="04000000 00000000 00000040");
|
|
wait(@mask=0b1, @nargs=1, @blob="04000000");
|
|
pushi(@mask=0b1, @nargs=1, @blob="04000000");
|
|
pushi(@nargs=1, @blob="14000000");
|
|
greateri(@blob="");
|
|
jmpEq(@nargs=2, @blob="64000000 3c000000");
|
|
pushi(@mask=0b1, @nargs=1, @blob="04000000");
|
|
pushi(@nargs=1, @blob="05000000");
|
|
subi(@blob="");
|
|
seti(@mask=0b1, @nargs=1, @blob="04000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="2cfeffff 3c000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void BossCard2_00Bat() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
anmPlay(@nargs=2, @blob="00000000 83000000");
|
|
etNew(@nargs=1, @blob="00000000");
|
|
etAim(@nargs=2, @blob="00000000 03000000");
|
|
etSprite(@nargs=3, @blob="00000000 01000000 08000000");
|
|
etCount(@nargs=3, @blob="00000000 01000000 01000000");
|
|
etAngle(@nargs=3, @blob="00000000 00000000 00000000");
|
|
etSpeed(@nargs=3, @blob="00000000 cdcccc3f 0000803f");
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 01000000 00000000 00040000 78000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 03000000 00000000 00000004 c1bdf0ff c1bdf0ff 00000000 00000000",
|
|
);
|
|
diffI(
|
|
@mask=0b1,
|
|
@nargs=5,
|
|
@blob="00000000 28000000 50000000 28000000 28000000",
|
|
);
|
|
diffI(
|
|
@mask=0b1,
|
|
@nargs=5,
|
|
@blob="04000000 5a000000 5a000000 32000000 32000000",
|
|
);
|
|
jmp(@nargs=2, @blob="80050000 00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushi(@nargs=1, @blob="20000000");
|
|
mulf(@blob="");
|
|
circlePos(
|
|
@mask=0b1111,
|
|
@nargs=4,
|
|
@blob="00000041 00004041 00381cc6 000080bf",
|
|
);
|
|
pushf(@mask=0b1, @nargs=1, @blob="00000041");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00341cc6");
|
|
addf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000041");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00004041");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00301cc6");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
subf(@blob="");
|
|
addf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00004041");
|
|
etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041");
|
|
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
leqi(@blob="");
|
|
jmpEq(@nargs=2, @blob="60000000 00000000");
|
|
etEx(
|
|
@mask=0b11000000,
|
|
@nargs=8,
|
|
@blob="00000000 02000000 00000000 00000002 3c000000 04000000 00000041 00004041",
|
|
);
|
|
jmp(@nargs=2, @blob="48000000 00000000");
|
|
etEx(
|
|
@mask=0b11000000,
|
|
@nargs=8,
|
|
@blob="00000000 02000000 00000000 00000002 28000000 04000000 00000041 00004041",
|
|
);
|
|
etEx(
|
|
@mask=0b10000,
|
|
@nargs=8,
|
|
@blob="00000000 04000000 00000000 00100000 04000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
|
|
pushi(@nargs=1, @blob="00000000");
|
|
eqi(@blob="");
|
|
jmpEq(@nargs=2, @blob="18010000 00000000");
|
|
pushf(@nargs=1, @blob="00008040");
|
|
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
|
|
pushf(@nargs=1, @blob="0000c03f");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
pushi(@nargs=1, @blob="e7030000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
pushi(@nargs=1, @blob="70000000");
|
|
divf(@blob="");
|
|
addf(@blob="");
|
|
etEx(
|
|
@mask=0b11000000,
|
|
@nargs=8,
|
|
@blob="00000000 05000000 00000000 00000004 c1bdf0ff c1bdf0ff 000080bf 000080bf",
|
|
);
|
|
jmp(@nargs=2, @blob="00010000 00000000");
|
|
pushf(@nargs=1, @blob="00008040");
|
|
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
|
|
pushf(@nargs=1, @blob="00006040");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
pushi(@nargs=1, @blob="e7030000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
pushi(@nargs=1, @blob="18000000");
|
|
divf(@blob="");
|
|
addf(@blob="");
|
|
etEx(
|
|
@mask=0b11000000,
|
|
@nargs=8,
|
|
@blob="00000000 05000000 00000000 00000004 c1bdf0ff c1bdf0ff 000080bf 000080bf",
|
|
);
|
|
etDist(@nargs=2, @blob="00000000 00004043");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
wait(@nargs=1, @blob="01000000");
|
|
{"04567"}: wait(@nargs=1, @blob="01000000");
|
|
pushi(@mask=0b1, @nargs=1, @blob="04000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
subi(@blob="");
|
|
seti(@mask=0b1, @nargs=1, @blob="04000000");
|
|
{"04567"}: pushi(@mask=0b1, @nargs=1, @blob="04000000");
|
|
{"04567"}: pushi(@nargs=1, @blob="01000000");
|
|
{"04567"}: subi(@blob="");
|
|
{"04567"}: seti(@mask=0b1, @nargs=1, @blob="04000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="00000000");
|
|
jmpNeq(@nargs=2, @blob="84faffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void BossCard2_00Bat2() {
|
|
stackAlloc(@nargs=1, @blob="14000000");
|
|
anmPlay(@nargs=2, @blob="00000000 83000000");
|
|
etNew(@nargs=1, @blob="01000000");
|
|
etAim(@nargs=2, @blob="01000000 03000000");
|
|
etSprite(@nargs=3, @blob="01000000 11000000 01000000");
|
|
etCount(@nargs=3, @blob="01000000 01000000 01000000");
|
|
etAngle(@nargs=3, @blob="01000000 00000000 00000000");
|
|
etSpeed(@nargs=3, @blob="01000000 cdcccc3f 0000803f");
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="01000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="01000000 01000000 00000000 00040000 78000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="01000000 03000000 00000000 00000004 c1bdf0ff c1bdf0ff 00000000 00000000",
|
|
);
|
|
diffI(
|
|
@mask=0b1,
|
|
@nargs=5,
|
|
@blob="00000000 0a000000 14000000 14000000 14000000",
|
|
);
|
|
diffI(
|
|
@mask=0b1,
|
|
@nargs=5,
|
|
@blob="04000000 5a000000 5a000000 32000000 32000000",
|
|
);
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
setf(@mask=0b1, @nargs=1, @blob="00008041");
|
|
jmp(@nargs=2, @blob="f0050000 00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushi(@nargs=1, @blob="20000000");
|
|
mulf(@blob="");
|
|
circlePos(
|
|
@mask=0b1111,
|
|
@nargs=4,
|
|
@blob="00000041 00004041 00381cc6 000080bf",
|
|
);
|
|
pushf(@mask=0b1, @nargs=1, @blob="00000041");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00341cc6");
|
|
addf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000041");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00004041");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00301cc6");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
subf(@blob="");
|
|
addf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00004041");
|
|
etOffsetAbs(@mask=0b110, @nargs=3, @blob="01000000 00000041 00004041");
|
|
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
leqi(@blob="");
|
|
jmpEq(@nargs=2, @blob="60000000 00000000");
|
|
etEx(
|
|
@mask=0b11000000,
|
|
@nargs=8,
|
|
@blob="01000000 02000000 00000000 00000002 3c000000 04000000 00000041 00004041",
|
|
);
|
|
jmp(@nargs=2, @blob="48000000 00000000");
|
|
etEx(
|
|
@mask=0b11000000,
|
|
@nargs=8,
|
|
@blob="01000000 02000000 00000000 00000002 28000000 04000000 00000041 00004041",
|
|
);
|
|
etEx(
|
|
@mask=0b10000,
|
|
@nargs=8,
|
|
@blob="01000000 04000000 00000000 00100000 04000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
|
|
pushi(@nargs=1, @blob="00000000");
|
|
eqi(@blob="");
|
|
jmpEq(@nargs=2, @blob="bc000000 00000000");
|
|
pushf(@nargs=1, @blob="0000803f");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="0000803f");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
etEx(
|
|
@mask=0b11000000,
|
|
@nargs=8,
|
|
@blob="01000000 05000000 00000000 00000004 c1bdf0ff c1bdf0ff 00008041 000080bf",
|
|
);
|
|
jmp(@nargs=2, @blob="a4000000 00000000");
|
|
pushf(@nargs=1, @blob="0000803f");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00004040");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
etEx(
|
|
@mask=0b11000000,
|
|
@nargs=8,
|
|
@blob="01000000 05000000 00000000 00000004 c1bdf0ff c1bdf0ff 00008041 000080bf",
|
|
);
|
|
pushf(@mask=0b1, @nargs=1, @blob="00008041");
|
|
pushf(@nargs=1, @blob="73d9a03e");
|
|
addf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00008041");
|
|
{"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00008041");
|
|
{"04567"}: pushf(@nargs=1, @blob="94d9a03d");
|
|
{"04567"}: addf(@blob="");
|
|
{"04567"}: setf(@mask=0b1, @nargs=1, @blob="00008041");
|
|
etDist(@nargs=2, @blob="01000000 00002043");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000");
|
|
etOn(@nargs=1, @blob="01000000");
|
|
diffWait(@nargs=4, @blob="04000000 04000000 02000000 02000000");
|
|
{"04567"}: pushi(@mask=0b1, @nargs=1, @blob="04000000");
|
|
{"04567"}: pushi(@nargs=1, @blob="08000000");
|
|
{"04567"}: subi(@blob="");
|
|
{"04567"}: seti(@mask=0b1, @nargs=1, @blob="04000000");
|
|
{"14567"}: pushi(@mask=0b1, @nargs=1, @blob="04000000");
|
|
{"14567"}: pushi(@nargs=1, @blob="04000000");
|
|
{"14567"}: subi(@blob="");
|
|
{"14567"}: seti(@mask=0b1, @nargs=1, @blob="04000000");
|
|
{"24567"}: pushi(@mask=0b1, @nargs=1, @blob="04000000");
|
|
{"24567"}: pushi(@nargs=1, @blob="02000000");
|
|
{"24567"}: subi(@blob="");
|
|
{"24567"}: seti(@mask=0b1, @nargs=1, @blob="04000000");
|
|
{"34567"}: pushi(@mask=0b1, @nargs=1, @blob="04000000");
|
|
{"34567"}: pushi(@nargs=1, @blob="02000000");
|
|
{"34567"}: subi(@blob="");
|
|
{"34567"}: seti(@mask=0b1, @nargs=1, @blob="04000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="00000000");
|
|
jmpNeq(@nargs=2, @blob="14faffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void BossCard2_00Bat3() {
|
|
stackAlloc(@nargs=1, @blob="14000000");
|
|
anmPlay(@nargs=2, @blob="00000000 83000000");
|
|
etNew(@nargs=1, @blob="02000000");
|
|
etAim(@nargs=2, @blob="02000000 03000000");
|
|
etSprite(@nargs=3, @blob="02000000 0c000000 04000000");
|
|
etCount(@nargs=3, @blob="02000000 01000000 01000000");
|
|
etAngle(@nargs=3, @blob="02000000 00000000 00000000");
|
|
etSpeed(@nargs=3, @blob="02000000 cdcccc3f 0000803f");
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="02000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="02000000 01000000 00000000 00040000 78000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="02000000 03000000 00000000 00000004 c1bdf0ff c1bdf0ff 00000000 00000000",
|
|
);
|
|
diffI(
|
|
@mask=0b1,
|
|
@nargs=5,
|
|
@blob="00000000 28000000 50000000 50000000 50000000",
|
|
);
|
|
diffI(
|
|
@mask=0b1,
|
|
@nargs=5,
|
|
@blob="04000000 5a000000 5a000000 32000000 32000000",
|
|
);
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
setf(@mask=0b1, @nargs=1, @blob="00008041");
|
|
jmp(@nargs=2, @blob="60050000 00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushi(@nargs=1, @blob="20000000");
|
|
mulf(@blob="");
|
|
circlePos(
|
|
@mask=0b1111,
|
|
@nargs=4,
|
|
@blob="00000041 00004041 00381cc6 000080bf",
|
|
);
|
|
pushf(@mask=0b1, @nargs=1, @blob="00000041");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00341cc6");
|
|
addf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000041");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00004041");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00301cc6");
|
|
pushf(@nargs=1, @blob="00000000");
|
|
subf(@blob="");
|
|
addf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00004041");
|
|
etOffsetAbs(@mask=0b110, @nargs=3, @blob="02000000 00000041 00004041");
|
|
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
leqi(@blob="");
|
|
jmpEq(@nargs=2, @blob="60000000 00000000");
|
|
etEx(
|
|
@mask=0b11000000,
|
|
@nargs=8,
|
|
@blob="02000000 02000000 00000000 00000002 3c000000 04000000 00000041 00004041",
|
|
);
|
|
jmp(@nargs=2, @blob="48000000 00000000");
|
|
etEx(
|
|
@mask=0b11000000,
|
|
@nargs=8,
|
|
@blob="02000000 02000000 00000000 00000002 28000000 04000000 00000041 00004041",
|
|
);
|
|
etEx(
|
|
@mask=0b10000,
|
|
@nargs=8,
|
|
@blob="02000000 04000000 00000000 00100000 04000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
|
|
pushi(@nargs=1, @blob="00000000");
|
|
eqi(@blob="");
|
|
jmpEq(@nargs=2, @blob="bc000000 00000000");
|
|
pushf(@nargs=1, @blob="0000803f");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="0000803f");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
etEx(
|
|
@mask=0b11000000,
|
|
@nargs=8,
|
|
@blob="02000000 05000000 00000000 00000004 c1bdf0ff c1bdf0ff 00008041 000080bf",
|
|
);
|
|
jmp(@nargs=2, @blob="a4000000 00000000");
|
|
pushf(@nargs=1, @blob="0000803f");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00004040");
|
|
mulf(@blob="");
|
|
addf(@blob="");
|
|
etEx(
|
|
@mask=0b11000000,
|
|
@nargs=8,
|
|
@blob="02000000 05000000 00000000 00000004 c1bdf0ff c1bdf0ff 00008041 000080bf",
|
|
);
|
|
pushf(@mask=0b1, @nargs=1, @blob="00008041");
|
|
pushf(@nargs=1, @blob="94d9a03d");
|
|
addf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00008041");
|
|
{"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00008041");
|
|
{"04567"}: pushf(@nargs=1, @blob="94d9a03d");
|
|
{"04567"}: addf(@blob="");
|
|
{"04567"}: setf(@mask=0b1, @nargs=1, @blob="00008041");
|
|
etDist(@nargs=2, @blob="02000000 00002043");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="02000000 00381cc6 00000000");
|
|
etOn(@nargs=1, @blob="02000000");
|
|
wait(@nargs=1, @blob="01000000");
|
|
{"04567"}: wait(@nargs=1, @blob="01000000");
|
|
pushi(@mask=0b1, @nargs=1, @blob="04000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
subi(@blob="");
|
|
seti(@mask=0b1, @nargs=1, @blob="04000000");
|
|
{"04567"}: pushi(@mask=0b1, @nargs=1, @blob="04000000");
|
|
{"04567"}: pushi(@nargs=1, @blob="01000000");
|
|
{"04567"}: subi(@blob="");
|
|
{"04567"}: seti(@mask=0b1, @nargs=1, @blob="04000000");
|
|
deci(@mask=0b1, @nargs=1, @blob="00000000");
|
|
jmpNeq(@nargs=2, @blob="a4faffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void BossCard3_00B() {
|
|
stackAlloc(@nargs=1, @blob="08000000");
|
|
setInvuln(@nargs=1, @blob="64000000");
|
|
enmKillAll(@blob="");
|
|
pushi(@mask=0b1, @nargs=1, @blob="fed8ffff");
|
|
pushi(@nargs=1, @blob="00000000");
|
|
eqi(@blob="");
|
|
jmpEq(@nargs=2, @blob="44000000 00000000");
|
|
etCancel(@nargs=1, @blob="00002044");
|
|
jmp(@nargs=2, @blob="2c000000 00000000");
|
|
etClear(@nargs=1, @blob="00002044");
|
|
spellEnd(@blob="");
|
|
killAllAsync(@blob="");
|
|
funcSet(@nargs=1, @blob="00000000");
|
|
laserCancel(@blob="");
|
|
setInterrupt(
|
|
@nargs=4,
|
|
@blob="00000000 dc050000 b80b0000 10000000 426f7373 43617264 345f3030 42000000",
|
|
);
|
|
setChapter(@nargs=1, @blob="2d000000");
|
|
pushi(@mask=0b1, @nargs=1, @blob="fed8ffff");
|
|
pushi(@nargs=1, @blob="00000000");
|
|
eqi(@blob="");
|
|
jmpEq(@nargs=2, @blob="d8000000 00000000");
|
|
dropClear(@blob="");
|
|
pushi(@mask=0b1, @nargs=1, @blob="25d9ffff");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
eqi(@blob="");
|
|
jmpEq(@nargs=2, @blob="2c000000 00000000");
|
|
dropMain(@nargs=1, @blob="05000000");
|
|
call(@nargs=1, @blob="10000000 426f7373 43617264 4974656d 00000000");
|
|
dropArea(@nargs=2, @blob="00004042 00004042");
|
|
dropItems(@blob="");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
|
|
playSound(@nargs=1, @blob="0f000000");
|
|
wait(@nargs=1, @blob="5a000000");
|
|
spell(
|
|
@nargs=4,
|
|
@blob="3e000000 b80b0000 20a10700 14000000 e6041ef2 724f04ab f96a0667 7d5b0403 e61885ac",
|
|
);
|
|
+60: // 60
|
|
nop(@blob="");
|
|
callAsync(@nargs=1, @blob="10000000 426f7373 43617264 335f3030 42617400");
|
|
callAsync(
|
|
@nargs=1,
|
|
@blob="14000000 426f7373 43617264 335f3030 42617432 00000000",
|
|
);
|
|
callAsync(
|
|
@nargs=1,
|
|
@blob="14000000 426f7373 43617264 335f3030 42617433 00000000",
|
|
);
|
|
callAsync(
|
|
@nargs=1,
|
|
@blob="14000000 426f7373 43617264 335f3030 42617434 00000000",
|
|
);
|
|
{"234567"}: callAsync(
|
|
@nargs=1,
|
|
@blob="14000000 426f7373 43617264 335f3030 42617435 00000000",
|
|
);
|
|
{"34567"}: callAsync(
|
|
@nargs=1,
|
|
@blob="14000000 426f7373 43617264 335f3030 42617436 00000000",
|
|
);
|
|
jmp(@nargs=2, @blob="34000000 a0000000");
|
|
+100: // 160
|
|
moveRand(@nargs=3, @blob="1e000000 00000000 0000803f");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="d0ffffff 3c000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void BossCard3_00Bat() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000000");
|
|
etNew(@nargs=1, @blob="00000000");
|
|
etAim(@nargs=2, @blob="00000000 03000000");
|
|
etSprite(@nargs=3, @blob="00000000 13000000 03000000");
|
|
etCount(@nargs=3, @blob="00000000 03000000 01000000");
|
|
etAngle(@nargs=3, @blob="00000000 00000000 00000000");
|
|
etSpeed(@nargs=3, @blob="00000000 0000803f 0000803f");
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
jmp(@nargs=2, @blob="a4030000 00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00008041");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00008041");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00008041");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00008041");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00008041");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00008041");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00000000");
|
|
pushf(@nargs=1, @blob="73d9a03e");
|
|
addf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000000");
|
|
validRad(@mask=0b1, @nargs=1, @blob="00000000");
|
|
wait(@nargs=1, @blob="18000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="60fcffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void BossCard3_00Bat2() {
|
|
stackAlloc(@nargs=1, @blob="00000000");
|
|
+90: // 90
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
etNew(@nargs=1, @blob="01000000");
|
|
etAim(@nargs=2, @blob="01000000 02000000");
|
|
etSprite(@nargs=3, @blob="01000000 0c000000 03000000");
|
|
etCountD(
|
|
@nargs=9,
|
|
@blob="01000000 10000000 20000000 20000000 20000000 01000000 01000000 01000000 01000000",
|
|
);
|
|
etAngle(@nargs=3, @blob="01000000 00000000 00000000");
|
|
etSpeed(@nargs=3, @blob="01000000 0000803f 0000803f");
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
etDist(@nargs=2, @blob="01000000 00000042");
|
|
jmp(@nargs=2, @blob="40000000 5a000000");
|
|
etOn(@nargs=1, @blob="01000000");
|
|
wait(@nargs=1, @blob="3c000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="c4ffffff 5a000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void BossCard3_00Bat3() {
|
|
stackAlloc(@nargs=1, @blob="00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
etNew(@nargs=1, @blob="02000000");
|
|
etAim(@nargs=2, @blob="02000000 05000000");
|
|
etSprite(@nargs=3, @blob="02000000 03000000 06000000");
|
|
etCountD(
|
|
@nargs=9,
|
|
@blob="02000000 08000000 20000000 20000000 20000000 01000000 01000000 01000000 01000000",
|
|
);
|
|
etAngle(@nargs=3, @blob="02000000 00000000 00000000");
|
|
etSpeed(@nargs=3, @blob="02000000 00000040 0000803f");
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="02000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
jmp(@nargs=2, @blob="40000000 00000000");
|
|
etOn(@nargs=1, @blob="02000000");
|
|
wait(@nargs=1, @blob="1e000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="c4ffffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void BossCard3_00Bat4() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000000");
|
|
etNew(@nargs=1, @blob="03000000");
|
|
etAim(@nargs=2, @blob="03000000 03000000");
|
|
etSprite(@nargs=3, @blob="03000000 13000000 01000000");
|
|
etCount(@nargs=3, @blob="03000000 03000000 01000000");
|
|
etAngle(@nargs=3, @blob="03000000 00000000 00000000");
|
|
etSpeed(@nargs=3, @blob="03000000 00000040 0000803f");
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="03000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
jmp(@nargs=2, @blob="a4030000 00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00008041");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="03000000 00381cc6 000080bf");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="03000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="03000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00008041");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="03000000 00381cc6 000080bf");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="03000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="03000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00008041");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="03000000 00381cc6 000080bf");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="03000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="03000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00008041");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="03000000 00381cc6 000080bf");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="03000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="03000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00008041");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="03000000 00381cc6 000080bf");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="03000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="03000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
|
|
pushf(@nargs=1, @blob="00008041");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="03000000 00381cc6 000080bf");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="03000000 00000000 00000000");
|
|
etOn(@nargs=1, @blob="03000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00000000");
|
|
pushf(@nargs=1, @blob="73d9a03e");
|
|
addf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00000000");
|
|
validRad(@mask=0b1, @nargs=1, @blob="00000000");
|
|
wait(@nargs=1, @blob="18000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="60fcffff 00000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void BossCard3_00Bat5() {
|
|
stackAlloc(@nargs=1, @blob="00000000");
|
|
+10: // 10
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
etNew(@nargs=1, @blob="04000000");
|
|
etAim(@nargs=2, @blob="04000000 05000000");
|
|
etSprite(@nargs=3, @blob="04000000 01000000 02000000");
|
|
etCount(@nargs=3, @blob="04000000 20000000 01000000");
|
|
etAngle(@nargs=3, @blob="04000000 00000000 00000000");
|
|
etSpeed(@nargs=3, @blob="04000000 00000040 0000803f");
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="04000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
jmp(@nargs=2, @blob="40000000 0a000000");
|
|
etOn(@nargs=1, @blob="04000000");
|
|
wait(@nargs=1, @blob="14000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="c4ffffff 0a000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void BossCard3_00Bat6() {
|
|
stackAlloc(@nargs=1, @blob="00000000");
|
|
+120: // 120
|
|
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
|
|
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
|
|
etNew(@nargs=1, @blob="05000000");
|
|
etAim(@nargs=2, @blob="05000000 02000000");
|
|
etSprite(@nargs=3, @blob="05000000 0c000000 01000000");
|
|
etCount(@nargs=3, @blob="05000000 20000000 01000000");
|
|
etAngle(@nargs=3, @blob="05000000 00000000 00000000");
|
|
etSpeed(@nargs=3, @blob="05000000 00000040 0000803f");
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="05000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="05000000 01000000 00000000 00000010 01000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
jmp(@nargs=2, @blob="40000000 78000000");
|
|
etOn(@nargs=1, @blob="05000000");
|
|
wait(@nargs=1, @blob="3c000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="c4ffffff 78000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void BossCard4_00B() {
|
|
stackAlloc(@nargs=1, @blob="10000000");
|
|
setInvuln(@nargs=1, @blob="64000000");
|
|
enmKillAll(@blob="");
|
|
pushi(@mask=0b1, @nargs=1, @blob="fed8ffff");
|
|
pushi(@nargs=1, @blob="00000000");
|
|
eqi(@blob="");
|
|
jmpEq(@nargs=2, @blob="44000000 00000000");
|
|
etCancel(@nargs=1, @blob="00002044");
|
|
jmp(@nargs=2, @blob="2c000000 00000000");
|
|
etClear(@nargs=1, @blob="00002044");
|
|
spellEnd(@blob="");
|
|
killAllAsync(@blob="");
|
|
funcSet(@nargs=1, @blob="00000000");
|
|
laserCancel(@blob="");
|
|
setInterrupt(
|
|
@nargs=4,
|
|
@blob="00000000 00000000 68100000 0c000000 426f7373 44656164 00000000",
|
|
);
|
|
setChapter(@nargs=1, @blob="2e000000");
|
|
pushi(@mask=0b1, @nargs=1, @blob="fed8ffff");
|
|
pushi(@nargs=1, @blob="00000000");
|
|
eqi(@blob="");
|
|
jmpEq(@nargs=2, @blob="d8000000 00000000");
|
|
dropClear(@blob="");
|
|
pushi(@mask=0b1, @nargs=1, @blob="25d9ffff");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
eqi(@blob="");
|
|
jmpEq(@nargs=2, @blob="2c000000 00000000");
|
|
dropMain(@nargs=1, @blob="05000000");
|
|
call(@nargs=1, @blob="10000000 426f7373 43617264 4974656d 00000000");
|
|
dropArea(@nargs=2, @blob="00004042 00004042");
|
|
dropItems(@blob="");
|
|
playSound(@nargs=1, @blob="0f000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
|
|
movePosTime(@nargs=4, @blob="5a000000 04000000 00000000 00000043");
|
|
moveLimitReset(@blob="");
|
|
wait(@nargs=1, @blob="5a000000");
|
|
spell(
|
|
@nargs=4,
|
|
@blob="42000000 68100000 20a10700 14000000 e6041ef2 724f7199 eeae1bf4 7d040806 676e85ac",
|
|
);
|
|
flagSet(@nargs=1, @blob="0c000000");
|
|
playSound(@nargs=1, @blob="29000000");
|
|
anmPlay(@nargs=2, @blob="02000000 13000000");
|
|
+60: // 60
|
|
nop(@blob="");
|
|
anmSelect(@nargs=1, @blob="02000000");
|
|
anmReset(@blob="");
|
|
anmSetSprite(@nargs=2, @blob="00000000 11000000");
|
|
anmSetSprite(@nargs=2, @blob="02000000 ffffffff");
|
|
wait(@nargs=1, @blob="3c000000");
|
|
callAsync(@nargs=1, @blob="10000000 426f7373 43617264 345f3030 42617400");
|
|
diffF(
|
|
@mask=0b1,
|
|
@nargs=5,
|
|
@blob="00008040 00000040 00000040 00004040 66666640",
|
|
);
|
|
jmp(@nargs=2, @blob="1c010000 3c000000");
|
|
moveVelTime(
|
|
@mask=0b1100,
|
|
@nargs=4,
|
|
@blob="28000000 03000000 00141cc6 00008040",
|
|
);
|
|
wait(@nargs=1, @blob="28000000");
|
|
moveVelTime(
|
|
@mask=0b100,
|
|
@nargs=4,
|
|
@blob="28000000 03000000 00141cc6 0000803f",
|
|
);
|
|
pushf(@mask=0b1, @nargs=1, @blob="00008040");
|
|
pushf(@nargs=1, @blob="66666640");
|
|
lessf(@blob="");
|
|
jmpEq(@nargs=2, @blob="64000000 3c000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="00008040");
|
|
pushf(@nargs=1, @blob="cdcc4c3e");
|
|
addf(@blob="");
|
|
setf(@mask=0b1, @nargs=1, @blob="00008040");
|
|
wait(@nargs=1, @blob="28000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="e8feffff 3c000000");
|
|
ret(@blob="");
|
|
}
|
|
|
|
|
|
void BossCard4_00Bat() {
|
|
stackAlloc(@nargs=1, @blob="04000000");
|
|
etNew(@nargs=1, @blob="00000000");
|
|
etAim(@nargs=2, @blob="00000000 05000000");
|
|
etSprite(@nargs=3, @blob="00000000 03000000 06000000");
|
|
etCount(@nargs=3, @blob="00000000 01000000 01000000");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 db0fc93d");
|
|
etSpeed(@nargs=3, @blob="00000000 cdcc4c3d 00000040");
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
diffI(
|
|
@mask=0b1,
|
|
@nargs=5,
|
|
@blob="00000000 2c010000 20030000 20030000 14050000",
|
|
);
|
|
etEx(
|
|
@mask=0b10000,
|
|
@nargs=8,
|
|
@blob="00000000 01000000 00000000 00100000 00000000 c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
etEx(
|
|
@nargs=8,
|
|
@blob="00000000 02000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
|
|
);
|
|
{"234567"}: etSpeed(@nargs=3, @blob="00000000 cdcc4c3e 00000000");
|
|
jmp(@nargs=2, @blob="bc000000 00000000");
|
|
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000");
|
|
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
|
|
pushf(@nargs=1, @blob="00008042");
|
|
mulf(@blob="");
|
|
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf");
|
|
etOn(@nargs=1, @blob="00000000");
|
|
diffWait(@nargs=4, @blob="03000000 03000000 03000000 03000000");
|
|
pushi(@nargs=1, @blob="01000000");
|
|
jmpNeq(@nargs=2, @blob="48ffffff 00000000");
|
|
ret(@blob="");
|
|
}
|