#pragma mapfile "utils/th11.eclm" meta {} void Boss() { stackAlloc(@nargs=1, @blob="04000000"); setBoss(@nargs=1, @blob="00000000"); anmSelect(@nargs=1, @blob="02000000"); anmSetMain(@nargs=2, @blob="00000000 00000000"); flagSet(@nargs=1, @blob="4c000000"); setHurtbox(@nargs=2, @blob="00004042 00004042"); setHitbox(@nargs=2, @blob="00004042 00004042"); setInvuln(@nargs=1, @blob="3c000000"); lifeSet(@nargs=1, @blob="b0360000"); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); setChapter(@nargs=1, @blob="18000000"); +60: // 60 dialogWait(@blob=""); playSound(@nargs=1, @blob="29000000"); fog(@nargs=2, @blob="00002043 00ffff00"); moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 0000c042"); lifeSet(@nargs=1, @blob="b0360000"); anmSelect(@nargs=1, @blob="00000000"); anmSetSprite(@nargs=2, @blob="01000000 5c000000"); anmSelect(@nargs=1, @blob="02000000"); call(@nargs=1, @blob="08000000 426f7373 31000000"); delete(@blob=""); } void Boss1() { stackAlloc(@nargs=1, @blob="00000000"); timerReset(@blob=""); lifeMarker(@nargs=3, @blob="00000000 00803b45 80a0ffff"); setInterrupt( @nargs=4, @blob="00000000 b80b0000 100e0000 0c000000 426f7373 43617264 31000000", ); setChapter(@nargs=1, @blob="18000000"); stars(@nargs=1, @blob="04000000"); moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); jmp(@nargs=2, @blob="b8000000 00000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); playSound(@nargs=1, @blob="29000000"); wait(@nargs=1, @blob="3c000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 31417431 00000000"); wait(@nargs=1, @blob="a0000000"); moveRand(@nargs=3, @blob="3c000000 04000000 00004040"); wait(@nargs=1, @blob="3c000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="4cffffff 00000000"); ret(@blob=""); } void Boss1At1() { stackAlloc(@nargs=1, @blob="10000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 13000000 06000000"); etCountD( @nargs=9, @blob="00000000 18000000 20000000 28000000 38000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeedD( @nargs=9, @blob="00000000 00000040 00000040 00000040 00000040 0000c03f 0000c03f 0000c03f 0000c03f", ); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff 8988083e f02374c9", ); etOffset(@nargs=3, @blob="00000000 00000000 000000c2"); pushi(@nargs=1, @blob="30000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00008040"); jmp(@nargs=2, @blob="a8000000 00000000"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="00000042"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); wait(@nargs=1, @blob="03000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="5cffffff 00000000"); ret(@blob=""); } void Boss2() { stackAlloc(@nargs=1, @blob="00000000"); timerReset(@blob=""); 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=""); lifeSet(@nargs=1, @blob="b8240000"); setInterrupt( @nargs=4, @blob="00000000 60090000 68100000 0c000000 426f7373 43617264 32000000", ); lifeMarker(@nargs=3, @blob="00000000 00001645 80a0ffff"); setChapter(@nargs=1, @blob="19000000"); stars(@nargs=1, @blob="03000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="f8000000 00000000"); setInvuln(@nargs=1, @blob="3c000000"); 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"); dropExtra(@nargs=2, @blob="01000000 0f000000"); dropExtra(@nargs=2, @blob="02000000 0f000000"); 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"); movePosTime(@nargs=4, @blob="3c000000 04000000 0000f0c2 00000043"); +60: // 60 nop(@blob=""); moveLimitReset(@blob=""); jmp(@nargs=2, @blob="b0050000 3c000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 32417431 00000000"); movePosTime(@nargs=4, @blob="a0000000 01000000 0000a043 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="db0fc93f 00000040"); moveVelRelTime(@nargs=4, @blob="a0000000 04000000 f02374c9 000000c0"); wait(@nargs=1, @blob="c8000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 32417431 00000000"); movePos(@nargs=2, @blob="0000a043 00000043"); movePosTime(@nargs=4, @blob="a0000000 01000000 0000a0c3 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="db0fc93f 00000040"); moveVelRelTime(@nargs=4, @blob="a0000000 04000000 f02374c9 000000c0"); wait(@nargs=1, @blob="c8000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 32417431 00000000"); movePos(@nargs=2, @blob="0000a0c3 00000043"); movePosTime(@nargs=4, @blob="a0000000 01000000 0000a043 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="db0fc93f 00000040"); moveVelRelTime(@nargs=4, @blob="a0000000 04000000 f02374c9 000000c0"); wait(@nargs=1, @blob="c8000000"); movePos(@nargs=2, @blob="0000a043 00000043"); movePosTime(@nargs=4, @blob="78000000 09000000 00000000 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="00000000 00000000"); wait(@nargs=1, @blob="78000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 32417432 00000000"); wait(@nargs=1, @blob="b4000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 32417431 00000000"); movePosTime(@nargs=4, @blob="a0000000 01000000 0000a0c3 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="db0fc93f 00000040"); moveVelRelTime(@nargs=4, @blob="a0000000 04000000 f02374c9 000000c0"); wait(@nargs=1, @blob="c8000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 32417431 00000000"); movePos(@nargs=2, @blob="0000a0c3 00000043"); movePosTime(@nargs=4, @blob="a0000000 01000000 0000a043 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="db0fc93f 00000040"); moveVelRelTime(@nargs=4, @blob="a0000000 04000000 f02374c9 000000c0"); wait(@nargs=1, @blob="c8000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 32417431 00000000"); movePos(@nargs=2, @blob="0000a043 00000043"); movePosTime(@nargs=4, @blob="a0000000 01000000 0000a0c3 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="db0fc93f 00000040"); moveVelRelTime(@nargs=4, @blob="a0000000 04000000 f02374c9 000000c0"); wait(@nargs=1, @blob="c8000000"); movePos(@nargs=2, @blob="0000a0c3 00000043"); movePosTime(@nargs=4, @blob="78000000 09000000 00000000 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="00000000 00000000"); wait(@nargs=1, @blob="78000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 32417432 00000000"); wait(@nargs=1, @blob="b4000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="54faffff 3c000000"); ret(@blob=""); } void Boss2At1() { stackAlloc(@nargs=1, @blob="04000000"); diffI( @mask=0b1, @nargs=5, @blob="00000000 0e000000 1c000000 1c000000 1c000000", ); jmp(@nargs=2, @blob="24010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00981bc6"); pushf(@nargs=1, @blob="db0f4940"); pushi(@nargs=1, @blob="02000000"); divf(@blob=""); addf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="20000000"); divf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); enmCreate( @nargs=6, @blob="0c000000 426f7373 32417431 62000000 00000000 00000000 64000000 0a000000 00000000", ); diffWait(@nargs=4, @blob="10000000 08000000 06000000 05000000"); deci(@mask=0b1, @nargs=1, @blob="00000000"); jmpNeq(@nargs=2, @blob="e0feffff 00000000"); ret(@blob=""); } void Boss2At1b() { stackAlloc(@nargs=1, @blob="0c000000"); flagSet(@nargs=1, @blob="20010000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 13000000 02000000"); etCount(@nargs=3, @blob="00000000 02000000 01000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00f41bc6 00000000"); etDist(@nargs=2, @blob="00000000 00000042"); pushi(@nargs=1, @blob="10000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); pushf(@nargs=1, @blob="cdcccc3d"); setf(@mask=0b1, @nargs=1, @blob="00008040"); jmp(@nargs=2, @blob="bc000000 00000000"); etEx( @mask=0b1000000, @nargs=8, @blob="00000000 01000000 00000000 04000000 50000000 c1bdf0ff 00008040 f02374c9", ); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushf(@nargs=1, @blob="3b70ce3b"); subf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="02000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="48ffffff 00000000"); delete(@blob=""); } void Boss2At2() { stackAlloc(@nargs=1, @blob="04000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 02000000"); etSprite(@nargs=3, @blob="00000000 11000000 00000000"); etCount(@nargs=3, @blob="00000000 10000000 01000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", ); diffI( @mask=0b1, @nargs=5, @blob="00000000 04000000 08000000 0c000000 10000000", ); jmp(@nargs=2, @blob="4c000000 00000000"); etOn(@nargs=1, @blob="00000000"); diffWait(@nargs=4, @blob="28000000 14000000 0f000000 0a000000"); deci(@mask=0b1, @nargs=1, @blob="00000000"); jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); ret(@blob=""); } void Boss3() { stackAlloc(@nargs=1, @blob="04000000"); timerReset(@blob=""); 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=""); lifeSet(@nargs=1, @blob="b0360000"); setInterrupt( @nargs=4, @blob="00000000 b80b0000 68100000 0c000000 426f7373 43617264 33000000", ); lifeMarker(@nargs=3, @blob="00000000 00803b45 80a0ffff"); setChapter(@nargs=1, @blob="1a000000"); stars(@nargs=1, @blob="02000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="f8000000 00000000"); setInvuln(@nargs=1, @blob="3c000000"); 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"); dropExtra(@nargs=2, @blob="01000000 0f000000"); dropExtra(@nargs=2, @blob="02000000 0f000000"); 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"); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); +60: // 60 nop(@blob=""); moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008041"); jmp(@nargs=2, @blob="d8000000 3c000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); playSound(@nargs=1, @blob="29000000"); wait(@nargs=1, @blob="3c000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 33417431 00000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 33417432 00000000"); wait(@nargs=1, @blob="a0000000"); moveRand(@nargs=3, @blob="3c000000 04000000 00004040"); wait(@nargs=1, @blob="3c000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="2cffffff 3c000000"); ret(@blob=""); } void Boss3At1() { stackAlloc(@nargs=1, @blob="10000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 13000000 06000000"); etCountD( @nargs=9, @blob="00000000 08000000 10000000 18000000 1c000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeedD( @nargs=9, @blob="00000000 00000040 00000040 00000040 00000040 0000c03f 0000c03f 0000c03f 0000c03f", ); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff cdcccc3d 5077d63c", ); etOffset(@nargs=3, @blob="00000000 00000000 000000c2"); pushi(@nargs=1, @blob="30000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00008040"); jmp(@nargs=2, @blob="a0000000 00000000"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="00000042"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); validRad(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="03000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="64ffffff 00000000"); ret(@blob=""); } void Boss3At2() { stackAlloc(@nargs=1, @blob="10000000"); etNew(@nargs=1, @blob="01000000"); etAim(@nargs=2, @blob="01000000 03000000"); etSprite(@nargs=3, @blob="01000000 13000000 06000000"); etCountD( @nargs=9, @blob="01000000 08000000 10000000 18000000 1c000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="01000000 00000000 00000000"); etSpeedD( @nargs=9, @blob="01000000 00000040 00000040 00000040 00000040 0000c03f 0000c03f 0000c03f 0000c03f", ); etEx( @nargs=8, @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="01000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="01000000 02000000 00000000 08000000 3c000000 c1bdf0ff cdcccc3d 5077d6bc", ); etOffset(@nargs=3, @blob="01000000 00000000 000000c2"); pushi(@nargs=1, @blob="30000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00008040"); jmp(@nargs=2, @blob="a0000000 00000000"); etOn(@nargs=1, @blob="01000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="00000042"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); validRad(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="03000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="64ffffff 00000000"); ret(@blob=""); } void Boss4() { stackAlloc(@nargs=1, @blob="00000000"); timerReset(@blob=""); 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=""); lifeSet(@nargs=1, @blob="04290000"); setInterrupt( @nargs=4, @blob="00000000 ac0d0000 68100000 0c000000 426f7373 43617264 34000000", ); lifeMarker(@nargs=3, @blob="00000000 00c05a45 80a0ffff"); setChapter(@nargs=1, @blob="19000000"); stars(@nargs=1, @blob="01000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="f8000000 00000000"); setInvuln(@nargs=1, @blob="3c000000"); 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"); dropExtra(@nargs=2, @blob="01000000 14000000"); dropExtra(@nargs=2, @blob="02000000 14000000"); 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"); movePosTime(@nargs=4, @blob="3c000000 04000000 0000f042 00000043"); +120: // 120 nop(@blob=""); moveLimitReset(@blob=""); jmp(@nargs=2, @blob="b0050000 78000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 34417431 00000000"); movePosTime(@nargs=4, @blob="50000000 01000000 0000a0c3 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="db0fc93f 00000040"); moveVelRelTime(@nargs=4, @blob="50000000 04000000 f02374c9 000000c0"); wait(@nargs=1, @blob="78000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 34417431 00000000"); movePos(@nargs=2, @blob="0000a0c3 00000043"); movePosTime(@nargs=4, @blob="50000000 01000000 0000a043 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="db0fc93f 00000040"); moveVelRelTime(@nargs=4, @blob="50000000 04000000 f02374c9 000000c0"); wait(@nargs=1, @blob="78000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 34417431 00000000"); movePos(@nargs=2, @blob="0000a043 00000043"); movePosTime(@nargs=4, @blob="50000000 01000000 0000a0c3 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="db0fc93f 00000040"); moveVelRelTime(@nargs=4, @blob="50000000 04000000 f02374c9 000000c0"); wait(@nargs=1, @blob="78000000"); movePos(@nargs=2, @blob="0000a0c3 00000043"); movePosTime(@nargs=4, @blob="3c000000 09000000 00000000 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="00000000 00000000"); wait(@nargs=1, @blob="3c000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 34417432 00000000"); wait(@nargs=1, @blob="64000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 34417431 00000000"); movePosTime(@nargs=4, @blob="50000000 01000000 0000a043 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="db0fc93f 00000040"); moveVelRelTime(@nargs=4, @blob="50000000 04000000 f02374c9 000000c0"); wait(@nargs=1, @blob="78000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 34417431 00000000"); movePos(@nargs=2, @blob="0000a043 00000043"); movePosTime(@nargs=4, @blob="50000000 01000000 0000a0c3 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="db0fc93f 00000040"); moveVelRelTime(@nargs=4, @blob="50000000 04000000 f02374c9 000000c0"); wait(@nargs=1, @blob="78000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 34417431 00000000"); movePos(@nargs=2, @blob="0000a0c3 00000043"); movePosTime(@nargs=4, @blob="50000000 01000000 0000a043 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="db0fc93f 00000040"); moveVelRelTime(@nargs=4, @blob="50000000 04000000 f02374c9 000000c0"); wait(@nargs=1, @blob="78000000"); movePos(@nargs=2, @blob="0000a043 00000043"); movePosTime(@nargs=4, @blob="3c000000 09000000 00000000 00000043"); movePosRel(@nargs=2, @blob="00000000 00000000"); moveVelRel(@nargs=2, @blob="00000000 00000000"); wait(@nargs=1, @blob="3c000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 34417432 00000000"); wait(@nargs=1, @blob="64000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="54faffff 78000000"); ret(@blob=""); } void Boss4At1() { stackAlloc(@nargs=1, @blob="04000000"); diffI( @mask=0b1, @nargs=5, @blob="00000000 09000000 0e000000 10000000 12000000", ); jmp(@nargs=2, @blob="24010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00981bc6"); pushf(@nargs=1, @blob="db0f4940"); pushi(@nargs=1, @blob="02000000"); divf(@blob=""); addf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="40000000"); divf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); enmCreate( @nargs=6, @blob="0c000000 426f7373 34417431 62000000 00000000 00000000 64000000 0a000000 00000000", ); diffWait(@nargs=4, @blob="0c000000 08000000 07000000 06000000"); deci(@mask=0b1, @nargs=1, @blob="00000000"); jmpNeq(@nargs=2, @blob="e0feffff 00000000"); ret(@blob=""); } void Boss4At1b() { stackAlloc(@nargs=1, @blob="0c000000"); flagSet(@nargs=1, @blob="20010000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 13000000 03000000"); etCount(@nargs=3, @blob="00000000 02000000 01000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00f41bc6 00000000"); etDist(@nargs=2, @blob="00000000 00000042"); pushi(@nargs=1, @blob="10000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); pushf(@nargs=1, @blob="cdcccc3d"); setf(@mask=0b1, @nargs=1, @blob="00008040"); jmp(@nargs=2, @blob="bc000000 00000000"); etEx( @mask=0b1000000, @nargs=8, @blob="00000000 01000000 00000000 04000000 50000000 c1bdf0ff 00008040 f02374c9", ); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushf(@nargs=1, @blob="3b70ce3b"); subf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="02000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="48ffffff 00000000"); delete(@blob=""); } void Boss4At2() { stackAlloc(@nargs=1, @blob="04000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 02000000"); etSprite(@nargs=3, @blob="00000000 11000000 03000000"); etCount(@nargs=3, @blob="00000000 10000000 01000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", ); diffI( @mask=0b1, @nargs=5, @blob="00000000 04000000 08000000 0a000000 0c000000", ); jmp(@nargs=2, @blob="4c000000 00000000"); etOn(@nargs=1, @blob="00000000"); diffWait(@nargs=4, @blob="28000000 14000000 11000000 0e000000"); deci(@mask=0b1, @nargs=1, @blob="00000000"); jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); ret(@blob=""); } void BossCard1() { stackAlloc(@nargs=1, @blob="14000000"); etProtectRange(@nargs=1, @blob="00000000"); enmKillAll(@blob=""); spellEnd(@blob=""); killAllAsync(@blob=""); funcSet(@nargs=1, @blob="00000000"); laserCancel(@blob=""); playSound(@nargs=1, @blob="0f000000"); enmCreate( @nargs=6, @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", ); setInvuln(@nargs=1, @blob="3c000000"); setInterrupt( @nargs=4, @blob="00000000 00000000 100e0000 08000000 426f7373 32000000", ); {"014567"}: spell( @nargs=4, @blob="8e000000 100e0000 20a10700 24000000 fd1401f1 724f1292 ec730c6f 68fc0afa e42f06d8 60af00b3 dcb1fea3 5831f816 575e759c", ); {"24567"}: spell( @nargs=4, @blob="8e000000 100e0000 20a10700 28000000 fd1401f1 724f1292 ec730c6f 68fc0afa e42f06eb 606402b0 dcacfc7f 58f4fae7 d4cdf4ea d31a71d8", ); {"34567"}: spell( @nargs=4, @blob="8e000000 100e0000 20a10700 18000000 fd1401f1 724f1b92 fb4b04aa 7b150594 f21d11f0 625c81e8", ); setChapter(@nargs=1, @blob="2b000000"); killAllAsync(@blob=""); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00002043"); moveLimit(@nargs=4, @blob="00000000 00000043 0000c043 00008043"); pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="3c000000 00000000"); dropMain(@nargs=1, @blob="05000000"); dropItems(@blob=""); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); playSound(@nargs=1, @blob="37000000"); anmPlayAbs(@nargs=2, @blob="02000000 18000000"); +120: // 120 nop(@blob=""); jmp(@nargs=2, @blob="d4080000 78000000"); anmPlay(@nargs=2, @blob="00000000 83000000"); playSound(@nargs=1, @blob="29000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="3c000000"); anmPlay(@nargs=2, @blob="00000000 b0000000"); playSound(@nargs=1, @blob="36000000"); pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushi(@nargs=1, @blob="08000000"); seti(@mask=0b1, @nargs=1, @blob="10000000"); jmp(@nargs=2, @blob="0c010000 78000000"); pushf(@nargs=1, @blob="0000803f"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="0000003f"); mulf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); enmCreate( @nargs=6, @blob="10000000 426f7373 43617264 31426f6d 62000000 00000000 000000c2 c8000000 0a000000 00000000", ); pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@nargs=1, @blob="d80f493f"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); deci(@mask=0b1, @nargs=1, @blob="10000000"); jmpNeq(@nargs=2, @blob="f8feffff 78000000"); wait(@nargs=1, @blob="64000000"); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="02000000"); geqi(@blob=""); jmpEq(@nargs=2, @blob="b4010000 78000000"); playSound(@nargs=1, @blob="36000000"); pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); diffI( @mask=0b1, @nargs=5, @blob="10000000 08000000 08000000 04000000 08000000", ); pushf(@nargs=1, @blob="db0fc940"); pushi(@mask=0b1, @nargs=1, @blob="10000000"); divf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); jmp(@nargs=2, @blob="c4000000 78000000"); pushf(@nargs=1, @blob="9a99993f"); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); enmCreate( @nargs=6, @blob="10000000 426f7373 43617264 31426f6d 62000000 00000000 000000c2 c8000000 0a000000 00000000", ); pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@mask=0b1, @nargs=1, @blob="00000041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); deci(@mask=0b1, @nargs=1, @blob="10000000"); jmpNeq(@nargs=2, @blob="40ffffff 78000000"); callAsync(@nargs=1, @blob="0c000000 426f7373 43617264 31417400"); wait(@nargs=1, @blob="3c000000"); diffWait(@nargs=4, @blob="50000000 50000000 50000000 4b000000"); anmPlay(@nargs=2, @blob="00000000 83000000"); playSound(@nargs=1, @blob="29000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="3c000000"); anmPlay(@nargs=2, @blob="00000000 b0000000"); playSound(@nargs=1, @blob="36000000"); pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushi(@nargs=1, @blob="08000000"); seti(@mask=0b1, @nargs=1, @blob="10000000"); jmp(@nargs=2, @blob="0c010000 78000000"); pushf(@nargs=1, @blob="0000803f"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="0000003f"); mulf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); enmCreate( @nargs=6, @blob="10000000 426f7373 43617264 31426f6d 62000000 00000000 000000c2 c8000000 0a000000 00000000", ); pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@nargs=1, @blob="d80f493f"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); deci(@mask=0b1, @nargs=1, @blob="10000000"); jmpNeq(@nargs=2, @blob="f8feffff 78000000"); wait(@nargs=1, @blob="64000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 31417432 00000000"); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="02000000"); geqi(@blob=""); jmpEq(@nargs=2, @blob="b4010000 78000000"); playSound(@nargs=1, @blob="36000000"); pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); diffI( @mask=0b1, @nargs=5, @blob="10000000 08000000 08000000 04000000 08000000", ); pushf(@nargs=1, @blob="db0fc940"); pushi(@mask=0b1, @nargs=1, @blob="10000000"); divf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); jmp(@nargs=2, @blob="c4000000 78000000"); pushf(@nargs=1, @blob="9a99993f"); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); enmCreate( @nargs=6, @blob="10000000 426f7373 43617264 31426f6d 62000000 00000000 000000c2 c8000000 0a000000 00000000", ); pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@mask=0b1, @nargs=1, @blob="00000041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); deci(@mask=0b1, @nargs=1, @blob="10000000"); jmpNeq(@nargs=2, @blob="40ffffff 78000000"); wait(@nargs=1, @blob="3c000000"); diffWait(@nargs=4, @blob="50000000 50000000 50000000 4b000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="30f7ffff 78000000"); jmp(@nargs=2, @blob="2c000000 78000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 78000000"); ret(@blob=""); } void BossCard1At() { stackAlloc(@nargs=1, @blob="0c000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000000"); diffF( @mask=0b1, @nargs=5, @blob="00008040 920a863e db0f493d db0f493d db0f493d", ); diffI( @mask=0b1, @nargs=5, @blob="08000000 23000000 d2000000 d2000000 d2000000", ); jmp(@nargs=2, @blob="70020000 00000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 01000000 06000000"); etCount(@nargs=3, @blob="02000000 03000000 01000000"); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeed(@nargs=3, @blob="02000000 00000000 0000c03f"); etEx( @nargs=8, @blob="02000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etOffset(@nargs=3, @blob="02000000 00000000 000000c2"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="40000000"); divf(@blob=""); addf(@blob=""); etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="0000003f"); mulf(@blob=""); pushf(@nargs=1, @blob="9a99993f"); addf(@blob=""); etSpeed(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); etOn(@nargs=1, @blob="02000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); diffWait(@nargs=4, @blob="06000000 01000000 01000000 01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="94fdffff 00000000"); ret(@blob=""); } void BossCard1At2() { stackAlloc(@nargs=1, @blob="0c000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000000"); diffF( @mask=0b1, @nargs=5, @blob="00008040 920a863e db0f493d db0f493d db0f493d", ); diffI( @mask=0b1, @nargs=5, @blob="08000000 23000000 d2000000 d2000000 d2000000", ); jmp(@nargs=2, @blob="70020000 00000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 01000000 06000000"); etCount(@nargs=3, @blob="02000000 03000000 01000000"); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeed(@nargs=3, @blob="02000000 00000000 0000c03f"); etEx( @nargs=8, @blob="02000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etOffset(@nargs=3, @blob="02000000 00000000 000000c2"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="40000000"); divf(@blob=""); addf(@blob=""); etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="0000003f"); mulf(@blob=""); pushf(@nargs=1, @blob="9a99993f"); addf(@blob=""); etSpeed(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); etOn(@nargs=1, @blob="02000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); subf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); diffWait(@nargs=4, @blob="06000000 01000000 01000000 01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="94fdffff 00000000"); ret(@blob=""); } void BossCard1Bomb() { stackAlloc(@nargs=1, @blob="0c000000"); anmSelect(@nargs=1, @blob="00000000"); anmSetSprite(@nargs=2, @blob="00000000 b5000000"); flagSet(@nargs=1, @blob="0d0a0000"); moveVel(@mask=0b11, @nargs=2, @blob="00f41bc6 00f01bc6"); setInterrupt( @nargs=4, @blob="00000000 00000000 00000000 14000000 426f7373 43617264 31426f6d 62457261 73650000", ); pushi(@nargs=1, @blob="00000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); callAsync( @nargs=1, @blob="14000000 426f7373 43617264 31426f6d 624f7574 00000000", ); pushi(@nargs=1, @blob="08000000"); setf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="0f000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 00000000"); setHitbox(@mask=0b11, @nargs=2, @blob="00008040 00008040"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="0c000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 00000000"); jmp(@nargs=2, @blob="8c000000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="01d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="28000000 00000000"); delete(@blob=""); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="78ffffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); delete(@blob=""); } void BossCard1BombErase() { stackAlloc(@nargs=1, @blob="00000000"); flagSet(@nargs=1, @blob="03000000"); anmSwitch(@nargs=2, @blob="00000000 01000000"); wait(@nargs=1, @blob="14000000"); delete(@blob=""); ret(@blob=""); } void BossCard1BombOut() { stackAlloc(@nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="e8010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="40ffffff"); pushi(@nargs=1, @blob="80000000"); subf(@blob=""); lessf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="c0000000"); pushi(@nargs=1, @blob="80000000"); addf(@blob=""); greaterf(@blob=""); or(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="80ffffff"); lessf(@blob=""); or(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="c0010000"); pushi(@nargs=1, @blob="80000000"); addf(@blob=""); greaterf(@blob=""); or(@blob=""); jmpEq(@nargs=2, @blob="40000000 00000000"); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="1cfeffff 00000000"); ret(@blob=""); } void BossCard2() { stackAlloc(@nargs=1, @blob="04000000"); {"04567"}: spell( @nargs=4, @blob="92000000 100e0000 20a10700 14000000 e3e40038 724f128e ec960e40 683e0a31 e61885ac", ); {"14567"}: spell( @nargs=4, @blob="92000000 100e0000 20a10700 14000000 e3e40038 724f1279 ecbd0e40 683e0a31 e61885ac", ); {"24567"}: spell( @nargs=4, @blob="92000000 100e0000 20a10700 14000000 e3e40038 724f12b5 ecbd0e40 683e0a31 e61885ac", ); {"34567"}: spell( @nargs=4, @blob="92000000 100e0000 20a10700 14000000 e3e40038 724f1281 eca80e40 683e0a31 e61885ac", ); setInterrupt( @nargs=4, @blob="00000000 00000000 100e0000 08000000 426f7373 33000000", ); enmKillAll(@blob=""); killAllAsync(@blob=""); moveReset(@blob=""); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00008042"); setInvuln(@nargs=1, @blob="3c000000"); playSound(@nargs=1, @blob="07000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="64000000 00000000"); enmCreate( @nargs=6, @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", ); jmp(@nargs=2, @blob="50000000 00000000"); enmCreate( @nargs=6, @blob="10000000 45636c5f 45744272 65616b5f 6e690000 00000000 00000000 0f270000 00000000 00000000", ); pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="3c000000 00000000"); dropMain(@nargs=1, @blob="05000000"); dropItems(@blob=""); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); setChapter(@nargs=1, @blob="2c000000"); playSound(@nargs=1, @blob="37000000"); anmPlayAbs(@nargs=2, @blob="02000000 18000000"); +120: // 120 nop(@blob=""); callAsync(@nargs=1, @blob="0c000000 426f7373 43617264 32617400"); jmp(@nargs=2, @blob="70000000 78000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="3c000000"); moveRand(@nargs=3, @blob="3c000000 00000000 0000c03f"); wait(@nargs=1, @blob="54010000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="94ffffff 78000000"); ret(@blob=""); } void BossCard2Bomb() { stackAlloc(@nargs=1, @blob="0c000000"); anmSelect(@nargs=1, @blob="00000000"); {"04567"}: anmSetSprite(@nargs=2, @blob="00000000 c3000000"); {"1234567"}: anmSetSprite(@nargs=2, @blob="00000000 b7000000"); flagSet(@nargs=1, @blob="0d0a0000"); moveVel(@nargs=2, @blob="db0fc93f 00002040"); playSound(@nargs=1, @blob="36000000"); setInterrupt( @nargs=4, @blob="00000000 00000000 00000000 14000000 426f7373 43617264 31426f6d 62457261 73650000", ); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="01000000"); leqi(@blob=""); jmpEq(@nargs=2, @blob="fc000000 00000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 01000000 06000000"); etCountD( @nargs=9, @blob="02000000 0c000000 10000000 10000000 10000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeedD( @nargs=9, @blob="02000000 6666e63f 00000040 00000040 00000040 0000c03f 0000c03f 0000c03f 0000c03f", ); jmp(@nargs=2, @blob="e4000000 00000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 01000000 06000000"); etCountD( @nargs=9, @blob="02000000 0c000000 10000000 11000000 13000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeedD( @nargs=9, @blob="02000000 6666e63f 00000040 00000040 00000040 0000c03f 0000c03f 0000c03f 0000c03f", ); etEx( @nargs=8, @blob="02000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="02000000 01000000 00000000 00000010 01000000 c1bdf0ff f02374c9 f02374c9", ); etDist(@nargs=2, @blob="02000000 00000042"); etAngle(@mask=0b10, @nargs=3, @blob="02000000 00381cc6 00000000"); etOn(@nargs=1, @blob="02000000"); pushi(@nargs=1, @blob="00000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); callAsync( @nargs=1, @blob="14000000 426f7373 43617264 31426f6d 624f7574 00000000", ); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="01000000"); geqi(@blob=""); jmpEq(@nargs=2, @blob="34020000 00000000"); pushi(@nargs=1, @blob="08000000"); setf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="0f000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 00000000"); setHitbox(@mask=0b11, @nargs=2, @blob="00008040 00008040"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="0c000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 00000000"); wait(@nargs=1, @blob="19000000"); pushi(@nargs=1, @blob="78000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 00000000"); setHitbox(@mask=0b11, @nargs=2, @blob="00008040 00008040"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushf(@nargs=1, @blob="6666a63f"); subf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 00000000"); jmp(@nargs=2, @blob="1c020000 00000000"); pushi(@nargs=1, @blob="08000000"); setf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="0f000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 00000000"); setHitbox(@mask=0b11, @nargs=2, @blob="00008040 00008040"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="09000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 00000000"); wait(@nargs=1, @blob="19000000"); pushi(@nargs=1, @blob="78000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 00000000"); setHitbox(@mask=0b11, @nargs=2, @blob="00008040 00008040"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushf(@nargs=1, @blob="cdcc4c3f"); subf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 00000000"); jmp(@nargs=2, @blob="8c000000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="01d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="28000000 00000000"); delete(@blob=""); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="78ffffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); delete(@blob=""); } void BossCard2BombOut() { stackAlloc(@nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="e8010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="40ffffff"); pushi(@nargs=1, @blob="80000000"); subf(@blob=""); lessf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="c0000000"); pushi(@nargs=1, @blob="80000000"); addf(@blob=""); greaterf(@blob=""); or(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="80ffffff"); lessf(@blob=""); or(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="c0010000"); pushi(@nargs=1, @blob="80000000"); addf(@blob=""); greaterf(@blob=""); or(@blob=""); jmpEq(@nargs=2, @blob="40000000 00000000"); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="1cfeffff 00000000"); ret(@blob=""); } void BossCard2at() { stackAlloc(@nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="b4040000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushi(@nargs=1, @blob="80000000"); mulf(@blob=""); pushi(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); enmCreateA( @mask=0b110, @nargs=6, @blob="10000000 426f7373 43617264 32426f6d 62000000 000080bf 000080bf 64000000 0a000000 00000000", ); diffWait(@nargs=4, @blob="0f000000 0f000000 0e000000 0d000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushi(@nargs=1, @blob="80000000"); mulf(@blob=""); pushi(@nargs=1, @blob="60ffffff"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); enmCreateA( @mask=0b110, @nargs=6, @blob="10000000 426f7373 43617264 32426f6d 62000000 000080bf 000080bf 64000000 0a000000 00000000", ); diffWait(@nargs=4, @blob="0f000000 0f000000 0e000000 0d000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushi(@nargs=1, @blob="80000000"); mulf(@blob=""); pushi(@nargs=1, @blob="a0000000"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); enmCreateA( @mask=0b110, @nargs=6, @blob="10000000 426f7373 43617264 32426f6d 62000000 000080bf 000080bf 64000000 0a000000 00000000", ); diffWait(@nargs=4, @blob="0f000000 0f000000 0e000000 0d000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushi(@nargs=1, @blob="80000000"); mulf(@blob=""); pushi(@nargs=1, @blob="a0ffffff"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); enmCreateA( @mask=0b110, @nargs=6, @blob="10000000 426f7373 43617264 32426f6d 62000000 000080bf 000080bf 64000000 0a000000 00000000", ); diffWait(@nargs=4, @blob="0f000000 0f000000 0e000000 0d000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushi(@nargs=1, @blob="80000000"); mulf(@blob=""); pushi(@nargs=1, @blob="60000000"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); addf(@blob=""); enmCreateA( @mask=0b110, @nargs=6, @blob="10000000 426f7373 43617264 32426f6d 62000000 000080bf 000080bf 64000000 0a000000 00000000", ); diffWait(@nargs=4, @blob="0f000000 0f000000 0e000000 0d000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="50fbffff 00000000"); ret(@blob=""); } void BossCard3() { 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=""); setInterrupt( @nargs=4, @blob="00000000 00000000 68100000 08000000 426f7373 34000000", ); setChapter(@nargs=1, @blob="2d000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="9c000000 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"); dropItems(@blob=""); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); playSound(@nargs=1, @blob="0f000000"); {"014567"}: spell( @nargs=4, @blob="96000000 68100000 20a10700 1c000000 fef50513 724f128c ecb40e7a 68ea0a17 e43606f2 6271009e 5fe67d24", ); {"24567"}: spell( @nargs=4, @blob="96000000 68100000 20a10700 28000000 fef50513 724f128e ec7f0e58 68ec0afa e6350620 60510262 dc63fc7f 58f4fae7 d4cdf4ea d31a71d8", ); {"34567"}: spell( @nargs=4, @blob="96000000 68100000 20a10700 10000000 fef50513 724f1ea4 e4531d9b 6ac48970", ); anmSelectedPlay(@nargs=1, @blob="00000000"); playSound(@nargs=1, @blob="37000000"); anmPlayAbs(@nargs=2, @blob="02000000 18000000"); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); +60: // 60 nop(@blob=""); anmPlay(@nargs=2, @blob="00000000 83000000"); playSound(@nargs=1, @blob="29000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="3c000000"); moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); {"014567"}: callAsync( @nargs=1, @blob="10000000 426f7373 43617264 33417431 00000000", ); {"234567"}: callAsync( @nargs=1, @blob="10000000 426f7373 43617264 33417431 68000000", ); callAsync(@nargs=1, @blob="0c000000 426f7373 43617264 33417400"); anmSelectedPlay(@nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="2c000000 3c000000"); wait(@nargs=1, @blob="64000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); ret(@blob=""); } void BossCard3At() { stackAlloc(@nargs=1, @blob="08000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="34080000"); seti(@mask=0b1, @nargs=1, @blob="04000000"); wait(@nargs=1, @blob="c8000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 01000000 0d000000"); etCountD( @nargs=9, @blob="02000000 0a000000 10000000 10000000 14000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeedD( @nargs=9, @blob="02000000 0000c03f 0000c03f 6666e63f 0000c03f 0000c03f 0000c03f 0000c03f 0000c03f", ); {"34567"}: etSprite(@nargs=3, @blob="02000000 01000000 04000000"); etEx( @nargs=8, @blob="02000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", ); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="01000000"); leqi(@blob=""); jmpEq(@nargs=2, @blob="60000000 00000000"); etEx( @nargs=8, @blob="02000000 01000000 00000000 08000000 f0000000 c1bdf0ff 00000000 2ee3cdbb", ); jmp(@nargs=2, @blob="48000000 00000000"); etEx( @nargs=8, @blob="02000000 01000000 00000000 08000000 f0000000 c1bdf0ff 00000000 2ee3cd3b", ); etOffset(@nargs=3, @blob="02000000 00000000 000000c2"); jmp(@nargs=2, @blob="c4010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="40000000"); divf(@blob=""); addf(@blob=""); etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); etOn(@nargs=1, @blob="02000000"); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="01000000"); leqi(@blob=""); jmpEq(@nargs=2, @blob="7c000000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="f90fc93d"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="64000000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="f90fc93d"); subf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); diffWait(@nargs=4, @blob="0f000000 0f000000 0f000000 0f000000"); deci(@mask=0b1, @nargs=1, @blob="04000000"); jmpNeq(@nargs=2, @blob="40feffff 00000000"); ret(@blob=""); } void BossCard3At1() { stackAlloc(@nargs=1, @blob="08000000"); playSound(@nargs=1, @blob="36000000"); diffI( @mask=0b1, @nargs=5, @blob="04000000 03000000 04000000 04000000 04000000", ); pushf(@nargs=1, @blob="960a063f"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@nargs=1, @blob="10ae003c"); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); pushi(@nargs=1, @blob="8c000000"); setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); pushf(@nargs=1, @blob="db0fc940"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); divf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="9c000000 00000000"); enmCreate( @nargs=6, @blob="10000000 426f7373 43617264 33426f6d 62000000 00000000 00000000 64000000 0a000000 00000000", ); pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); deci(@mask=0b1, @nargs=1, @blob="04000000"); jmpNeq(@nargs=2, @blob="68ffffff 00000000"); diffI( @mask=0b1, @nargs=5, @blob="04000000 03000000 04000000 04000000 04000000", ); pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="02000000"); divf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@nargs=1, @blob="10ae003c"); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); pushi(@nargs=1, @blob="40010000"); setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); jmp(@nargs=2, @blob="9c000000 00000000"); enmCreate( @nargs=6, @blob="10000000 426f7373 43617264 33426f6d 62000000 00000000 00000000 64000000 0a000000 00000000", ); pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); deci(@mask=0b1, @nargs=1, @blob="04000000"); jmpNeq(@nargs=2, @blob="68ffffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="0f000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); ret(@blob=""); } void BossCard3At1h() { stackAlloc(@nargs=1, @blob="08000000"); playSound(@nargs=1, @blob="36000000"); diffI( @mask=0b1, @nargs=5, @blob="04000000 03000000 04000000 04000000 05000000", ); pushf(@nargs=1, @blob="960a06bf"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@nargs=1, @blob="c0922bbc"); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); pushi(@nargs=1, @blob="8c000000"); setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); pushf(@nargs=1, @blob="db0fc940"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); divf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="9c000000 00000000"); enmCreate( @nargs=6, @blob="10000000 426f7373 43617264 33426f6d 62000000 00000000 00000000 64000000 0a000000 00000000", ); pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); deci(@mask=0b1, @nargs=1, @blob="04000000"); jmpNeq(@nargs=2, @blob="68ffffff 00000000"); diffI( @mask=0b1, @nargs=5, @blob="04000000 03000000 04000000 04000000 05000000", ); pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="02000000"); divf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@nargs=1, @blob="10ae003c"); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); pushi(@nargs=1, @blob="40010000"); setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); jmp(@nargs=2, @blob="9c000000 00000000"); enmCreate( @nargs=6, @blob="10000000 426f7373 43617264 33426f6d 62000000 00000000 00000000 64000000 0a000000 00000000", ); pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); deci(@mask=0b1, @nargs=1, @blob="04000000"); jmpNeq(@nargs=2, @blob="68ffffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="0f000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); ret(@blob=""); } void BossCard3Bomb() { stackAlloc(@nargs=1, @blob="0c000000"); anmSelect(@nargs=1, @blob="00000000"); anmSetSprite(@nargs=2, @blob="00000000 b5000000"); flagSet(@nargs=1, @blob="0d020000"); moveCircle( @mask=0b11, @nargs=4, @blob="00f41bc6 00f01bc6 00000000 00000000", ); moveCircleTime( @mask=0b1000, @nargs=5, @blob="f0000000 04000000 f02374c9 00ec1bc6 00000000", ); pushi(@nargs=1, @blob="08000000"); setf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="0e000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 00000000"); setHitbox(@mask=0b11, @nargs=2, @blob="00008040 00008040"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="0c000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 00000000"); +226: // 226 nop(@blob=""); playSound(@nargs=1, @blob="36000000"); pushi(@nargs=1, @blob="00000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); jmp(@nargs=2, @blob="8c000000 e2000000"); pushi(@mask=0b1, @nargs=1, @blob="01d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="28000000 e2000000"); delete(@blob=""); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="78ffffff e2000000"); jmp(@nargs=2, @blob="2c000000 e2000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff e2000000"); delete(@blob=""); } void BossCard3BombOut() { stackAlloc(@nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="e8010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="40ffffff"); pushi(@nargs=1, @blob="80000000"); subf(@blob=""); lessf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="c0000000"); pushi(@nargs=1, @blob="80000000"); addf(@blob=""); greaterf(@blob=""); or(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="80ffffff"); lessf(@blob=""); or(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="c0010000"); pushi(@nargs=1, @blob="80000000"); addf(@blob=""); greaterf(@blob=""); or(@blob=""); jmpEq(@nargs=2, @blob="40000000 00000000"); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="1cfeffff 00000000"); ret(@blob=""); } void BossCard4() { stackAlloc(@nargs=1, @blob="04000000"); timerReset(@blob=""); 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=""); setInvuln(@nargs=1, @blob="04010000"); moveReset(@blob=""); setInterrupt( @nargs=4, @blob="00000000 00000000 68100000 0c000000 426f7373 43617264 35000000", ); setChapter(@nargs=1, @blob="1b000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="b4000000 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"); 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"); flagSet(@nargs=1, @blob="02000000"); moveLimit(@nargs=4, @blob="00000000 00006043 00008c43 0000a043"); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00006043"); wait(@nargs=1, @blob="3c000000"); playSound(@nargs=1, @blob="29000000"); anmPlay(@nargs=2, @blob="00000000 c5000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="3c000000"); anmPlay(@nargs=2, @blob="00000000 c5000000"); wait(@nargs=1, @blob="3c000000"); anmPlay(@nargs=2, @blob="00000000 c5000000"); wait(@nargs=1, @blob="3c000000"); playSound(@nargs=1, @blob="37000000"); anmPlayAbs(@nargs=2, @blob="02000000 18000000"); {"014567"}: spell( @nargs=4, @blob="9a000000 68100000 20a10700 1c000000 f60b07d2 7eac1a31 e58f0eb5 68390a17 e43106e9 60b9009e 5fe67d24", ); {"234567"}: spell( @nargs=4, @blob="9a000000 68100000 20a10700 14000000 f60b16cb 70b112a1 ec910e7e 68cf0a3e e61885ac", ); setChapter(@nargs=1, @blob="2e000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="d80fc93f"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@nargs=1, @blob="0000803f"); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); enmCreate( @nargs=6, @blob="10000000 426f7373 43617264 34426f6d 62000000 00000000 00000000 64000000 0a000000 00000000", ); pushf(@nargs=1, @blob="d80fc9bf"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); pushf(@nargs=1, @blob="0000803f"); setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); enmCreate( @nargs=6, @blob="10000000 426f7373 43617264 34426f6d 62000000 00000000 00000000 64000000 0a000000 00000000", ); wait(@nargs=1, @blob="78000000"); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); wait(@nargs=1, @blob="3c000000"); moveLimit(@nargs=4, @blob="00000000 00000043 0000be43 00000042"); jmp(@nargs=2, @blob="48000000 00000000"); moveRand(@nargs=3, @blob="3c000000 04000000 00004040"); wait(@nargs=1, @blob="64000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="bcffffff 00000000"); ret(@blob=""); } void BossCard4At() { stackAlloc(@nargs=1, @blob="08000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="d2000000"); seti(@mask=0b1, @nargs=1, @blob="04000000"); wait(@nargs=1, @blob="c8000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 01000000 0d000000"); etCount(@nargs=3, @blob="02000000 10000000 01000000"); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeed(@nargs=3, @blob="02000000 0000c03f 0000c03f"); etEx( @nargs=8, @blob="02000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="02000000 01000000 00000000 08000000 f0000000 c1bdf0ff 00000000 2ee3cdbb", ); etOffset(@nargs=3, @blob="02000000 00000000 000000c2"); jmp(@nargs=2, @blob="04010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="40000000"); divf(@blob=""); addf(@blob=""); etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); etOn(@nargs=1, @blob="02000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="f90fc93d"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); wait(@nargs=1, @blob="0f000000"); deci(@mask=0b1, @nargs=1, @blob="04000000"); jmpNeq(@nargs=2, @blob="00ffffff 00000000"); ret(@blob=""); } void BossCard4Bomb() { stackAlloc(@nargs=1, @blob="0c000000"); anmSelect(@nargs=1, @blob="00000000"); anmSetSprite(@nargs=2, @blob="00000000 b9000000"); flagSet(@nargs=1, @blob="0d020000"); moveVel(@mask=0b11, @nargs=2, @blob="00f41bc6 00f01bc6"); playSound(@nargs=1, @blob="36000000"); pushi(@nargs=1, @blob="00000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); pushi(@nargs=1, @blob="08000000"); setf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="0e000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 00000000"); setHitbox(@mask=0b11, @nargs=2, @blob="00008040 00008040"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushi(@nargs=1, @blob="02000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 00000000"); callAsync( @nargs=1, @blob="14000000 426f7373 43617264 34426f6d 624f7574 00000000", ); jmp(@nargs=2, @blob="78010000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="01d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="14010000 00000000"); pushi(@nargs=1, @blob="78000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 00000000"); setHitbox(@mask=0b11, @nargs=2, @blob="00008040 00008040"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushf(@nargs=1, @blob="00004040"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 00000000"); jmp(@nargs=2, @blob="58000000 00000000"); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="8cfeffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); delete(@blob=""); } void BossCard4BombAt() { stackAlloc(@nargs=1, @blob="04000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 19000000 00000000"); etCountD( @nargs=9, @blob="02000000 18000000 30000000 30000000 30000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeedD( @nargs=9, @blob="02000000 0000803f 0000803f 0000803f 0000803f 0000c03f 0000c03f 0000c03f 0000c03f", ); pushi(@nargs=1, @blob="20000000"); setf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="e0000000"); lessf(@blob=""); jmpEq(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="1e000000"); jmp(@nargs=2, @blob="10010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="60000000"); lessf(@blob=""); jmpEq(@nargs=2, @blob="64000000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="00008041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); etDist(@mask=0b10, @nargs=2, @blob="02000000 00000000"); etAngle(@mask=0b10, @nargs=3, @blob="02000000 00381cc6 00000000"); etOn(@nargs=1, @blob="02000000"); wait(@nargs=1, @blob="3c000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="f4feffff 00000000"); ret(@blob=""); } void BossCard4BombAth() { stackAlloc(@nargs=1, @blob="08000000"); diffF( @mask=0b1, @nargs=5, @blob="00008040 898888bb 898888bb 898888bb 898808bc", ); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 19000000 01000000"); etCountD( @nargs=9, @blob="02000000 18000000 30000000 30000000 30000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeedD( @nargs=9, @blob="02000000 0000803f 0000803f 0000c03f 00000040 0000c03f 0000c03f 0000c03f 0000c03f", ); etEx( @nargs=8, @blob="02000000 00000000 00000000 00040000 f4010000 c1bdf0ff f02374c9 f02374c9", ); etEx( @mask=0b1000000, @nargs=8, @blob="02000000 01000000 00000000 08000000 78000000 c1bdf0ff 00008040 5077d63c", ); pushi(@nargs=1, @blob="20000000"); setf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="e0000000"); lessf(@blob=""); jmpEq(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="1e000000"); jmp(@nargs=2, @blob="1c010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="60000000"); lessf(@blob=""); jmpEq(@nargs=2, @blob="64000000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="00008041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); etDist(@mask=0b10, @nargs=2, @blob="02000000 00000000"); etAngle(@mask=0b10, @nargs=3, @blob="02000000 00381cc6 00000000"); etOn(@nargs=1, @blob="02000000"); diffWait(@nargs=4, @blob="3c000000 3c000000 3c000000 34000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="e8feffff 00000000"); ret(@blob=""); } void BossCard4BombOut() { stackAlloc(@nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="34020000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="40ffffff"); lessf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="c0000000"); greaterf(@blob=""); or(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="00000000"); lessf(@blob=""); or(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="c0010000"); greaterf(@blob=""); or(@blob=""); jmpEq(@nargs=2, @blob="f8000000 00000000"); anmPlay(@nargs=2, @blob="00000000 b0000000"); anmSwitch(@nargs=2, @blob="00000000 02000000"); moveVel(@nargs=2, @blob="00000000 00000000"); playSound(@nargs=1, @blob="36000000"); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); {"014567"}: callAsync( @nargs=1, @blob="10000000 426f7373 43617264 34426f6d 62417400", ); {"234567"}: callAsync( @nargs=1, @blob="14000000 426f7373 43617264 34426f6d 62417468 00000000", ); ret(@blob=""); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d0fdffff 00000000"); ret(@blob=""); } void BossCard5() { stackAlloc(@nargs=1, @blob="04000000"); timerReset(@blob=""); 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=""); setInvuln(@nargs=1, @blob="04010000"); moveReset(@blob=""); lifeSet(@nargs=1, @blob="64190000"); setInterrupt( @nargs=4, @blob="00000000 00000000 d0200000 0c000000 426f7373 44656164 00000000", ); lifeMarker(@nargs=3, @blob="00000000 0020cb45 80a0ffff"); stars(@nargs=1, @blob="00000000"); setChapter(@nargs=1, @blob="1c000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="fc000000 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"); dropExtra(@nargs=2, @blob="04000000 01000000"); dropExtra(@nargs=2, @blob="01000000 14000000"); dropExtra(@nargs=2, @blob="02000000 28000000"); 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"); flagSet(@nargs=1, @blob="02000000"); moveLimit(@nargs=4, @blob="00000000 00006043 00008c43 0000a043"); movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00006043"); wait(@nargs=1, @blob="3c000000"); playSound(@nargs=1, @blob="29000000"); anmPlay(@nargs=2, @blob="00000000 83000000"); anmSelectedPlay(@nargs=1, @blob="00000000"); timerReset(@blob=""); {"014567"}: spell( @nargs=4, @blob="9e000000 d0200000 20a10700 14000000 f60b07d2 7eac1334 ff9a007c 7a0c1e0a e61885ac", ); {"234567"}: spell( @nargs=4, @blob="9e000000 d0200000 20a10700 1c000000 f60b16e8 704f12a6 ec7a0e77 68d80a31 e4fd06f8 60b9009e 5fe67d24", ); setChapter(@nargs=1, @blob="2e000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 35417433 00000000"); wait(@nargs=1, @blob="3c000000"); playSound(@nargs=1, @blob="29000000"); pushi(@nargs=1, @blob="00000000"); seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 35417432 00000000"); wait(@nargs=1, @blob="c8000000"); playSound(@nargs=1, @blob="37000000"); anmPlayAbs(@nargs=2, @blob="02000000 18000000"); setScreenShake(@nargs=3, @blob="1e000000 00000000 03000000"); playSound(@nargs=1, @blob="29000000"); anmPlay(@nargs=2, @blob="00000000 c5000000"); wait(@nargs=1, @blob="1e000000"); setScreenShake(@nargs=3, @blob="5a000000 03000000 03000000"); wait(@nargs=1, @blob="5a000000"); setScreenShake(@nargs=3, @blob="1e000000 03000000 00000000"); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); pushf(@nargs=1, @blob="00000000"); setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); funcSet(@nargs=1, @blob="05000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 35417431 00000000"); enmCreate( @nargs=6, @blob="10000000 426f7373 43617264 35426f6d 62000000 00000000 00000000 64000000 0a000000 00000000", ); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); pushi(@nargs=1, @blob="00000000"); seti(@mask=0b1, @nargs=1, @blob="02d9ffff"); jmp(@nargs=2, @blob="c0030000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="02d9ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="bc000000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="1ed9ffff"); pushi(@nargs=1, @blob="88130000"); lessi(@blob=""); jmpEq(@nargs=2, @blob="54000000 00000000"); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="02d9ffff"); playSound(@nargs=1, @blob="36000000"); jmp(@nargs=2, @blob="30020000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="02d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="e0000000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="1ed9ffff"); pushi(@nargs=1, @blob="b80b0000"); lessi(@blob=""); jmpEq(@nargs=2, @blob="78000000 00000000"); pushi(@nargs=1, @blob="02000000"); seti(@mask=0b1, @nargs=1, @blob="02d9ffff"); playSound(@nargs=1, @blob="36000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 35417431 62000000"); jmp(@nargs=2, @blob="18010000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="02d9ffff"); pushi(@nargs=1, @blob="02000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="c8000000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="1ed9ffff"); pushi(@nargs=1, @blob="dc050000"); lessi(@blob=""); jmpEq(@nargs=2, @blob="78000000 00000000"); pushi(@nargs=1, @blob="03000000"); seti(@mask=0b1, @nargs=1, @blob="02d9ffff"); playSound(@nargs=1, @blob="36000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 35417431 62000000"); pushf(@mask=0b1, @nargs=1, @blob="004c1bc6"); pushf(@nargs=1, @blob="cdcc4c3f"); mulf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="004c1bc6"); pushf(@nargs=1, @blob="cdcc4c3f"); mulf(@blob=""); setHurtbox(@mask=0b11, @nargs=2, @blob="000080bf 000080bf"); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="44fcffff 00000000"); ret(@blob=""); } void BossCard5At() { stackAlloc(@nargs=1, @blob="08000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="d2000000"); seti(@mask=0b1, @nargs=1, @blob="04000000"); wait(@nargs=1, @blob="c8000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 01000000 0d000000"); etCount(@nargs=3, @blob="02000000 10000000 01000000"); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeed(@nargs=3, @blob="02000000 0000c03f 0000c03f"); etEx( @nargs=8, @blob="02000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="02000000 01000000 00000000 08000000 f0000000 c1bdf0ff 00000000 2ee3cdbb", ); etOffset(@nargs=3, @blob="02000000 00000000 000000c2"); jmp(@nargs=2, @blob="04010000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="40000000"); divf(@blob=""); addf(@blob=""); etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); etOn(@nargs=1, @blob="02000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="f90fc93d"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); wait(@nargs=1, @blob="0f000000"); deci(@mask=0b1, @nargs=1, @blob="04000000"); jmpNeq(@nargs=2, @blob="00ffffff 00000000"); ret(@blob=""); } void BossCard5At1() { stackAlloc(@nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="3c000000"); seti(@mask=0b1, @nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="78000000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); pushf(@nargs=1, @blob="6f12033c"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="00000000"); jmpNeq(@nargs=2, @blob="8cffffff 00000000"); ret(@blob=""); } void BossCard5At1b() { stackAlloc(@nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="3c000000"); seti(@mask=0b1, @nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="78000000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); pushf(@nargs=1, @blob="6f12833b"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="00000000"); jmpNeq(@nargs=2, @blob="8cffffff 00000000"); ret(@blob=""); } void BossCard5At2() { stackAlloc(@nargs=1, @blob="0c000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 01000000 02000000"); etCountD( @nargs=9, @blob="00000000 08000000 10000000 12000000 14000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 00040000 b80b0000 c1bdf0ff f02374c9 f02374c9", ); etProtectRange(@nargs=1, @blob="00000042"); pushi(@nargs=1, @blob="20000000"); setf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00008040"); diffF( @mask=0b1, @nargs=5, @blob="00000041 c9419f3e c9411f3e d5a90a3e 6392f53d", ); jmp(@nargs=2, @blob="04020000 00000000"); etDist(@mask=0b10, @nargs=2, @blob="00000000 00000000"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushf(@mask=0b1, @nargs=1, @blob="00000041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="40010000"); lessf(@blob=""); jmpEq(@nargs=2, @blob="7c000000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="00008041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="a8000000 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="01000000"); pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpNeq(@nargs=2, @blob="b4ffffff 00000000"); wait(@nargs=1, @blob="14000000"); etOn(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="0a000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="00feffff 00000000"); ret(@blob=""); } void BossCard5At3() { stackAlloc(@nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="d0200000"); seti(@mask=0b1, @nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="ac010000 00000000"); pushi(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="01000000"); subi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@mask=0b1, @nargs=1, @blob="00000000"); pushi(@nargs=1, @blob="1e000000"); pushi(@nargs=1, @blob="3c000000"); muli(@blob=""); lessi(@blob=""); jmpEq(@nargs=2, @blob="d8000000 00000000"); pushi(@nargs=1, @blob="04000000"); seti(@mask=0b1, @nargs=1, @blob="02d9ffff"); playSound(@nargs=1, @blob="36000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 35417431 62000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 35417431 62000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 35417431 62000000"); jmp(@nargs=2, @blob="58000000 00000000"); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="58feffff 00000000"); ret(@blob=""); } void BossCard5Bomb() { stackAlloc(@nargs=1, @blob="0c000000"); anmSelect(@nargs=1, @blob="00000000"); anmSetSprite(@nargs=2, @blob="00000000 bb000000"); flagSet(@nargs=1, @blob="0d020000"); playSound(@nargs=1, @blob="36000000"); pushi(@nargs=1, @blob="00000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); pushi(@nargs=1, @blob="08000000"); setf(@mask=0b1, @nargs=1, @blob="004c1bc6"); pushi(@nargs=1, @blob="0e000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 00000000"); setHitbox(@mask=0b11, @nargs=2, @blob="004c1bc6 004c1bc6"); pushf(@mask=0b1, @nargs=1, @blob="004c1bc6"); pushi(@nargs=1, @blob="06000000"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="004c1bc6"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="01000000"); pushi(@mask=0b1, @nargs=1, @blob="2cd9ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpNeq(@nargs=2, @blob="b4ffffff 00000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 35426f6d 62417400"); callAsync( @nargs=1, @blob="14000000 426f7373 43617264 35426f6d 62417432 00000000", ); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="01000000"); pushi(@mask=0b1, @nargs=1, @blob="2cd9ffff"); pushi(@nargs=1, @blob="01000000"); leqi(@blob=""); jmpNeq(@nargs=2, @blob="b4ffffff 00000000"); anmSwitch(@nargs=2, @blob="00000000 02000000"); pushi(@nargs=1, @blob="3c000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 00000000"); setHitbox(@mask=0b11, @nargs=2, @blob="004c1bc6 004c1bc6"); pushf(@mask=0b1, @nargs=1, @blob="004c1bc6"); pushf(@nargs=1, @blob="6666663f"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="004c1bc6"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="01000000"); pushi(@mask=0b1, @nargs=1, @blob="2cd9ffff"); pushi(@nargs=1, @blob="02000000"); leqi(@blob=""); jmpNeq(@nargs=2, @blob="b4ffffff 00000000"); anmSwitch(@nargs=2, @blob="00000000 03000000"); pushi(@nargs=1, @blob="3c000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 00000000"); setHitbox(@mask=0b11, @nargs=2, @blob="004c1bc6 004c1bc6"); pushf(@mask=0b1, @nargs=1, @blob="004c1bc6"); pushf(@nargs=1, @blob="6666663f"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="004c1bc6"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="01000000"); pushi(@mask=0b1, @nargs=1, @blob="2cd9ffff"); pushi(@nargs=1, @blob="03000000"); leqi(@blob=""); jmpNeq(@nargs=2, @blob="b4ffffff 00000000"); anmSwitch(@nargs=2, @blob="00000000 04000000"); pushi(@nargs=1, @blob="3c000000"); seti(@mask=0b1, @nargs=1, @blob="08000000"); jmp(@nargs=2, @blob="90000000 00000000"); setHitbox(@mask=0b11, @nargs=2, @blob="004c1bc6 004c1bc6"); pushf(@mask=0b1, @nargs=1, @blob="004c1bc6"); pushf(@nargs=1, @blob="cdcc4c3f"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="004c1bc6"); wait(@nargs=1, @blob="01000000"); deci(@mask=0b1, @nargs=1, @blob="08000000"); jmpNeq(@nargs=2, @blob="74ffffff 00000000"); jmp(@nargs=2, @blob="2c000000 00000000"); wait(@nargs=1, @blob="e8030000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); delete(@blob=""); } void BossCard5BombAt() { stackAlloc(@nargs=1, @blob="14000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 00000000 00000000"); etCount(@nargs=3, @blob="00000000 01000000 01000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeedD( @nargs=9, @blob="00000000 0000003f 0000003f 0000003f 0000803f 0000c03f 0000c03f 0000c03f 0000c03f", ); etEx( @nargs=8, @blob="00000000 00000000 00000000 00000010 01000000 c1bdf0ff f02374c9 f02374c9", ); pushf(@nargs=1, @blob="00000000"); setf(@mask=0b1, @nargs=1, @blob="00004041"); diffF( @mask=0b1, @nargs=5, @blob="00008041 fdad003e 35fa8e3d 35fa8e3d 35fa8e3d", ); jmp(@nargs=2, @blob="1c020000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="50000000"); divf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="004c1bc6"); pushi(@nargs=1, @blob="02000000"); divf(@blob=""); circlePos( @mask=0b1111, @nargs=4, @blob="00008040 00000041 00000000 000080bf", ); etOffset(@mask=0b110, @nargs=3, @blob="00000000 00008040 00000041"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="14000000"); divf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); etOn(@nargs=1, @blob="00000000"); diffWait(@nargs=4, @blob="06000000 03000000 03000000 02000000"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00008041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); validRad(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="e8fdffff 00000000"); ret(@blob=""); } void BossCard5BombAt2() { stackAlloc(@nargs=1, @blob="14000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 00000000 00000000"); etCount(@nargs=3, @blob="00000000 01000000 01000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeedD( @nargs=9, @blob="00000000 0000003f 0000003f 0000003f 00000040 0000c03f 0000c03f 0000c03f 0000c03f", ); etEx( @nargs=8, @blob="00000000 00000000 00000000 00000010 01000000 c1bdf0ff f02374c9 f02374c9", ); pushf(@nargs=1, @blob="dc0f4940"); setf(@mask=0b1, @nargs=1, @blob="00004041"); diffF( @mask=0b1, @nargs=5, @blob="00008041 fdad003e 35fa8e3d 35fa8e3d 35fa8e3d", ); jmp(@nargs=2, @blob="1c020000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="50000000"); divf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="004c1bc6"); pushi(@nargs=1, @blob="02000000"); divf(@blob=""); circlePos( @mask=0b1111, @nargs=4, @blob="00008040 00000041 00000000 000080bf", ); etOffset(@mask=0b110, @nargs=3, @blob="00000000 00008040 00000041"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="14000000"); divf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); etOn(@nargs=1, @blob="00000000"); diffWait(@nargs=4, @blob="06000000 03000000 03000000 02000000"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00008041"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); validRad(@mask=0b1, @nargs=1, @blob="00004041"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="e8fdffff 00000000"); ret(@blob=""); } void BossCard5BombOut() { stackAlloc(@nargs=1, @blob="00000000"); jmp(@nargs=2, @blob="0c020000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="40ffffff"); lessf(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); pushi(@nargs=1, @blob="c0000000"); greaterf(@blob=""); or(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="00000000"); lessf(@blob=""); or(@blob=""); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushi(@nargs=1, @blob="c0010000"); greaterf(@blob=""); or(@blob=""); jmpEq(@nargs=2, @blob="d0000000 00000000"); anmPlay(@nargs=2, @blob="00000000 b0000000"); anmSwitch(@nargs=2, @blob="00000000 02000000"); moveVel(@nargs=2, @blob="00000000 00000000"); playSound(@nargs=1, @blob="36000000"); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 35426f6d 62417400"); ret(@blob=""); wait(@nargs=1, @blob="01000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="f8fdffff 00000000"); ret(@blob=""); } void BossDead() { stackAlloc(@nargs=1, @blob="08000000"); flagSet(@nargs=1, @blob="8c000000"); anmPlay(@nargs=2, @blob="00000000 4c000000"); playSound(@nargs=1, @blob="12000000"); anmPlay(@nargs=2, @blob="00000000 8d000000"); moveVel(@mask=0b1, @nargs=2, @blob="00381cc6 cdcccc3e"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="68000000 00000000"); enmCreate( @nargs=6, @blob="10000000 45636c5f 45744272 65616b32 00000000 00000000 00000000 0f270000 00000000 00000000", ); jmp(@nargs=2, @blob="50000000 00000000"); enmCreate( @nargs=6, @blob="10000000 45636c5f 45744272 65616b32 5f6e6900 00000000 00000000 0f270000 00000000 00000000", ); gameSpeed(@nargs=1, @blob="0000003f"); +60: // 60 etClearAll(@blob=""); spellEnd(@blob=""); enmKillAll(@blob=""); gameSpeed(@nargs=1, @blob="0000803e"); setBoss(@nargs=1, @blob="ffffffff"); dropMain(@nargs=1, @blob="00000000"); setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000"); anmPlay(@nargs=2, @blob="00000000 4c000000"); anmPlay(@nargs=2, @blob="00000000 8e000000"); playSound(@nargs=1, @blob="12000000"); flagSet(@nargs=1, @blob="20000000"); moveVel(@nargs=2, @blob="00000000 00000000"); pushi(@nargs=1, @blob="28000000"); seti(@mask=0b1, @nargs=1, @blob="04000000"); jmp(@nargs=2, @blob="2c000000 3d000000"); +1: // 61 flagSet(@nargs=1, @blob="20000000"); deci(@mask=0b1, @nargs=1, @blob="04000000"); jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); gameSpeed(@nargs=1, @blob="0000803f"); delete(@blob=""); delete(@blob=""); }