commit 1c4dd0bc3f105cdc7972c5e4ecaf6b05818f7249 Author: Aubrey Taylor Date: Mon Oct 28 03:45:03 2024 -0600 probably enough for a first proper commit lol diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..ba865e1 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,3228 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "ab_glyph" +version = "0.2.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79faae4620f45232f599d9bc7b290f88247a0834162c4495ab2f02d60004adfb" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" + +[[package]] +name = "addr2line" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "adler32" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "android-activity" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" +dependencies = [ + "android-properties", + "bitflags 2.6.0", + "cc", + "cesu8", + "jni", + "jni-sys", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys 0.6.0+11769913", + "num_enum", + "thiserror", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anstream" +version = "0.6.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" + +[[package]] +name = "anstyle-parse" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" +dependencies = [ + "backtrace", +] + +[[package]] +name = "array-macro" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06e97b4e522f9e55523001238ac59d13a8603af57f69980de5d8de4bbbe8ada6" + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + +[[package]] +name = "ascii-canvas" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" +dependencies = [ + "term", +] + +[[package]] +name = "ash" +version = "0.38.0+1.3.281" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" +dependencies = [ + "libloading", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "backtrace" +version = "0.3.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide 0.8.0", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec 0.6.3", +] + +[[package]] +name = "bit-set" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0481a0e032742109b1133a095184ee93d88f3dc9e0d28a5d033dc77a073f44f" +dependencies = [ + "bit-vec 0.7.0", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bit-vec" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block2" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" +dependencies = [ + "objc2", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "bytemuck" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" + +[[package]] +name = "calloop" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" +dependencies = [ + "bitflags 2.6.0", + "log", + "polling", + "rustix", + "slab", + "thiserror", +] + +[[package]] +name = "calloop-wayland-source" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" +dependencies = [ + "calloop", + "rustix", + "wayland-backend", + "wayland-client", +] + +[[package]] +name = "cc" +version = "1.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9540e661f81799159abee814118cc139a2004b3a3aa3ea37724a1b66530b90e0" +dependencies = [ + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chireiden-thing" +version = "0.1.0" +dependencies = [ + "anyhow", + "bytemuck", + "env_logger", + "glam", + "log", + "macros", + "ndarray", + "nonoverlapping_interval_tree", + "num-derive", + "num-traits", + "pollster", + "rand", + "truth", + "wgpu", + "winit", +] + +[[package]] +name = "codespan" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3362992a0d9f1dd7c3d0e89e0ab2bb540b7a95fea8cd798090e758fda2899b5e" +dependencies = [ + "codespan-reporting", +] + +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "colorchoice" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" + +[[package]] +name = "com" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" +dependencies = [ + "com_macros", +] + +[[package]] +name = "com_macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" +dependencies = [ + "com_macros_support", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "com_macros_support" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "cursor-icon" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" + +[[package]] +name = "d3d12" +version = "22.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdbd1f579714e3c809ebd822c81ef148b1ceaeb3d535352afc73fd0c4c6a0017" +dependencies = [ + "bitflags 2.6.0", + "libloading", + "winapi", +] + +[[package]] +name = "deflate" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174" +dependencies = [ + "adler32", + "byteorder", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dlib" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading", +] + +[[package]] +name = "document-features" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" +dependencies = [ + "litrs", +] + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "dpi" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "ena" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" +dependencies = [ + "log", +] + +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum-map" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23595c55d463536d70a0cc71a521d4c1040a2e03816e455c38e8bb1f0981de98" +dependencies = [ + "array-macro", + "enum-map-derive", +] + +[[package]] +name = "enum-map-derive" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c450cf304c9e18d45db562025a14fb1ca0f5c769b6f609309f81d4c31de455" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "env_filter" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "humantime", + "log", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "gethostname" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +dependencies = [ + "libc", + "windows-targets 0.48.5", +] + +[[package]] +name = "getopts" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gif" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "gimli" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" + +[[package]] +name = "git-version" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad568aa3db0fcbc81f2f116137f263d7304f512a1209b35b85150d3ef88ad19" +dependencies = [ + "git-version-macro", +] + +[[package]] +name = "git-version-macro" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53010ccb100b96a67bc32c0175f0ed1426b31b655d562898e57325f81c023ac0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "gl_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" +dependencies = [ + "khronos_api", + "log", + "xml-rs", +] + +[[package]] +name = "glam" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28091a37a5d09b555cb6628fd954da299b536433834f5b8e59eba78e0cbbf8a" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "glow" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "glutin_wgl_sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a4e1951bbd9434a81aa496fe59ccc2235af3820d27b85f9314e279609211e2c" +dependencies = [ + "gl_generator", +] + +[[package]] +name = "gpu-alloc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" +dependencies = [ + "bitflags 2.6.0", + "gpu-alloc-types", +] + +[[package]] +name = "gpu-alloc-types" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "gpu-allocator" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd4240fc91d3433d5e5b0fc5b67672d771850dc19bbee03c1381e19322803d7" +dependencies = [ + "log", + "presser", + "thiserror", + "winapi", + "windows", +] + +[[package]] +name = "gpu-descriptor" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" +dependencies = [ + "bitflags 2.6.0", + "gpu-descriptor-types", + "hashbrown 0.14.5", +] + +[[package]] +name = "gpu-descriptor-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hassle-rs" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" +dependencies = [ + "bitflags 2.6.0", + "com", + "libc", + "libloading", + "thiserror", + "widestring", + "winapi", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + +[[package]] +name = "hexf-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "image" +version = "0.23.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "gif", + "num-iter", + "num-rational", + "num-traits", + "png", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", +] + +[[package]] +name = "is-terminal" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +dependencies = [ + "hermit-abi 0.4.0", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "khronos-egl" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" +dependencies = [ + "libc", + "libloading", + "pkg-config", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + +[[package]] +name = "lalrpop" +version = "0.19.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a1cbf952127589f2851ab2046af368fd20645491bb4b376f04b7f94d7a9837b" +dependencies = [ + "ascii-canvas", + "bit-set 0.5.3", + "diff", + "ena", + "is-terminal", + "itertools", + "lalrpop-util", + "petgraph", + "regex", + "regex-syntax 0.6.29", + "string_cache", + "term", + "tiny-keccak", + "unicode-xid", +] + +[[package]] +name = "lalrpop-util" +version = "0.19.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3c48237b9604c5a4702de6b824e02006c3214327564636aef27c1028a8fa0ed" +dependencies = [ + "regex", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.159" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" + +[[package]] +name = "libloading" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +dependencies = [ + "cfg-if", + "windows-targets 0.52.6", +] + +[[package]] +name = "libredox" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" +dependencies = [ + "bitflags 2.6.0", + "libc", + "redox_syscall 0.4.1", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "logos" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf8b031682c67a8e3d5446840f9573eb7fe26efe7ec8d195c9ac4c0647c502f1" +dependencies = [ + "logos-derive", +] + +[[package]] +name = "logos-derive" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d849148dbaf9661a6151d1ca82b13bb4c4c128146a88d05253b38d4e2f496c" +dependencies = [ + "beef", + "fnv", + "proc-macro2", + "quote", + "regex-syntax 0.6.29", + "syn 1.0.109", +] + +[[package]] +name = "macros" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", + "truth", +] + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "matrixmultiply" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a" +dependencies = [ + "autocfg", + "rawpointer", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memmap2" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +dependencies = [ + "libc", +] + +[[package]] +name = "metal" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" +dependencies = [ + "bitflags 2.6.0", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", + "paste", +] + +[[package]] +name = "miniz_oxide" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" +dependencies = [ + "adler32", +] + +[[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", +] + +[[package]] +name = "naga" +version = "22.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bd5a652b6faf21496f2cfd88fc49989c8db0825d1f6746b1a71a6ede24a63ad" +dependencies = [ + "arrayvec", + "bit-set 0.6.0", + "bitflags 2.6.0", + "cfg_aliases 0.1.1", + "codespan-reporting", + "hexf-parse", + "indexmap 2.5.0", + "log", + "rustc-hash", + "spirv", + "termcolor", + "thiserror", + "unicode-xid", +] + +[[package]] +name = "ndarray" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "882ed72dce9365842bf196bdeedf5055305f11fc8c03dee7bb0194a6cad34841" +dependencies = [ + "matrixmultiply", + "num-complex", + "num-integer", + "num-traits", + "portable-atomic", + "portable-atomic-util", + "rawpointer", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.6.0", + "jni-sys", + "log", + "ndk-sys 0.6.0+11769913", + "num_enum", + "raw-window-handle", + "thiserror", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.5.0+25.2.9519653" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nonoverlapping_interval_tree" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c57f881f89f2a30a1bd6c75bc4df573158ec8f49e1ae833411ab92e3ebdcf330" + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_enum" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] + +[[package]] +name = "objc-sys" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" + +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +dependencies = [ + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-app-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +dependencies = [ + "bitflags 2.6.0", + "block2", + "libc", + "objc2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-image" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-core-location" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" +dependencies = [ + "block2", + "objc2", + "objc2-contacts", + "objc2-foundation", +] + +[[package]] +name = "objc2-encode" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" + +[[package]] +name = "objc2-foundation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" +dependencies = [ + "bitflags 2.6.0", + "block2", + "dispatch", + "libc", + "objc2", +] + +[[package]] +name = "objc2-link-presentation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" +dependencies = [ + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-symbols" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "object" +version = "0.36.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "orbclient" +version = "0.3.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" +dependencies = [ + "libredox 0.0.2", +] + +[[package]] +name = "owned_ttf_parser" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "490d3a563d3122bf7c911a59b0add9389e5ec0f5f0c3ac6b91ff235a0e6a7f90" +dependencies = [ + "ttf-parser", +] + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.6", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "petgraph" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +dependencies = [ + "fixedbitset", + "indexmap 2.5.0", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pkg-config" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" + +[[package]] +name = "png" +version = "0.16.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "deflate", + "miniz_oxide 0.3.7", +] + +[[package]] +name = "polling" +version = "3.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi 0.4.0", + "pin-project-lite", + "rustix", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "pollster" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" + +[[package]] +name = "portable-atomic" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" + +[[package]] +name = "portable-atomic-util" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcdd8420072e66d54a407b3316991fe946ce3ab1083a7f575b2463866624704d" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "presser" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" + +[[package]] +name = "proc-macro-crate" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "profiling" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" + +[[package]] +name = "quick-xml" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "range-alloc" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "355ae415ccd3a04315d3f8246e86d67689ea74d88d915576e1589a351062a13b" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom", + "libredox 0.1.3", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax 0.8.5", +] + +[[package]] +name = "regex-automata" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.5", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "renderdoc-sys" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustix" +version = "0.38.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sctk-adwaita" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" +dependencies = [ + "ab_glyph", + "log", + "memmap2", + "smithay-client-toolkit", + "tiny-skia", +] + +[[package]] +name = "serde" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "serde_json" +version = "1.0.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slotmap" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "smithay-client-toolkit" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" +dependencies = [ + "bitflags 2.6.0", + "calloop", + "calloop-wayland-source", + "cursor-icon", + "libc", + "log", + "memmap2", + "rustix", + "thiserror", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", +] + +[[package]] +name = "smol_str" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" +dependencies = [ + "serde", +] + +[[package]] +name = "spirv" +version = "0.3.0+sdk-1.3.268.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strict-num" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared", + "precomputed-hash", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strum" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tiny-skia" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" + +[[package]] +name = "toml_edit" +version = "0.22.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +dependencies = [ + "indexmap 2.5.0", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" + +[[package]] +name = "truth" +version = "0.5.2" +source = "git+https://github.com/ExpHP/truth#0f32abf274fb7949b32be9c43c88766907a696e2" +dependencies = [ + "arrayvec", + "atty", + "byteorder", + "codespan", + "codespan-reporting", + "encoding_rs", + "enum-map", + "getopts", + "git-version", + "image", + "indexmap 1.9.3", + "lalrpop", + "lalrpop-util", + "lazy_static", + "logos", + "regex", + "serde", + "serde_json", + "strsim", + "strum", + "thiserror", + "walkdir", +] + +[[package]] +name = "ttf-parser" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be21190ff5d38e8b4a2d3b6a3ae57f612cc39c96e83cedeaf7abc338a8bac4a" + +[[package]] +name = "unicode-ident" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +dependencies = [ + "cfg-if", + "once_cell", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.79", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" + +[[package]] +name = "wayland-backend" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6" +dependencies = [ + "cc", + "downcast-rs", + "rustix", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3f45d1222915ef1fd2057220c1d9d9624b7654443ea35c3877f7a52bd0a5a2d" +dependencies = [ + "bitflags 2.6.0", + "rustix", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-csd-frame" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" +dependencies = [ + "bitflags 2.6.0", + "cursor-icon", + "wayland-backend", +] + +[[package]] +name = "wayland-cursor" +version = "0.31.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a94697e66e76c85923b0d28a0c251e8f0666f58fc47d316c0f4da6da75d37cb" +dependencies = [ + "rustix", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-protocols" +version = "0.32.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b5755d77ae9040bb872a25026555ce4cb0ae75fd923e90d25fba07d81057de0" +dependencies = [ + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-plasma" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a0a41a6875e585172495f7a96dfa42ca7e0213868f4f15c313f7c33221a7eff" +dependencies = [ + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dad87b5fd1b1d3ca2f792df8f686a2a11e3fe1077b71096f7a175ab699f89109" +dependencies = [ + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597f2001b2e5fc1121e3d5b9791d3e78f05ba6bfa4641053846248e3a13661c3" +dependencies = [ + "proc-macro2", + "quick-xml", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efa8ac0d8e8ed3e3b5c9fc92c7881406a268e11555abe36493efabe649a29e09" +dependencies = [ + "dlib", + "log", + "once_cell", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "weezl" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" + +[[package]] +name = "wgpu" +version = "22.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d1c4ba43f80542cf63a0a6ed3134629ae73e8ab51e4b765a67f3aa062eb433" +dependencies = [ + "arrayvec", + "cfg_aliases 0.1.1", + "document-features", + "js-sys", + "log", + "naga", + "parking_lot", + "profiling", + "raw-window-handle", + "smallvec", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-core" +version = "22.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0348c840d1051b8e86c3bcd31206080c5e71e5933dabd79be1ce732b0b2f089a" +dependencies = [ + "arrayvec", + "bit-vec 0.7.0", + "bitflags 2.6.0", + "cfg_aliases 0.1.1", + "document-features", + "indexmap 2.5.0", + "log", + "naga", + "once_cell", + "parking_lot", + "profiling", + "raw-window-handle", + "rustc-hash", + "smallvec", + "thiserror", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-hal" +version = "22.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6bbf4b4de8b2a83c0401d9e5ae0080a2792055f25859a02bf9be97952bbed4f" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash", + "bit-set 0.6.0", + "bitflags 2.6.0", + "block", + "cfg_aliases 0.1.1", + "core-graphics-types", + "d3d12", + "glow", + "glutin_wgl_sys", + "gpu-alloc", + "gpu-allocator", + "gpu-descriptor", + "hassle-rs", + "js-sys", + "khronos-egl", + "libc", + "libloading", + "log", + "metal", + "naga", + "ndk-sys 0.5.0+25.2.9519653", + "objc", + "once_cell", + "parking_lot", + "profiling", + "range-alloc", + "raw-window-handle", + "renderdoc-sys", + "rustc-hash", + "smallvec", + "thiserror", + "wasm-bindgen", + "web-sys", + "wgpu-types", + "winapi", +] + +[[package]] +name = "wgpu-types" +version = "22.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc9d91f0e2c4b51434dfa6db77846f2793149d8e73f800fa2e41f52b8eac3c5d" +dependencies = [ + "bitflags 2.6.0", + "js-sys", + "web-sys", +] + +[[package]] +name = "widestring" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winit" +version = "0.30.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0be9e76a1f1077e04a411f0b989cbd3c93339e1771cb41e71ac4aee95bfd2c67" +dependencies = [ + "ahash", + "android-activity", + "atomic-waker", + "bitflags 2.6.0", + "block2", + "bytemuck", + "calloop", + "cfg_aliases 0.2.1", + "concurrent-queue", + "core-foundation", + "core-graphics", + "cursor-icon", + "dpi", + "js-sys", + "libc", + "memmap2", + "ndk", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "orbclient", + "percent-encoding", + "pin-project", + "raw-window-handle", + "redox_syscall 0.4.1", + "rustix", + "sctk-adwaita", + "smithay-client-toolkit", + "smol_str", + "tracing", + "unicode-segmentation", + "wasm-bindgen", + "wasm-bindgen-futures", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-plasma", + "web-sys", + "web-time", + "windows-sys 0.52.0", + "x11-dl", + "x11rb", + "xkbcommon-dl", +] + +[[package]] +name = "winnow" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +dependencies = [ + "memchr", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" +dependencies = [ + "as-raw-xcb-connection", + "gethostname", + "libc", + "libloading", + "once_cell", + "rustix", + "x11rb-protocol", +] + +[[package]] +name = "x11rb-protocol" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" + +[[package]] +name = "xcursor" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61" + +[[package]] +name = "xkbcommon-dl" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.6.0", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" + +[[package]] +name = "xml-rs" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26" + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..fc81d05 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "chireiden-thing" +version = "0.1.0" +edition = "2021" + +[dependencies] +env_logger = "0.11.5" +log = "0.4.22" +pollster = "0.3.0" +wgpu = "22.1.0" +winit = "0.30.5" +macros = { path = "macros" } +ndarray = "0.16.1" +num-derive = "0.4.2" +num-traits = "0.2.19" +rand = "0.8.5" +truth = { git = "https://github.com/ExpHP/truth" } +anyhow = { version = "1.0.89", features = ["backtrace"] } +glam = { version = "0.29.0", features = ["bytemuck"] } +bytemuck = { version = "1.18.0", features = ["derive"] } +nonoverlapping_interval_tree = "0.1.5" diff --git a/assets/ascii.anm b/assets/ascii.anm new file mode 100644 index 0000000..5ea5b64 Binary files /dev/null and b/assets/ascii.anm differ diff --git a/assets/bullet.anm b/assets/bullet.anm new file mode 100644 index 0000000..11fa1c5 Binary files /dev/null and b/assets/bullet.anm differ diff --git a/assets/default.ecl b/assets/default.ecl new file mode 100644 index 0000000..68cf468 Binary files /dev/null and b/assets/default.ecl differ diff --git a/assets/demo0.rpy b/assets/demo0.rpy new file mode 100644 index 0000000..9aa304d Binary files /dev/null and b/assets/demo0.rpy differ diff --git a/assets/demo1.rpy b/assets/demo1.rpy new file mode 100644 index 0000000..9563aae Binary files /dev/null and b/assets/demo1.rpy differ diff --git a/assets/demo2.rpy b/assets/demo2.rpy new file mode 100644 index 0000000..ab4c5ba Binary files /dev/null and b/assets/demo2.rpy differ diff --git a/assets/demo3.rpy b/assets/demo3.rpy new file mode 100644 index 0000000..cc7fe53 Binary files /dev/null and b/assets/demo3.rpy differ diff --git a/assets/e00.anm b/assets/e00.anm new file mode 100644 index 0000000..be59d56 Binary files /dev/null and b/assets/e00.anm differ diff --git a/assets/e00.msg b/assets/e00.msg new file mode 100644 index 0000000..035b583 Binary files /dev/null and b/assets/e00.msg differ diff --git a/assets/e01.anm b/assets/e01.anm new file mode 100644 index 0000000..a49c9f0 Binary files /dev/null and b/assets/e01.anm differ diff --git a/assets/e01.msg b/assets/e01.msg new file mode 100644 index 0000000..9fbfe22 Binary files /dev/null and b/assets/e01.msg differ diff --git a/assets/e02.anm b/assets/e02.anm new file mode 100644 index 0000000..d079390 Binary files /dev/null and b/assets/e02.anm differ diff --git a/assets/e02.msg b/assets/e02.msg new file mode 100644 index 0000000..6a24373 Binary files /dev/null and b/assets/e02.msg differ diff --git a/assets/e03.anm b/assets/e03.anm new file mode 100644 index 0000000..d8b17e1 Binary files /dev/null and b/assets/e03.anm differ diff --git a/assets/e03.msg b/assets/e03.msg new file mode 100644 index 0000000..e0d3a19 Binary files /dev/null and b/assets/e03.msg differ diff --git a/assets/e04.anm b/assets/e04.anm new file mode 100644 index 0000000..9ed3def Binary files /dev/null and b/assets/e04.anm differ diff --git a/assets/e04.msg b/assets/e04.msg new file mode 100644 index 0000000..891e75d Binary files /dev/null and b/assets/e04.msg differ diff --git a/assets/e05.anm b/assets/e05.anm new file mode 100644 index 0000000..23e99da Binary files /dev/null and b/assets/e05.anm differ diff --git a/assets/e05.msg b/assets/e05.msg new file mode 100644 index 0000000..900ea00 Binary files /dev/null and b/assets/e05.msg differ diff --git a/assets/e06.anm b/assets/e06.anm new file mode 100644 index 0000000..ec0a054 Binary files /dev/null and b/assets/e06.anm differ diff --git a/assets/e06.msg b/assets/e06.msg new file mode 100644 index 0000000..0c4df67 Binary files /dev/null and b/assets/e06.msg differ diff --git a/assets/e07.anm b/assets/e07.anm new file mode 100644 index 0000000..2ec449f Binary files /dev/null and b/assets/e07.anm differ diff --git a/assets/e07.msg b/assets/e07.msg new file mode 100644 index 0000000..02fbf32 Binary files /dev/null and b/assets/e07.msg differ diff --git a/assets/e08.anm b/assets/e08.anm new file mode 100644 index 0000000..fdea92e Binary files /dev/null and b/assets/e08.anm differ diff --git a/assets/e08.msg b/assets/e08.msg new file mode 100644 index 0000000..f157ed4 Binary files /dev/null and b/assets/e08.msg differ diff --git a/assets/e09.anm b/assets/e09.anm new file mode 100644 index 0000000..e0b7a3a Binary files /dev/null and b/assets/e09.anm differ diff --git a/assets/e09.msg b/assets/e09.msg new file mode 100644 index 0000000..d154348 Binary files /dev/null and b/assets/e09.msg differ diff --git a/assets/e10.anm b/assets/e10.anm new file mode 100644 index 0000000..0879102 Binary files /dev/null and b/assets/e10.anm differ diff --git a/assets/e10.msg b/assets/e10.msg new file mode 100644 index 0000000..ccb060c Binary files /dev/null and b/assets/e10.msg differ diff --git a/assets/e11.anm b/assets/e11.anm new file mode 100644 index 0000000..d6bda2c Binary files /dev/null and b/assets/e11.anm differ diff --git a/assets/e11.msg b/assets/e11.msg new file mode 100644 index 0000000..f2b3539 Binary files /dev/null and b/assets/e11.msg differ diff --git a/assets/enemy.anm b/assets/enemy.anm new file mode 100644 index 0000000..74e3254 Binary files /dev/null and b/assets/enemy.anm differ diff --git a/assets/front.anm b/assets/front.anm new file mode 100644 index 0000000..a044add Binary files /dev/null and b/assets/front.anm differ diff --git a/assets/musiccmt.txt b/assets/musiccmt.txt new file mode 100644 index 0000000..da0a3c6 --- /dev/null +++ b/assets/musiccmt.txt @@ -0,0 +1,221 @@ +# +# ‹È‚̃Rƒƒ“ƒg +# + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_00.wav +No. 1 ’n—ì’B‚Ì‹N° +ô’n—ì’B‚Ì‹N° +@ +@ƒ^ƒCƒgƒ‹‰æ–ʂ̃e[ƒ}‚Å‚·B +@ +@‚Ü‚ ‚¢‚‚à‚ÌŠ´‚¶‚ÅB +@“´ŒA‚Á‚ĉ¹‚ª‹¿‚­‚Æ‚»‚ê‚Á‚Û‚¢‚Ì‚Å‚»‚ê‚Á‚Û‚­‚È‚é‚悤‚É +@“w—Í‚µ‚Ü‚µ‚½B +@“´ŒA‚¢‚¢‚ËB + +@bgm/th11_01.wav +No. 2 ˆÃˆÅ‚Ì•—ŒŠ +ôˆÃˆÅ‚Ì•—ŒŠ +@ +@‚P–ʂ̃e[ƒ}‚Å‚·B +@ÜŠp‚Ì“´ŒA‚Á‚ÄŽ–‚ÅA‚P–Ê‚É‚µ‚Ä‚Í‚¿‚å‚Á‚ƈ¢Š´‚¶‚É‚µ‚Ü‚µ‚½B +@ +@‰Âˆ¤‚¢Š´‚¶‚É­‚µ•s‹C–¡‚³‚ð悹‚Äcc‚Á‚ămƒŠ‚ª‚¢‚¢‚Æ•s‹C–¡‚É +@•·‚±‚¦‚È‚¢ã©B +@ƒXƒs[ƒhŠ´‚Ì‚ ‚éƒzƒ‰[ƒQ[ƒ€‚à‚µ‚Ä‚Ý‚½‚¢B + +@bgm/th11_02.wav +No. 3 ••‚¶‚ç‚ꂽ—d‰ö@` Lost Place +ô••‚¶‚ç‚ꂽ—d‰ö@` Lost Place +@ +@•’Jƒ„ƒ}ƒ‚̃e[ƒ}‚Å‚·B +@ +@‚P–Ê‚É‚µ‚Ä‚ÍŠiD—Ç‚­‘n‚Á‚Ă݂悤‚Æ‘‚«‚Ü‚µ‚½B +@Ì‚È‚ª‚ç‚̃Q[ƒ€ƒ~ƒ…[ƒWƒbƒN‚炵‚³ˆì‚ê‚éƒVƒ“ƒvƒ‹‚È‹È‚Å‚·B +@‚‚­‚­”»‚è‚â‚·‚¢ƒƒƒfƒB‚Ì•û‚ªƒQ[ƒ€‚ª·‚èオ‚Á‚Ä‚¢‚¢‚È‚Æ +@Žv‚¤‚Ì‚Å‚·B + +@bgm/th11_03.wav +No. 4 “n‚éŽÒ‚Ì“r₦‚½‹´ +ô“n‚éŽÒ‚Ì“r₦‚½‹´ +@ +@‚Q–ʂ̃e[ƒ}‚Å‚·B +@ +@[‚­[‚­~‚è‚Ä‚¢‚­B +@Ž©ŒÈŽå’£‚Í­‚È‚ß‚É•µˆÍ‹CdŽ‹‚Å‚ÆA‚Ü‚³‚É“¹’†ƒIƒu“¹’†‹ÈB +@–­‚ɘa•—‚É‚È‚Á‚Ä‚µ‚Ü‚Á‚½‚͈̂Ó}‚µ‚½–ó‚Å‚Í‚È‚­A‚È‚Á‚¿‚á‚Á‚½ +@‚¾‚¯‚Æ‚à‚¢‚¤BŠÖŒW–³‚¢‚¯‚Ç“´ŒA‚¢‚¢‚ËB + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_05.wav +No. 5 —Ίá‚̃WƒFƒ‰ƒV[ +ô—Ίá‚̃WƒFƒ‰ƒV[ +@ +@…‹´ƒpƒ‹ƒXƒB‚̃e[ƒ}‚Å‚·B +@ +@S‚Ì•a‚ñ‚¾—d‰ö‚Å‚·B +@‚»‚ñ‚È–ó‚ŃƒƒfƒBƒAƒX‚È‹È‚É‚µ‚½‚¢‚ÆŽv‚Á‚Ä‚±‚ñ‚ÈŠ´‚¶‚ÉB +@ƒVƒ…[ƒeƒBƒ“ƒO‚Æ‚ÍŽv‚¦‚È‚¢‚悤‚È‹È‚¾‚¯‚ǃVƒ…[ƒeƒBƒ“ƒO‚ɇ‚¤ +@‹È‚ðl‚¦‚Ä‚¢‚½‚炱‚ñ‚ÈŠ´‚¶‚É—Ž‚¿’…‚«‚Ü‚µ‚½B + + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_06.wav +No. 6 ‹Œ’n–ŠX“¹‚ðs‚­ +ô‹Œ’n–ŠX“¹‚ðs‚­ +@ +@‚R–ʂ̃e[ƒ}‚Å‚·B +@ +@•½˜a‚ÅŒ–‰Ü‚ª‰Ø‚Ì]ŒË‚Ì’¬‚Á‚Û‚¢ƒCƒ[ƒW‚Å‘‚«‚Ü‚µ‚½B +@‚â‚Á‚Ï‚èŠy‚µ‚°‚ÅŒy‰õ‚È‚Ì‚Í—Ç‚¢‚Å‚·‚æ‚ËB +@‰½‚Æ‚à‰ù‚©‚µ‚¢•µˆÍ‹C‚Ì‚·‚é‹È‚Å‚·B +@ŠX‚ð•à‚­‚Æ‚«‚àA‚±‚̋Ȉʂ¤‚«‚¤‚«‹C•ª‚Åèˆ•à‚µ‚½‚¢‚à‚Ì‚Å‚·B + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_07.wav +No. 7 ‰Ø‚Ì‚³‚©‚«‘å]ŽR +ô‰Ø‚Ì‚³‚©‚«‘å]ŽR +@ +@¯ŒF —E‹V‚̃e[ƒ}‚Å‚·B +@ +@‹­‚»‚¤‚Å—V‚ÑSˆì‚ê‚銴‚¶‚ð–ÚŽw‚µ‚Ü‚µ‚½B +@ŽÀ‚Í—E‹VA‚¨Žð‚ðˆê“H‚à—낳‚¸‚É“¬‚¤‚Æ‚¢‚¤ƒ‹[ƒ‹‚ðŽ©•ª‚ɉۂµ‚Ä +@‚¢‚Ü‚·B‚â‚Á‚Ï‚è‘Þ‹ü‚È‚ñ‚Å‚·‚ËB +@‰½‚©AlŠÔ‚æ‚è’n–‚Ì‹S‚Ì•û‚ª–Ê”’‚Ý‚ª‚ ‚é‹C‚ª‚µ‚Ü‚·B + + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_08.wav +No. 8 ƒn[ƒgƒtƒFƒ‹ƒgƒtƒ@ƒ“ƒV[ +ôƒn[ƒgƒtƒFƒ‹ƒgƒtƒ@ƒ“ƒV[ +@ +@‚S–ʂ̃e[ƒ}‚Å‚·B +@ +@—]‚è˜a•—‚ɕ΂肷‚¬‚È‚¢‚悤‚É‘n‚è‚Ü‚µ‚½B +@’n—ì“a‚ÍŽv‚¢‚ÌŠO¼—m•—‚Ì‘¢‚è‚È‚ñ‚Å‚·‚ËBZ‚ñ‚Å‚¢‚él’B‚à +@‚Ç‚±‚©‚µ‚çƒtƒ@ƒ“ƒV[B +@‚Å‚à”L‰®•~B”L‚ÉŽ”‚í‚ꂽ‚¢‚Å‚·‚ËB + + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_10.wav +No. 9 ­—‚³‚Æ‚è@` 3rd eye +ô­—‚³‚Æ‚è@` 3rd eye +@ +@ŒÃ–¾’n‚³‚Æ‚è‚̃e[ƒ}‚Å‚·B +@ +@’n—ì“a‚ÌŽå‚Å‚·B‚¿‚å‚Á‚ƃtƒ@ƒ“ƒV[‚Å“®•¨D‚«B +@ŽÀ‚Í¡‰ñ‚Ì’n—ì“a‚Ì’†‚ł͈ê”Ԃ̑啨A‚Ì”¤‚Å‚·‚ªA퓬‚Í—]‚è +@“¾ˆÓ‚Å‚Í‚È‚¢—lŽqB +@‹È‚à‘啨‚Á‚Û‚³‚Æ•s‹C–¡‚³‚ðo‚µ‚Ä‚Ý‚Ü‚µ‚½B + + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_12.wav +No.10 ”p–ƒ‰ƒ‰ƒoƒC +ô”p–ƒ‰ƒ‰ƒoƒC +@ +@‚T–ʂ̃e[ƒ}‚Å‚·B +@ +@ŽÜ”M’n–‚àßl‚ª—Ž‚Æ‚³‚ê‚È‚­‚È‚Á‚Ä‚©‚çA‹S‚ª–K‚ê‚鎖‚à–³‚­ +@‰…—ì‚Æ“®•¨’B‚Ì—V‚Ñê‚Ɖ»‚µ‚Ä‚¢‚é—lŽqB +@ŽÀ‚Íl‚ÌZ‚Ü‚È‚­‚È‚Á‚½Œš•¨‚Æ‚©Œ©‚é‚ƃ]ƒNƒ]ƒN‚µ‚Ü‚·B +@‹Œ’n–‚à”pšÐ“Á—L‚ÌØ‚È‚³‚É•ï‚Ü‚ê‚Äcc‚Æ‘z‘œ‚µ‚Ä‘n‚Á‚½‹È‚Å‚·B + + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_13.wav +No.11 Ž€‘Ì—·s@` Be of good cheer! +ôŽ€‘Ì—·s@` Be of good cheer! +@ +@‚¨—ӂ̃e[ƒ}‚Å‚·B +@ +@Œ³‹C‚³‚ª•s‹C–¡‚È”L‚̃e[ƒ}‚Å‚·B +@‚SA‚T–Ê‚Æd‚¢Š´‚¶‚É‚µ‚Ä‚«‚½‚Ì‚ÅAˆê‹C‚É–¾‚é‚­‚µ‚Ä‚Ý‚Ü‚µ‚½B +@‚¨—Ó‚ª‰Ÿ‚µ‚Ä‚¢‚éŽÔ‚Í”LŽÔ‚Å‚·B‰½‚ð‰^‚ñ‚Å‚¢‚é‚©‚Á‚ÄH +@•·‚©‚È‚¢•û‚ª—Ç‚©‚Á‚½‚ÆŽv‚¤”¤‚Å‚·‚æB + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_14.wav +No.12 ‹Æ‰Îƒ}ƒ“ƒgƒ‹ + +ô‹Æ‰Îƒ}ƒ“ƒgƒ‹ +@ +@ÅI–ʂ̃e[ƒ}‚Å‚·B +@ +@‚¢‚©‚É‚àI”Õ‚Á‚ÄŠ´‚¶‚ðo‚µ‚Ä‚Ý‚Ü‚µ‚½B +@—nŠâ‚Ì’†‚ði‚ނ̂̓Vƒ…[ƒeƒBƒ“ƒOƒQ[ƒ€‚Å‚Í’è”Ô‚Å‚·‚ËB +@‰½‚ªŒ¾‚¢‚½‚¢‚©‚Æ‚¢‚¤‚ÆA›Þ—‚³‚ñ‚ª—nŠâ‚Ìã‚ð”ò‚ñ‚Å‚à“Á‚É +@•sŽv‹c‚Å‚Í‚È‚¢A‚Æ‚¢‚¤Ž–‚Å‚·BƒJƒ‰ƒX‚à‚ËB + + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_16.wav +No.13 —ì’m‚Ì‘¾—zM‹Â@` Nuclear Fusion + +ô—ì’m‚Ì‘¾—zM‹Â@` Nuclear Fusion +@ +@—ì‰G˜H ‹ó‚̃e[ƒ}‚Å‚·B +@ +@o—ˆ‚éŒÀ‚èŒy‚­‹ß‘ã“I‚ÅA’Pƒ‚Ƀ{ƒX‚Á‚Û‚¢Š´‚¶‚ÅU‚ß‚Ä‚Ý‚Ü‚µ‚½B +@Ž–ŽÀAƒ‰ƒXƒ{ƒX‚Æ‚µ‚Ä‚Í‘Š“–Œy‚¢—d‰ö‚Å‚·B‚µ‚傹‚ñ’¹‚¾‚µ‚ËB +@‚½‚¾—Í‚Í–Å’ƒ‹ê’ƒ‹­‚¢‚Ì‚Å‚·B‹­‚¢—Í‚Å‚à”nŽ­‚ÉŽ‚½‚¹‚ê‚Έ«—p‚· +@‚ç‚Å‚«‚È‚¢‚Á‚ÄŽ–‚ª‚æ‚­”»‚è‚Ü‚·B‚ ‚ –²‚̃Gƒlƒ‹ƒM[‚È‚Ì‚ÉB + + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_15.wav +No.14 ƒ‰ƒXƒgƒŠƒ‚[ƒg + +ôƒ‰ƒXƒgƒŠƒ‚[ƒg +@ +@ƒGƒLƒXƒgƒ‰ƒXƒe[ƒW‚̃e[ƒ}‚Å‚·B +@ +@‰½ŒÌ‚©‹}‚¢‚Å‚¢‚銴‚¶‚É‚È‚Á‚Ä‚¢‚Ü‚·‚ªA‚»‚±‚Ü‚Å‹Ù‹}‚Èo—ˆŽ–‚ª +@‚ ‚Á‚½–ó‚Å‚à‚È‚­‚Ý‚ñ‚È‚Í’¨‹C‚Å‚·B +@“Á‚ÉŽç–î_ŽÐ‚Ì“z‚ç‚Ì’¨‹C‚Á‚Õ‚è‚Æ‚¢‚Á‚½‚çA—ì–²‚Å‚à“G‚¢‚»‚¤‚É +@‚ ‚è‚Ü‚¹‚ñB‹È–¼‚Í–^‚r‚s‚f‚ÆŠÖŒW‚ ‚è‚Ü‚¹‚ñB + + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_17.wav +No.15 ƒnƒ‹ƒgƒ}ƒ“‚Ì—d‰ö­— + +ôƒnƒ‹ƒgƒ}ƒ“‚Ì—d‰ö­— +@ +@ŒÃ–¾’n‚±‚¢‚µ‚̃e[ƒ}‚Å‚·B +@ +@•s‹C–¡‚ʼnó‚ꂽ­—‚Á‚Û‚³‚ðo‚»‚¤‚Æ‚µ‚Ä‚Ý‚Ü‚µ‚½B +@•s‹C–¡‚³‚ª‚¨‚Ü‚¯‚̃{ƒX‚Á‚Û‚³‚ðo‚µ‚Ä‚¢‚é‚©‚ÆŽv‚¢‚Ü‚·B +@–{“–‚ÍåKåN‚ð•~‚«‹l‚ß‚½’ë‚Æ‚©‚ÅAˆï‚ª’É‚»‚¤‚ÈꊂÅ키‚Ì‚ª +@Ž—‡‚¤”¤‚Å‚·‚ªA¡‰ñ‚͉½ŒÌ‚©_ŽÐB + + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_18.wav +No.16 ’n—ì’B‚Ì‹A‘î + +ô’n—ì’B‚Ì‹A‘î +@ +@ƒGƒ“ƒfƒBƒ“ƒO‚̃e[ƒ}‚Å‚·B +@ +@’©‚Ü‚Å“Û‚ñ‚Ŏ₵‚­‹A‚鎞‚̃Cƒ[ƒW‚Å‘n‚è‚Ü‚µ‚½B +@uÕ‚è‚àI‚í‚è‚©‚Ì‚¤vu‚Ú‚¿‚Ú‚¿ˆø‚«ã‚°‚é‚©v‚ÆS‚Ì’†‚Å +@‰ï˜b‚µ‚È‚ª‚牅—ì’B‚ª“y‚̉º‚Ö–ß‚Á‚Ä‚¢‚«‚Ü‚·B +@‚È‚ñ‚Æ‚¢‚¤ƒIƒ„ƒW‰…—ìB + + +#0‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚O +@bgm/th11_19.wav +No.17 ƒGƒlƒ‹ƒM[êt–¾ ` Future Dream... + +ôƒGƒlƒ‹ƒM[êt–¾ ` Future Dream... +@ +@ƒXƒ^ƒbƒtƒ[ƒ‹‚̃e[ƒ}‚Å‚·B +@ +@‚¢‚‚à‚ÌŠ´‚¶‚Åì‚è‚Ü‚µ‚½B‚Ü‚ñ‚Ü‚¢‚‚à‚ÌŠ´‚¶B +@‚±‚ê‚Å‚¨Žd•‘‚¢‚Å‚·‚æ[‚Á‚ÄŠ´‚¶B +@‚¨Žd•‘‚¢‚Å‚à‹È–¼‚Íêt–¾B‚½‚Ý‚ ‚«A‚¶‚á–³‚¢‚Å‚·‚æB +@ +@ diff --git a/assets/pl00.anm b/assets/pl00.anm new file mode 100644 index 0000000..572142d Binary files /dev/null and b/assets/pl00.anm differ diff --git a/assets/pl00a.sht b/assets/pl00a.sht new file mode 100644 index 0000000..5707ae0 Binary files /dev/null and b/assets/pl00a.sht differ diff --git a/assets/pl00b.sht b/assets/pl00b.sht new file mode 100644 index 0000000..cc6d9d9 Binary files /dev/null and b/assets/pl00b.sht differ diff --git a/assets/pl00c.sht b/assets/pl00c.sht new file mode 100644 index 0000000..147ead8 Binary files /dev/null and b/assets/pl00c.sht differ diff --git a/assets/pl01.anm b/assets/pl01.anm new file mode 100644 index 0000000..a292aa8 Binary files /dev/null and b/assets/pl01.anm differ diff --git a/assets/pl01a.sht b/assets/pl01a.sht new file mode 100644 index 0000000..1df83e4 Binary files /dev/null and b/assets/pl01a.sht differ diff --git a/assets/pl01b.sht b/assets/pl01b.sht new file mode 100644 index 0000000..fb40cdb Binary files /dev/null and b/assets/pl01b.sht differ diff --git a/assets/pl01c.sht b/assets/pl01c.sht new file mode 100644 index 0000000..770a95b Binary files /dev/null and b/assets/pl01c.sht differ diff --git a/assets/se_alert.wav b/assets/se_alert.wav new file mode 100644 index 0000000..b3a919c Binary files /dev/null and b/assets/se_alert.wav differ diff --git a/assets/se_bonus.wav b/assets/se_bonus.wav new file mode 100644 index 0000000..2cdcf52 Binary files /dev/null and b/assets/se_bonus.wav differ diff --git a/assets/se_bonus2.wav b/assets/se_bonus2.wav new file mode 100644 index 0000000..32b3dae Binary files /dev/null and b/assets/se_bonus2.wav differ diff --git a/assets/se_cancel00.wav b/assets/se_cancel00.wav new file mode 100644 index 0000000..4bb7b75 Binary files /dev/null and b/assets/se_cancel00.wav differ diff --git a/assets/se_cardget.wav b/assets/se_cardget.wav new file mode 100644 index 0000000..9f7a6c6 Binary files /dev/null and b/assets/se_cardget.wav differ diff --git a/assets/se_cat00.wav b/assets/se_cat00.wav new file mode 100644 index 0000000..ab3dcb1 Binary files /dev/null and b/assets/se_cat00.wav differ diff --git a/assets/se_cat01.wav b/assets/se_cat01.wav new file mode 100644 index 0000000..97285f0 Binary files /dev/null and b/assets/se_cat01.wav differ diff --git a/assets/se_ch00.wav b/assets/se_ch00.wav new file mode 100644 index 0000000..8ffee97 Binary files /dev/null and b/assets/se_ch00.wav differ diff --git a/assets/se_ch01.wav b/assets/se_ch01.wav new file mode 100644 index 0000000..9d6d630 Binary files /dev/null and b/assets/se_ch01.wav differ diff --git a/assets/se_damage00.wav b/assets/se_damage00.wav new file mode 100644 index 0000000..4bc6fde Binary files /dev/null and b/assets/se_damage00.wav differ diff --git a/assets/se_damage01.wav b/assets/se_damage01.wav new file mode 100644 index 0000000..a3e9446 Binary files /dev/null and b/assets/se_damage01.wav differ diff --git a/assets/se_enep00.wav b/assets/se_enep00.wav new file mode 100644 index 0000000..81e3967 Binary files /dev/null and b/assets/se_enep00.wav differ diff --git a/assets/se_enep01.wav b/assets/se_enep01.wav new file mode 100644 index 0000000..3020f3e Binary files /dev/null and b/assets/se_enep01.wav differ diff --git a/assets/se_enep02.wav b/assets/se_enep02.wav new file mode 100644 index 0000000..8b3c001 Binary files /dev/null and b/assets/se_enep02.wav differ diff --git a/assets/se_extend.wav b/assets/se_extend.wav new file mode 100644 index 0000000..dae7203 Binary files /dev/null and b/assets/se_extend.wav differ diff --git a/assets/se_graze.wav b/assets/se_graze.wav new file mode 100644 index 0000000..442476a Binary files /dev/null and b/assets/se_graze.wav differ diff --git a/assets/se_gun00.wav b/assets/se_gun00.wav new file mode 100644 index 0000000..9c95600 Binary files /dev/null and b/assets/se_gun00.wav differ diff --git a/assets/se_hint00.wav b/assets/se_hint00.wav new file mode 100644 index 0000000..e63c494 Binary files /dev/null and b/assets/se_hint00.wav differ diff --git a/assets/se_invalid.wav b/assets/se_invalid.wav new file mode 100644 index 0000000..5a237f0 Binary files /dev/null and b/assets/se_invalid.wav differ diff --git a/assets/se_item00.wav b/assets/se_item00.wav new file mode 100644 index 0000000..32cc246 Binary files /dev/null and b/assets/se_item00.wav differ diff --git a/assets/se_kira00.wav b/assets/se_kira00.wav new file mode 100644 index 0000000..df9f801 Binary files /dev/null and b/assets/se_kira00.wav differ diff --git a/assets/se_kira01.wav b/assets/se_kira01.wav new file mode 100644 index 0000000..04da1cc Binary files /dev/null and b/assets/se_kira01.wav differ diff --git a/assets/se_kira02.wav b/assets/se_kira02.wav new file mode 100644 index 0000000..69a8311 Binary files /dev/null and b/assets/se_kira02.wav differ diff --git a/assets/se_lazer00.wav b/assets/se_lazer00.wav new file mode 100644 index 0000000..716a976 Binary files /dev/null and b/assets/se_lazer00.wav differ diff --git a/assets/se_lazer01.wav b/assets/se_lazer01.wav new file mode 100644 index 0000000..ea7e31a Binary files /dev/null and b/assets/se_lazer01.wav differ diff --git a/assets/se_msl.wav b/assets/se_msl.wav new file mode 100644 index 0000000..dd785d0 Binary files /dev/null and b/assets/se_msl.wav differ diff --git a/assets/se_nep00.wav b/assets/se_nep00.wav new file mode 100644 index 0000000..079f850 Binary files /dev/null and b/assets/se_nep00.wav differ diff --git a/assets/se_ok00.wav b/assets/se_ok00.wav new file mode 100644 index 0000000..1077b02 Binary files /dev/null and b/assets/se_ok00.wav differ diff --git a/assets/se_option.wav b/assets/se_option.wav new file mode 100644 index 0000000..be90319 Binary files /dev/null and b/assets/se_option.wav differ diff --git a/assets/se_pause.wav b/assets/se_pause.wav new file mode 100644 index 0000000..39b3006 Binary files /dev/null and b/assets/se_pause.wav differ diff --git a/assets/se_pldead00.wav b/assets/se_pldead00.wav new file mode 100644 index 0000000..ce26f95 Binary files /dev/null and b/assets/se_pldead00.wav differ diff --git a/assets/se_plst00.wav b/assets/se_plst00.wav new file mode 100644 index 0000000..440f94a Binary files /dev/null and b/assets/se_plst00.wav differ diff --git a/assets/se_power0.wav b/assets/se_power0.wav new file mode 100644 index 0000000..1bf4f87 Binary files /dev/null and b/assets/se_power0.wav differ diff --git a/assets/se_power1.wav b/assets/se_power1.wav new file mode 100644 index 0000000..1a90ab2 Binary files /dev/null and b/assets/se_power1.wav differ diff --git a/assets/se_powerup.wav b/assets/se_powerup.wav new file mode 100644 index 0000000..466088c Binary files /dev/null and b/assets/se_powerup.wav differ diff --git a/assets/se_select00.wav b/assets/se_select00.wav new file mode 100644 index 0000000..cc5328d Binary files /dev/null and b/assets/se_select00.wav differ diff --git a/assets/se_slash.wav b/assets/se_slash.wav new file mode 100644 index 0000000..b0fc5d5 Binary files /dev/null and b/assets/se_slash.wav differ diff --git a/assets/se_tan00.wav b/assets/se_tan00.wav new file mode 100644 index 0000000..06c6f0b Binary files /dev/null and b/assets/se_tan00.wav differ diff --git a/assets/se_tan01.wav b/assets/se_tan01.wav new file mode 100644 index 0000000..9bd2fb5 Binary files /dev/null and b/assets/se_tan01.wav differ diff --git a/assets/se_tan02.wav b/assets/se_tan02.wav new file mode 100644 index 0000000..77ecc5d Binary files /dev/null and b/assets/se_tan02.wav differ diff --git a/assets/se_timeout.wav b/assets/se_timeout.wav new file mode 100644 index 0000000..4468f7a Binary files /dev/null and b/assets/se_timeout.wav differ diff --git a/assets/se_timeout2.wav b/assets/se_timeout2.wav new file mode 100644 index 0000000..67a8d2b Binary files /dev/null and b/assets/se_timeout2.wav differ diff --git a/assets/se_warpl.wav b/assets/se_warpl.wav new file mode 100644 index 0000000..4083c20 Binary files /dev/null and b/assets/se_warpl.wav differ diff --git a/assets/se_warpr.wav b/assets/se_warpr.wav new file mode 100644 index 0000000..49fbc28 Binary files /dev/null and b/assets/se_warpr.wav differ diff --git a/assets/se_water.wav b/assets/se_water.wav new file mode 100644 index 0000000..46081e2 Binary files /dev/null and b/assets/se_water.wav differ diff --git a/assets/sig.anm b/assets/sig.anm new file mode 100644 index 0000000..57ad4f4 Binary files /dev/null and b/assets/sig.anm differ diff --git a/assets/st01_00a.msg b/assets/st01_00a.msg new file mode 100644 index 0000000..ef1f8f8 Binary files /dev/null and b/assets/st01_00a.msg differ diff --git a/assets/st01_00b.msg b/assets/st01_00b.msg new file mode 100644 index 0000000..1d60763 Binary files /dev/null and b/assets/st01_00b.msg differ diff --git a/assets/st01_00c.msg b/assets/st01_00c.msg new file mode 100644 index 0000000..a09bc5c Binary files /dev/null and b/assets/st01_00c.msg differ diff --git a/assets/st01_01a.msg b/assets/st01_01a.msg new file mode 100644 index 0000000..76d878c Binary files /dev/null and b/assets/st01_01a.msg differ diff --git a/assets/st01_01b.msg b/assets/st01_01b.msg new file mode 100644 index 0000000..78ba5c7 Binary files /dev/null and b/assets/st01_01b.msg differ diff --git a/assets/st01_01c.msg b/assets/st01_01c.msg new file mode 100644 index 0000000..83020dd Binary files /dev/null and b/assets/st01_01c.msg differ diff --git a/assets/st01logo.anm b/assets/st01logo.anm new file mode 100644 index 0000000..a20710f Binary files /dev/null and b/assets/st01logo.anm differ diff --git a/assets/st02_00a.msg b/assets/st02_00a.msg new file mode 100644 index 0000000..56c0b08 Binary files /dev/null and b/assets/st02_00a.msg differ diff --git a/assets/st02_00b.msg b/assets/st02_00b.msg new file mode 100644 index 0000000..a0a82f2 Binary files /dev/null and b/assets/st02_00b.msg differ diff --git a/assets/st02_00c.msg b/assets/st02_00c.msg new file mode 100644 index 0000000..b67e9d7 Binary files /dev/null and b/assets/st02_00c.msg differ diff --git a/assets/st02_01a.msg b/assets/st02_01a.msg new file mode 100644 index 0000000..0f53b20 Binary files /dev/null and b/assets/st02_01a.msg differ diff --git a/assets/st02_01b.msg b/assets/st02_01b.msg new file mode 100644 index 0000000..04f384f Binary files /dev/null and b/assets/st02_01b.msg differ diff --git a/assets/st02_01c.msg b/assets/st02_01c.msg new file mode 100644 index 0000000..896c0da Binary files /dev/null and b/assets/st02_01c.msg differ diff --git a/assets/st02logo.anm b/assets/st02logo.anm new file mode 100644 index 0000000..368e036 Binary files /dev/null and b/assets/st02logo.anm differ diff --git a/assets/st03_00a.msg b/assets/st03_00a.msg new file mode 100644 index 0000000..7bc18a3 Binary files /dev/null and b/assets/st03_00a.msg differ diff --git a/assets/st03_00b.msg b/assets/st03_00b.msg new file mode 100644 index 0000000..80250b5 Binary files /dev/null and b/assets/st03_00b.msg differ diff --git a/assets/st03_00c.msg b/assets/st03_00c.msg new file mode 100644 index 0000000..3b3ee80 Binary files /dev/null and b/assets/st03_00c.msg differ diff --git a/assets/st03_01a.msg b/assets/st03_01a.msg new file mode 100644 index 0000000..0342bb1 Binary files /dev/null and b/assets/st03_01a.msg differ diff --git a/assets/st03_01b.msg b/assets/st03_01b.msg new file mode 100644 index 0000000..ae9bde0 Binary files /dev/null and b/assets/st03_01b.msg differ diff --git a/assets/st03_01c.msg b/assets/st03_01c.msg new file mode 100644 index 0000000..045ee7e Binary files /dev/null and b/assets/st03_01c.msg differ diff --git a/assets/st03logo.anm b/assets/st03logo.anm new file mode 100644 index 0000000..3448f90 Binary files /dev/null and b/assets/st03logo.anm differ diff --git a/assets/st04_00a.msg b/assets/st04_00a.msg new file mode 100644 index 0000000..6b01bd9 Binary files /dev/null and b/assets/st04_00a.msg differ diff --git a/assets/st04_00b.msg b/assets/st04_00b.msg new file mode 100644 index 0000000..3fc954a Binary files /dev/null and b/assets/st04_00b.msg differ diff --git a/assets/st04_00c.msg b/assets/st04_00c.msg new file mode 100644 index 0000000..e8bb724 Binary files /dev/null and b/assets/st04_00c.msg differ diff --git a/assets/st04_01a.msg b/assets/st04_01a.msg new file mode 100644 index 0000000..fdd8339 Binary files /dev/null and b/assets/st04_01a.msg differ diff --git a/assets/st04_01b.msg b/assets/st04_01b.msg new file mode 100644 index 0000000..7de8d59 Binary files /dev/null and b/assets/st04_01b.msg differ diff --git a/assets/st04_01c.msg b/assets/st04_01c.msg new file mode 100644 index 0000000..7221286 Binary files /dev/null and b/assets/st04_01c.msg differ diff --git a/assets/st04logo.anm b/assets/st04logo.anm new file mode 100644 index 0000000..a801baa Binary files /dev/null and b/assets/st04logo.anm differ diff --git a/assets/st05_00a.msg b/assets/st05_00a.msg new file mode 100644 index 0000000..d9704a1 Binary files /dev/null and b/assets/st05_00a.msg differ diff --git a/assets/st05_00b.msg b/assets/st05_00b.msg new file mode 100644 index 0000000..5ee7875 Binary files /dev/null and b/assets/st05_00b.msg differ diff --git a/assets/st05_00c.msg b/assets/st05_00c.msg new file mode 100644 index 0000000..dd18b0f Binary files /dev/null and b/assets/st05_00c.msg differ diff --git a/assets/st05_01a.msg b/assets/st05_01a.msg new file mode 100644 index 0000000..a88c352 Binary files /dev/null and b/assets/st05_01a.msg differ diff --git a/assets/st05_01b.msg b/assets/st05_01b.msg new file mode 100644 index 0000000..373834b Binary files /dev/null and b/assets/st05_01b.msg differ diff --git a/assets/st05_01c.msg b/assets/st05_01c.msg new file mode 100644 index 0000000..a45ee5c Binary files /dev/null and b/assets/st05_01c.msg differ diff --git a/assets/st05logo.anm b/assets/st05logo.anm new file mode 100644 index 0000000..432d891 Binary files /dev/null and b/assets/st05logo.anm differ diff --git a/assets/st06_00a.msg b/assets/st06_00a.msg new file mode 100644 index 0000000..de2467b Binary files /dev/null and b/assets/st06_00a.msg differ diff --git a/assets/st06_00b.msg b/assets/st06_00b.msg new file mode 100644 index 0000000..8fae12e Binary files /dev/null and b/assets/st06_00b.msg differ diff --git a/assets/st06_00c.msg b/assets/st06_00c.msg new file mode 100644 index 0000000..cec5a98 Binary files /dev/null and b/assets/st06_00c.msg differ diff --git a/assets/st06_01a.msg b/assets/st06_01a.msg new file mode 100644 index 0000000..e14bbfe Binary files /dev/null and b/assets/st06_01a.msg differ diff --git a/assets/st06_01b.msg b/assets/st06_01b.msg new file mode 100644 index 0000000..a194b23 Binary files /dev/null and b/assets/st06_01b.msg differ diff --git a/assets/st06_01c.msg b/assets/st06_01c.msg new file mode 100644 index 0000000..a6a29c8 Binary files /dev/null and b/assets/st06_01c.msg differ diff --git a/assets/st06logo.anm b/assets/st06logo.anm new file mode 100644 index 0000000..6fedf2b Binary files /dev/null and b/assets/st06logo.anm differ diff --git a/assets/st07_00a.msg b/assets/st07_00a.msg new file mode 100644 index 0000000..880f09b Binary files /dev/null and b/assets/st07_00a.msg differ diff --git a/assets/st07_00b.msg b/assets/st07_00b.msg new file mode 100644 index 0000000..124e1c1 Binary files /dev/null and b/assets/st07_00b.msg differ diff --git a/assets/st07_00c.msg b/assets/st07_00c.msg new file mode 100644 index 0000000..2a4b8a9 Binary files /dev/null and b/assets/st07_00c.msg differ diff --git a/assets/st07_01a.msg b/assets/st07_01a.msg new file mode 100644 index 0000000..b5411d9 Binary files /dev/null and b/assets/st07_01a.msg differ diff --git a/assets/st07_01b.msg b/assets/st07_01b.msg new file mode 100644 index 0000000..1d7e8c2 Binary files /dev/null and b/assets/st07_01b.msg differ diff --git a/assets/st07_01c.msg b/assets/st07_01c.msg new file mode 100644 index 0000000..8cef6aa Binary files /dev/null and b/assets/st07_01c.msg differ diff --git a/assets/st07logo.anm b/assets/st07logo.anm new file mode 100644 index 0000000..d9f8378 Binary files /dev/null and b/assets/st07logo.anm differ diff --git a/assets/staff.anm b/assets/staff.anm new file mode 100644 index 0000000..9e9a0eb Binary files /dev/null and b/assets/staff.anm differ diff --git a/assets/staff.msg b/assets/staff.msg new file mode 100644 index 0000000..a7dca90 Binary files /dev/null and b/assets/staff.msg differ diff --git a/assets/stage01.anm b/assets/stage01.anm new file mode 100644 index 0000000..c352026 Binary files /dev/null and b/assets/stage01.anm differ diff --git a/assets/stage01.ecl b/assets/stage01.ecl new file mode 100644 index 0000000..89d0465 Binary files /dev/null and b/assets/stage01.ecl differ diff --git a/assets/stage01.std b/assets/stage01.std new file mode 100644 index 0000000..592c4c3 Binary files /dev/null and b/assets/stage01.std differ diff --git a/assets/stage02.anm b/assets/stage02.anm new file mode 100644 index 0000000..d0444ff Binary files /dev/null and b/assets/stage02.anm differ diff --git a/assets/stage02.ecl b/assets/stage02.ecl new file mode 100644 index 0000000..8e14ba9 Binary files /dev/null and b/assets/stage02.ecl differ diff --git a/assets/stage02.std b/assets/stage02.std new file mode 100644 index 0000000..9d5c972 Binary files /dev/null and b/assets/stage02.std differ diff --git a/assets/stage03.anm b/assets/stage03.anm new file mode 100644 index 0000000..c74bf84 Binary files /dev/null and b/assets/stage03.anm differ diff --git a/assets/stage03.ecl b/assets/stage03.ecl new file mode 100644 index 0000000..774bb91 Binary files /dev/null and b/assets/stage03.ecl differ diff --git a/assets/stage03.std b/assets/stage03.std new file mode 100644 index 0000000..67ab09e Binary files /dev/null and b/assets/stage03.std differ diff --git a/assets/stage04.anm b/assets/stage04.anm new file mode 100644 index 0000000..0ff1534 Binary files /dev/null and b/assets/stage04.anm differ diff --git a/assets/stage04.ecl b/assets/stage04.ecl new file mode 100644 index 0000000..2f6ea25 Binary files /dev/null and b/assets/stage04.ecl differ diff --git a/assets/stage04.std b/assets/stage04.std new file mode 100644 index 0000000..570d61a Binary files /dev/null and b/assets/stage04.std differ diff --git a/assets/stage05.anm b/assets/stage05.anm new file mode 100644 index 0000000..d728c53 Binary files /dev/null and b/assets/stage05.anm differ diff --git a/assets/stage05.ecl b/assets/stage05.ecl new file mode 100644 index 0000000..778c6a5 Binary files /dev/null and b/assets/stage05.ecl differ diff --git a/assets/stage05.std b/assets/stage05.std new file mode 100644 index 0000000..a96c15e Binary files /dev/null and b/assets/stage05.std differ diff --git a/assets/stage05boss.ecl b/assets/stage05boss.ecl new file mode 100644 index 0000000..4b2598a Binary files /dev/null and b/assets/stage05boss.ecl differ diff --git a/assets/stage05mboss.ecl b/assets/stage05mboss.ecl new file mode 100644 index 0000000..819c6ed Binary files /dev/null and b/assets/stage05mboss.ecl differ diff --git a/assets/stage06.anm b/assets/stage06.anm new file mode 100644 index 0000000..1437173 Binary files /dev/null and b/assets/stage06.anm differ diff --git a/assets/stage06.ecl b/assets/stage06.ecl new file mode 100644 index 0000000..dcf3eb5 Binary files /dev/null and b/assets/stage06.ecl differ diff --git a/assets/stage06.std b/assets/stage06.std new file mode 100644 index 0000000..6640fb2 Binary files /dev/null and b/assets/stage06.std differ diff --git a/assets/stage06boss.ecl b/assets/stage06boss.ecl new file mode 100644 index 0000000..d41f200 Binary files /dev/null and b/assets/stage06boss.ecl differ diff --git a/assets/stage06mboss.ecl b/assets/stage06mboss.ecl new file mode 100644 index 0000000..406bdc4 Binary files /dev/null and b/assets/stage06mboss.ecl differ diff --git a/assets/stage07.anm b/assets/stage07.anm new file mode 100644 index 0000000..84fb723 Binary files /dev/null and b/assets/stage07.anm differ diff --git a/assets/stage07.ecl b/assets/stage07.ecl new file mode 100644 index 0000000..c087e66 Binary files /dev/null and b/assets/stage07.ecl differ diff --git a/assets/stage07.std b/assets/stage07.std new file mode 100644 index 0000000..72ea6a1 Binary files /dev/null and b/assets/stage07.std differ diff --git a/assets/stage07boss.ecl b/assets/stage07boss.ecl new file mode 100644 index 0000000..fcd9928 Binary files /dev/null and b/assets/stage07boss.ecl differ diff --git a/assets/stage07mboss.ecl b/assets/stage07mboss.ecl new file mode 100644 index 0000000..e33be4b Binary files /dev/null and b/assets/stage07mboss.ecl differ diff --git a/assets/stage4c00a.ecl b/assets/stage4c00a.ecl new file mode 100644 index 0000000..9e754ae Binary files /dev/null and b/assets/stage4c00a.ecl differ diff --git a/assets/stage4c00b.ecl b/assets/stage4c00b.ecl new file mode 100644 index 0000000..6fc9db9 Binary files /dev/null and b/assets/stage4c00b.ecl differ diff --git a/assets/stage4c00c.ecl b/assets/stage4c00c.ecl new file mode 100644 index 0000000..f524c6f Binary files /dev/null and b/assets/stage4c00c.ecl differ diff --git a/assets/stage4c01a.ecl b/assets/stage4c01a.ecl new file mode 100644 index 0000000..dd61d0e Binary files /dev/null and b/assets/stage4c01a.ecl differ diff --git a/assets/stage4c01b.ecl b/assets/stage4c01b.ecl new file mode 100644 index 0000000..b34f6f5 Binary files /dev/null and b/assets/stage4c01b.ecl differ diff --git a/assets/stage4c01c.ecl b/assets/stage4c01c.ecl new file mode 100644 index 0000000..bd8bf13 Binary files /dev/null and b/assets/stage4c01c.ecl differ diff --git a/assets/stgenm01.anm b/assets/stgenm01.anm new file mode 100644 index 0000000..906855a Binary files /dev/null and b/assets/stgenm01.anm differ diff --git a/assets/stgenm02.anm b/assets/stgenm02.anm new file mode 100644 index 0000000..de8dcc7 Binary files /dev/null and b/assets/stgenm02.anm differ diff --git a/assets/stgenm03.anm b/assets/stgenm03.anm new file mode 100644 index 0000000..7e72c9f Binary files /dev/null and b/assets/stgenm03.anm differ diff --git a/assets/stgenm04.anm b/assets/stgenm04.anm new file mode 100644 index 0000000..079967a Binary files /dev/null and b/assets/stgenm04.anm differ diff --git a/assets/stgenm05.anm b/assets/stgenm05.anm new file mode 100644 index 0000000..a899b9e Binary files /dev/null and b/assets/stgenm05.anm differ diff --git a/assets/stgenm06.anm b/assets/stgenm06.anm new file mode 100644 index 0000000..f70b630 Binary files /dev/null and b/assets/stgenm06.anm differ diff --git a/assets/stgenm07.anm b/assets/stgenm07.anm new file mode 100644 index 0000000..2674751 Binary files /dev/null and b/assets/stgenm07.anm differ diff --git a/assets/text.anm b/assets/text.anm new file mode 100644 index 0000000..7ac7277 Binary files /dev/null and b/assets/text.anm differ diff --git a/assets/th11_0100a.ver b/assets/th11_0100a.ver new file mode 100644 index 0000000..a6776b9 --- /dev/null +++ b/assets/th11_0100a.ver @@ -0,0 +1,3 @@ +0001a 460800 1940315954 +0002a 476672 1580249768 +0100a 487936 3243633801 diff --git a/assets/thbgm.fmt b/assets/thbgm.fmt new file mode 100644 index 0000000..45fee26 Binary files /dev/null and b/assets/thbgm.fmt differ diff --git a/assets/title.anm b/assets/title.anm new file mode 100644 index 0000000..e6108f9 Binary files /dev/null and b/assets/title.anm differ diff --git a/assets/title_v.anm b/assets/title_v.anm new file mode 100644 index 0000000..0312109 Binary files /dev/null and b/assets/title_v.anm differ diff --git a/macros/Cargo.toml b/macros/Cargo.toml new file mode 100644 index 0000000..683f3e6 --- /dev/null +++ b/macros/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "macros" +version = "0.1.0" +edition = "2021" +[lib] +proc-macro = true + +[dependencies] +proc-macro2 = "1.0.86" +quote = "1.0.36" +syn = "2.0.72" +truth = { git = "https://github.com/ExpHP/truth", version = "0.5.2" } diff --git a/macros/src/lib.rs b/macros/src/lib.rs new file mode 100644 index 0000000..6c59bf8 --- /dev/null +++ b/macros/src/lib.rs @@ -0,0 +1,64 @@ +use proc_macro2::TokenStream; +use quote::quote; +use syn::{ + parse::{ParseStream, Parser}, Expr, LitStr, Token +}; +use truth::{ + context::RootEmitter, llir::{ArgEncoding, InstrAbi, StringArgSize}, pos::SourceStr +}; + +#[proc_macro] +pub fn decode_args(input: proc_macro::TokenStream) -> proc_macro::TokenStream { + match blob_impl.parse(input.clone()) { + Ok(data) => data.into(), + Err(error) => { + // error.span().unwrap().error(error.to_string()); + error.into_compile_error().into() + } + } +} + +fn blob_impl(input: ParseStream) -> syn::Result { + let reader: Expr = input.parse()?; + let _: Token![,] = input.parse()?; + let sig_str: LitStr = input.parse()?; + let sig = InstrAbi::parse( + SourceStr::from_full_source(None, sig_str.value().as_str()), + &RootEmitter::new_stderr(), + ) + .unwrap(); + let encodings: Vec<_> = sig + .arg_encodings() + .map(|enc| { + Ok(match enc { + ArgEncoding::Float => quote!(cursor.read_f32().unwrap()), + ArgEncoding::Integer { size, .. } => { + let size = *size as usize; + + match size { + 2 => quote!(cursor.read_i16().unwrap()), + 4 => quote!(cursor.read_i32().unwrap()), + _ => panic!("invalid integer size {size}"), + } + } + ArgEncoding::JumpTime => quote!(cursor.read_i32().unwrap()), + ArgEncoding::JumpOffset => quote!(cursor.read_i32().unwrap()), + ArgEncoding::String { + size: StringArgSize::Fixed { len, .. }, + .. + } => quote!(cursor.read_cstring_exact(#len)), + _ => return Err(syn::Error::new(sig_str.span(), "failed...")), + }) + }) + .collect::>()?; + + Ok(quote! { + { + use truth::io::BinRead; + let mut cursor = ::std::io::Cursor::new(#reader); + ( + #(#encodings),* + ) + } + }) +} diff --git a/research/ascii.tanm b/research/ascii.tanm new file mode 100644 index 0000000..68ac0be --- /dev/null +++ b/research/ascii.tanm @@ -0,0 +1,991 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ascii/ascii.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 11, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 14.0, h: 14.0}, + sprite1: {x: 14.0, y: 0.0, w: 14.0, h: 14.0}, + sprite2: {x: 28.0, y: 0.0, w: 14.0, h: 14.0}, + sprite3: {x: 42.0, y: 0.0, w: 14.0, h: 14.0}, + sprite4: {x: 56.0, y: 0.0, w: 14.0, h: 14.0}, + sprite5: {x: 70.0, y: 0.0, w: 14.0, h: 14.0}, + sprite6: {x: 84.0, y: 0.0, w: 14.0, h: 14.0}, + sprite7: {x: 98.0, y: 0.0, w: 14.0, h: 14.0}, + sprite8: {x: 112.0, y: 0.0, w: 14.0, h: 14.0}, + sprite9: {x: 126.0, y: 0.0, w: 14.0, h: 14.0}, + sprite10: {x: 140.0, y: 0.0, w: 14.0, h: 14.0}, + sprite11: {x: 154.0, y: 0.0, w: 14.0, h: 14.0}, + sprite12: {x: 168.0, y: 0.0, w: 14.0, h: 14.0}, + sprite13: {x: 182.0, y: 0.0, w: 14.0, h: 14.0}, + sprite14: {x: 196.0, y: 0.0, w: 14.0, h: 14.0}, + sprite15: {x: 210.0, y: 0.0, w: 14.0, h: 14.0}, + sprite16: {x: 224.0, y: 0.0, w: 14.0, h: 14.0}, + sprite17: {x: 238.0, y: 0.0, w: 14.0, h: 14.0}, + sprite18: {x: 0.0, y: 14.0, w: 14.0, h: 14.0}, + sprite19: {x: 14.0, y: 14.0, w: 14.0, h: 14.0}, + sprite20: {x: 28.0, y: 14.0, w: 14.0, h: 14.0}, + sprite21: {x: 42.0, y: 14.0, w: 14.0, h: 14.0}, + sprite22: {x: 56.0, y: 14.0, w: 14.0, h: 14.0}, + sprite23: {x: 70.0, y: 14.0, w: 14.0, h: 14.0}, + sprite24: {x: 84.0, y: 14.0, w: 14.0, h: 14.0}, + sprite25: {x: 98.0, y: 14.0, w: 14.0, h: 14.0}, + sprite26: {x: 112.0, y: 14.0, w: 14.0, h: 14.0}, + sprite27: {x: 126.0, y: 14.0, w: 14.0, h: 14.0}, + sprite28: {x: 140.0, y: 14.0, w: 14.0, h: 14.0}, + sprite29: {x: 154.0, y: 14.0, w: 14.0, h: 14.0}, + sprite30: {x: 168.0, y: 14.0, w: 14.0, h: 14.0}, + sprite31: {x: 182.0, y: 14.0, w: 14.0, h: 14.0}, + sprite32: {x: 196.0, y: 14.0, w: 14.0, h: 14.0}, + sprite33: {x: 210.0, y: 14.0, w: 14.0, h: 14.0}, + sprite34: {x: 224.0, y: 14.0, w: 14.0, h: 14.0}, + sprite35: {x: 238.0, y: 14.0, w: 14.0, h: 14.0}, + sprite36: {x: 0.0, y: 28.0, w: 14.0, h: 14.0}, + sprite37: {x: 14.0, y: 28.0, w: 14.0, h: 14.0}, + sprite38: {x: 28.0, y: 28.0, w: 14.0, h: 14.0}, + sprite39: {x: 42.0, y: 28.0, w: 14.0, h: 14.0}, + sprite40: {x: 56.0, y: 28.0, w: 14.0, h: 14.0}, + sprite41: {x: 70.0, y: 28.0, w: 14.0, h: 14.0}, + sprite42: {x: 84.0, y: 28.0, w: 14.0, h: 14.0}, + sprite43: {x: 98.0, y: 28.0, w: 14.0, h: 14.0}, + sprite44: {x: 112.0, y: 28.0, w: 14.0, h: 14.0}, + sprite45: {x: 126.0, y: 28.0, w: 14.0, h: 14.0}, + sprite46: {x: 140.0, y: 28.0, w: 14.0, h: 14.0}, + sprite47: {x: 154.0, y: 28.0, w: 14.0, h: 14.0}, + sprite48: {x: 168.0, y: 28.0, w: 14.0, h: 14.0}, + sprite49: {x: 182.0, y: 28.0, w: 14.0, h: 14.0}, + sprite50: {x: 196.0, y: 28.0, w: 14.0, h: 14.0}, + sprite51: {x: 210.0, y: 28.0, w: 14.0, h: 14.0}, + sprite52: {x: 224.0, y: 28.0, w: 14.0, h: 14.0}, + sprite53: {x: 238.0, y: 28.0, w: 14.0, h: 14.0}, + sprite54: {x: 0.0, y: 42.0, w: 14.0, h: 14.0}, + sprite55: {x: 14.0, y: 42.0, w: 14.0, h: 14.0}, + sprite56: {x: 28.0, y: 42.0, w: 14.0, h: 14.0}, + sprite57: {x: 42.0, y: 42.0, w: 14.0, h: 14.0}, + sprite58: {x: 56.0, y: 42.0, w: 14.0, h: 14.0}, + sprite59: {x: 70.0, y: 42.0, w: 14.0, h: 14.0}, + sprite60: {x: 84.0, y: 42.0, w: 14.0, h: 14.0}, + sprite61: {x: 98.0, y: 42.0, w: 14.0, h: 14.0}, + sprite62: {x: 112.0, y: 42.0, w: 14.0, h: 14.0}, + sprite63: {x: 126.0, y: 42.0, w: 14.0, h: 14.0}, + sprite64: {x: 140.0, y: 42.0, w: 14.0, h: 14.0}, + sprite65: {x: 154.0, y: 42.0, w: 14.0, h: 14.0}, + sprite66: {x: 168.0, y: 42.0, w: 14.0, h: 14.0}, + sprite67: {x: 182.0, y: 42.0, w: 14.0, h: 14.0}, + sprite68: {x: 196.0, y: 42.0, w: 14.0, h: 14.0}, + sprite69: {x: 210.0, y: 42.0, w: 14.0, h: 14.0}, + sprite70: {x: 224.0, y: 42.0, w: 14.0, h: 14.0}, + sprite71: {x: 238.0, y: 42.0, w: 14.0, h: 14.0}, + sprite72: {x: 0.0, y: 56.0, w: 14.0, h: 14.0}, + sprite73: {x: 14.0, y: 56.0, w: 14.0, h: 14.0}, + sprite74: {x: 28.0, y: 56.0, w: 14.0, h: 14.0}, + sprite75: {x: 42.0, y: 56.0, w: 14.0, h: 14.0}, + sprite76: {x: 56.0, y: 56.0, w: 14.0, h: 14.0}, + sprite77: {x: 70.0, y: 56.0, w: 14.0, h: 14.0}, + sprite78: {x: 84.0, y: 56.0, w: 14.0, h: 14.0}, + sprite79: {x: 98.0, y: 56.0, w: 14.0, h: 14.0}, + sprite80: {x: 112.0, y: 56.0, w: 14.0, h: 14.0}, + sprite81: {x: 126.0, y: 56.0, w: 14.0, h: 14.0}, + sprite82: {x: 140.0, y: 56.0, w: 14.0, h: 14.0}, + sprite83: {x: 154.0, y: 56.0, w: 14.0, h: 14.0}, + sprite84: {x: 168.0, y: 56.0, w: 14.0, h: 14.0}, + sprite85: {x: 182.0, y: 56.0, w: 14.0, h: 14.0}, + sprite86: {x: 196.0, y: 56.0, w: 14.0, h: 14.0}, + sprite87: {x: 210.0, y: 56.0, w: 14.0, h: 14.0}, + sprite88: {x: 224.0, y: 56.0, w: 14.0, h: 14.0}, + sprite89: {x: 238.0, y: 56.0, w: 14.0, h: 14.0}, + sprite90: {x: 0.0, y: 70.0, w: 14.0, h: 14.0}, + sprite91: {x: 14.0, y: 70.0, w: 14.0, h: 14.0}, + sprite92: {x: 28.0, y: 70.0, w: 14.0, h: 14.0}, + sprite93: {x: 42.0, y: 70.0, w: 14.0, h: 14.0}, + sprite94: {x: 56.0, y: 70.0, w: 14.0, h: 14.0}, + sprite95: {x: 70.0, y: 70.0, w: 14.0, h: 14.0}, + sprite96: {x: 84.0, y: 70.0, w: 14.0, h: 14.0}, + sprite97: {x: 98.0, y: 70.0, w: 14.0, h: 14.0}, + sprite98: {x: 0.0, y: 128.0, w: 8.0, h: 8.0}, + sprite99: {x: 8.0, y: 128.0, w: 8.0, h: 8.0}, + sprite100: {x: 16.0, y: 128.0, w: 8.0, h: 8.0}, + sprite101: {x: 24.0, y: 128.0, w: 8.0, h: 8.0}, + sprite102: {x: 32.0, y: 128.0, w: 8.0, h: 8.0}, + sprite103: {x: 40.0, y: 128.0, w: 8.0, h: 8.0}, + sprite104: {x: 48.0, y: 128.0, w: 8.0, h: 8.0}, + sprite105: {x: 56.0, y: 128.0, w: 8.0, h: 8.0}, + sprite106: {x: 64.0, y: 128.0, w: 8.0, h: 8.0}, + sprite107: {x: 72.0, y: 128.0, w: 8.0, h: 8.0}, + sprite108: {x: 80.0, y: 128.0, w: 8.0, h: 8.0}, + sprite109: {x: 88.0, y: 128.0, w: 8.0, h: 8.0}, + sprite110: {x: 96.0, y: 128.0, w: 8.0, h: 8.0}, + sprite111: {x: 104.0, y: 128.0, w: 8.0, h: 8.0}, + sprite112: {x: 112.0, y: 128.0, w: 8.0, h: 8.0}, + sprite113: {x: 120.0, y: 128.0, w: 8.0, h: 8.0}, + sprite114: {x: 128.0, y: 128.0, w: 8.0, h: 8.0}, + sprite115: {x: 136.0, y: 128.0, w: 8.0, h: 8.0}, + sprite116: {x: 144.0, y: 128.0, w: 8.0, h: 8.0}, + sprite117: {x: 152.0, y: 128.0, w: 8.0, h: 8.0}, + sprite118: {x: 160.0, y: 128.0, w: 8.0, h: 8.0}, + sprite119: {x: 168.0, y: 128.0, w: 8.0, h: 8.0}, + sprite120: {x: 176.0, y: 128.0, w: 8.0, h: 8.0}, + sprite121: {x: 184.0, y: 128.0, w: 8.0, h: 8.0}, + sprite122: {x: 192.0, y: 128.0, w: 8.0, h: 8.0}, + sprite123: {x: 200.0, y: 128.0, w: 8.0, h: 8.0}, + sprite124: {x: 208.0, y: 128.0, w: 8.0, h: 8.0}, + sprite125: {x: 216.0, y: 128.0, w: 8.0, h: 8.0}, + sprite126: {x: 224.0, y: 128.0, w: 8.0, h: 8.0}, + sprite127: {x: 232.0, y: 128.0, w: 8.0, h: 8.0}, + sprite128: {x: 240.0, y: 128.0, w: 8.0, h: 8.0}, + sprite129: {x: 248.0, y: 128.0, w: 8.0, h: 8.0}, + sprite130: {x: 0.0, y: 136.0, w: 8.0, h: 8.0}, + sprite131: {x: 8.0, y: 136.0, w: 8.0, h: 8.0}, + sprite132: {x: 16.0, y: 136.0, w: 8.0, h: 8.0}, + sprite133: {x: 24.0, y: 136.0, w: 8.0, h: 8.0}, + sprite134: {x: 32.0, y: 136.0, w: 8.0, h: 8.0}, + sprite135: {x: 40.0, y: 136.0, w: 8.0, h: 8.0}, + sprite136: {x: 48.0, y: 136.0, w: 8.0, h: 8.0}, + sprite137: {x: 56.0, y: 136.0, w: 8.0, h: 8.0}, + sprite138: {x: 64.0, y: 136.0, w: 8.0, h: 8.0}, + sprite139: {x: 72.0, y: 136.0, w: 8.0, h: 8.0}, + sprite140: {x: 80.0, y: 136.0, w: 8.0, h: 8.0}, + sprite141: {x: 88.0, y: 136.0, w: 8.0, h: 8.0}, + sprite142: {x: 96.0, y: 136.0, w: 8.0, h: 8.0}, + sprite143: {x: 104.0, y: 136.0, w: 8.0, h: 8.0}, + sprite144: {x: 112.0, y: 136.0, w: 8.0, h: 8.0}, + sprite145: {x: 120.0, y: 136.0, w: 8.0, h: 8.0}, + sprite146: {x: 128.0, y: 136.0, w: 8.0, h: 8.0}, + sprite147: {x: 136.0, y: 136.0, w: 8.0, h: 8.0}, + sprite148: {x: 144.0, y: 136.0, w: 8.0, h: 8.0}, + sprite149: {x: 152.0, y: 136.0, w: 8.0, h: 8.0}, + sprite150: {x: 160.0, y: 136.0, w: 8.0, h: 8.0}, + sprite151: {x: 168.0, y: 136.0, w: 8.0, h: 8.0}, + sprite152: {x: 176.0, y: 136.0, w: 8.0, h: 8.0}, + sprite153: {x: 184.0, y: 136.0, w: 8.0, h: 8.0}, + sprite154: {x: 192.0, y: 136.0, w: 8.0, h: 8.0}, + sprite155: {x: 200.0, y: 136.0, w: 8.0, h: 8.0}, + sprite156: {x: 208.0, y: 136.0, w: 8.0, h: 8.0}, + sprite157: {x: 216.0, y: 136.0, w: 8.0, h: 8.0}, + sprite158: {x: 224.0, y: 136.0, w: 8.0, h: 8.0}, + sprite159: {x: 232.0, y: 136.0, w: 8.0, h: 8.0}, + sprite160: {x: 240.0, y: 136.0, w: 8.0, h: 8.0}, + sprite161: {x: 248.0, y: 136.0, w: 8.0, h: 8.0}, + sprite162: {x: 0.0, y: 144.0, w: 8.0, h: 8.0}, + sprite163: {x: 8.0, y: 144.0, w: 8.0, h: 8.0}, + sprite164: {x: 16.0, y: 144.0, w: 8.0, h: 8.0}, + sprite165: {x: 24.0, y: 144.0, w: 8.0, h: 8.0}, + sprite166: {x: 32.0, y: 144.0, w: 8.0, h: 8.0}, + sprite167: {x: 40.0, y: 144.0, w: 8.0, h: 8.0}, + sprite168: {x: 48.0, y: 144.0, w: 8.0, h: 8.0}, + sprite169: {x: 56.0, y: 144.0, w: 8.0, h: 8.0}, + sprite170: {x: 64.0, y: 144.0, w: 8.0, h: 8.0}, + sprite171: {x: 72.0, y: 144.0, w: 8.0, h: 8.0}, + sprite172: {x: 80.0, y: 144.0, w: 8.0, h: 8.0}, + sprite173: {x: 88.0, y: 144.0, w: 8.0, h: 8.0}, + sprite174: {x: 96.0, y: 144.0, w: 8.0, h: 8.0}, + sprite175: {x: 104.0, y: 144.0, w: 8.0, h: 8.0}, + sprite176: {x: 112.0, y: 144.0, w: 8.0, h: 8.0}, + sprite177: {x: 120.0, y: 144.0, w: 8.0, h: 8.0}, + sprite178: {x: 128.0, y: 144.0, w: 8.0, h: 8.0}, + sprite179: {x: 136.0, y: 144.0, w: 8.0, h: 8.0}, + sprite180: {x: 144.0, y: 144.0, w: 8.0, h: 8.0}, + sprite181: {x: 152.0, y: 144.0, w: 8.0, h: 8.0}, + sprite182: {x: 160.0, y: 144.0, w: 8.0, h: 8.0}, + sprite183: {x: 168.0, y: 144.0, w: 8.0, h: 8.0}, + sprite184: {x: 176.0, y: 144.0, w: 8.0, h: 8.0}, + sprite185: {x: 184.0, y: 144.0, w: 8.0, h: 8.0}, + sprite186: {x: 192.0, y: 144.0, w: 8.0, h: 8.0}, + sprite187: {x: 200.0, y: 144.0, w: 8.0, h: 8.0}, + sprite188: {x: 208.0, y: 144.0, w: 8.0, h: 8.0}, + sprite189: {x: 216.0, y: 144.0, w: 8.0, h: 8.0}, + sprite190: {x: 224.0, y: 144.0, w: 8.0, h: 8.0}, + sprite191: {x: 232.0, y: 144.0, w: 8.0, h: 8.0}, + sprite192: {x: 240.0, y: 144.0, w: 8.0, h: 8.0}, + sprite193: {x: 248.0, y: 144.0, w: 8.0, h: 8.0}, + sprite194: {x: 0.0, y: 152.0, w: 8.0, h: 8.0}, + sprite195: {x: 8.0, y: 152.0, w: 8.0, h: 8.0}, + sprite196: {x: 0.0, y: 248.0, w: 8.0, h: 8.0}, + sprite197: {x: 8.0, y: 248.0, w: 8.0, h: 8.0}, + sprite198: {x: 16.0, y: 248.0, w: 8.0, h: 8.0}, + sprite199: {x: 24.0, y: 248.0, w: 8.0, h: 8.0}, + sprite200: {x: 32.0, y: 248.0, w: 8.0, h: 8.0}, + sprite201: {x: 40.0, y: 248.0, w: 8.0, h: 8.0}, + sprite202: {x: 48.0, y: 248.0, w: 8.0, h: 8.0}, + sprite203: {x: 56.0, y: 248.0, w: 8.0, h: 8.0}, + sprite204: {x: 64.0, y: 248.0, w: 8.0, h: 8.0}, + sprite205: {x: 72.0, y: 248.0, w: 8.0, h: 8.0}, + sprite206: {x: 80.0, y: 248.0, w: 48.0, h: 8.0}, + sprite207: {x: 0.0, y: 232.0, w: 8.0, h: 8.0}, + sprite208: {x: 8.0, y: 232.0, w: 8.0, h: 8.0}, + sprite209: {x: 16.0, y: 232.0, w: 8.0, h: 8.0}, + sprite210: {x: 24.0, y: 232.0, w: 8.0, h: 8.0}, + sprite211: {x: 32.0, y: 232.0, w: 8.0, h: 8.0}, + sprite212: {x: 40.0, y: 232.0, w: 8.0, h: 8.0}, + sprite213: {x: 48.0, y: 232.0, w: 8.0, h: 8.0}, + sprite214: {x: 56.0, y: 232.0, w: 8.0, h: 8.0}, + sprite215: {x: 64.0, y: 232.0, w: 8.0, h: 8.0}, + sprite216: {x: 72.0, y: 232.0, w: 8.0, h: 8.0}, + sprite217: {x: 0.0, y: 240.0, w: 8.0, h: 8.0}, + sprite218: {x: 8.0, y: 240.0, w: 8.0, h: 8.0}, + sprite219: {x: 16.0, y: 240.0, w: 8.0, h: 8.0}, + sprite220: {x: 24.0, y: 240.0, w: 8.0, h: 8.0}, + sprite221: {x: 32.0, y: 240.0, w: 8.0, h: 8.0}, + sprite222: {x: 40.0, y: 240.0, w: 8.0, h: 8.0}, + sprite223: {x: 48.0, y: 240.0, w: 8.0, h: 8.0}, + sprite224: {x: 56.0, y: 240.0, w: 8.0, h: 8.0}, + sprite225: {x: 64.0, y: 240.0, w: 8.0, h: 8.0}, + sprite226: {x: 72.0, y: 240.0, w: 8.0, h: 8.0}, + sprite227: {x: 128.0, y: 72.0, w: 8.0, h: 10.0}, + sprite228: {x: 136.0, y: 72.0, w: 8.0, h: 10.0}, + sprite229: {x: 144.0, y: 72.0, w: 8.0, h: 10.0}, + sprite230: {x: 152.0, y: 72.0, w: 8.0, h: 10.0}, + sprite231: {x: 160.0, y: 72.0, w: 8.0, h: 10.0}, + sprite232: {x: 168.0, y: 72.0, w: 8.0, h: 10.0}, + sprite233: {x: 176.0, y: 72.0, w: 8.0, h: 10.0}, + sprite234: {x: 184.0, y: 72.0, w: 8.0, h: 10.0}, + sprite235: {x: 192.0, y: 72.0, w: 8.0, h: 10.0}, + sprite236: {x: 200.0, y: 72.0, w: 8.0, h: 10.0}, + sprite237: {x: 208.0, y: 72.0, w: 8.0, h: 10.0}, + sprite238: {x: 216.0, y: 72.0, w: 8.0, h: 10.0}, + sprite239: {x: 224.0, y: 72.0, w: 8.0, h: 10.0}, + sprite240: {x: 232.0, y: 72.0, w: 8.0, h: 10.0}, + sprite241: {x: 240.0, y: 72.0, w: 8.0, h: 10.0}, + sprite242: {x: 248.0, y: 72.0, w: 8.0, h: 10.0}, + sprite243: {x: 0.0, y: 216.0, w: 16.0, h: 16.0}, + sprite244: {x: 16.0, y: 216.0, w: 16.0, h: 16.0}, + sprite245: {x: 32.0, y: 216.0, w: 16.0, h: 16.0}, + sprite246: {x: 48.0, y: 216.0, w: 16.0, h: 16.0}, + sprite247: {x: 64.0, y: 216.0, w: 16.0, h: 16.0}, + sprite248: {x: 80.0, y: 216.0, w: 16.0, h: 16.0}, + sprite249: {x: 96.0, y: 216.0, w: 16.0, h: 16.0}, + sprite250: {x: 112.0, y: 216.0, w: 16.0, h: 16.0}, + sprite251: {x: 128.0, y: 216.0, w: 16.0, h: 16.0}, + sprite252: {x: 144.0, y: 216.0, w: 16.0, h: 16.0}, + sprite253: {x: 160.0, y: 216.0, w: 16.0, h: 16.0}, + sprite254: {x: 176.0, y: 216.0, w: 16.0, h: 16.0}, + sprite255: {x: 192.0, y: 216.0, w: 16.0, h: 16.0}, + sprite256: {x: 208.0, y: 240.0, w: 48.0, h: 16.0}, + sprite257: {x: 0.0, y: 88.0, w: 256.0, h: 40.0}, + sprite258: {x: 0.0, y: 152.0, w: 256.0, h: 40.0}, + sprite259: {x: 0.0, y: 192.0, w: 144.0, h: 10.0}, + sprite260: {x: 144.0, y: 192.0, w: 32.0, h: 10.0}, + sprite261: {x: 208.0, y: 240.0, w: 48.0, h: 16.0}, + }, +} + + +script 0 script0 { + sprite(sprite261); + anchor(0, 2); + blendMode(1); + stop(); + +interrupt[7]: + loop { + color(255, 255, 255); ++16: // 16 + color(0, 0, 0); ++2: // 18 + } + +interrupt[8]: + loop { + color(255, 255, 255); ++8: // 26 + color(0, 0, 0); ++2: // 28 + } + +interrupt[9]: + loop { + color(255, 255, 255); ++2: // 30 + color(0, 0, 0); ++2: // 32 + } + +interrupt[10]: + color(255, 255, 255); + stop(); +} + + +script 1 script1 { + sprite(sprite257); + anchor(2, 1); + layer(18); + alpha(0); + alphaTime(30, 0, 255); + pos(416.0, 384.0, 0.0); + scale(4.0, 4.0); + scaleTime(60, 4, 1.0, 1.0); ++60: // 60 + posTime(60, 10, 416.0, 16.0, 0.0); ++30: // 90 + stop(); + +interrupt[3]: + alphaTime(8, 1, 128); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + posTime(30, 4, 672.0, 16.0, 0.0); ++30: // 120 + delete(); +} + + +script 2 script2 { + sprite(sprite259); + anchor(2, 1); + layer(16); + alpha(0); + pos(368.0, 51.0, 0.0); ++90: // 90 + alphaTime(30, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + posTime(30, 4, 672.0, 51.0, 0.0); ++30: // 120 + delete(); +} + + +script 3 script3 { + sprite(sprite243); + ins_85(1); + randMode(1); + pos(382.0, 24.0, 0.0); + anchor(0, 0); + layer(22); ++20: // 20 + stop(); + +interrupt[7]: + color(255, 255, 255); + stop(); + +interrupt[8]: + color(255, 144, 144); + scale(1.4, 1.4); + scaleTime(8, 0, 1.0, 1.0); + stop(); + +interrupt[9]: + color(255, 64, 64); + scale(1.8, 1.8); + scaleTime(8, 0, 1.0, 1.0); + stop(); +} + + +script 4 script4 { + sprite(sprite243); + ins_85(1); + randMode(1); + pos(394.0, 24.0, 0.0); + anchor(0, 0); + layer(22); ++20: // 20 + stop(); + +interrupt[7]: + color(255, 255, 255); + stop(); + +interrupt[8]: + color(255, 144, 144); + scale(1.4, 1.4); + scaleTime(8, 0, 1.0, 1.0); + stop(); + +interrupt[9]: + color(255, 64, 64); + scale(1.8, 1.8); + scaleTime(8, 0, 1.0, 1.0); + stop(); +} + + +script 5 script5 { + sprite(sprite243); + randMode(1); + anchor(0, 0); + pos(170.0, 152.0, 0.0); + resampleMode(1); + layer(16); + alpha(0); ++20: // 20 + wait(0); + alphaTime(8, 0, 255); + posTime(10, 4, 170.0, 136.0, 0.0); ++10: // 30 + posTime(10, 1, 170.0, 152.0, 0.0); + color(255, 255, 255); ++2: // 32 + color(128, 128, 128); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(128, 128, 128); ++2: // 38 + color(255, 255, 255); ++2: // 40 + color(128, 128, 128); ++2: // 42 + color(255, 255, 255); ++2: // 44 + color(128, 128, 128); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(128, 128, 128); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(128, 128, 128); ++2: // 54 + color(255, 255, 255); + wait(80); + scaleTime(20, 4, 1.0, 0.0); + resampleMode(0); ++20: // 74 + delete(); +} + + +script 6 script6 { + sprite(sprite243); + randMode(1); + anchor(0, 0); + pos(182.0, 152.0, 0.0); + resampleMode(1); + layer(16); + alpha(0); ++20: // 20 + wait(3); + alphaTime(8, 0, 255); + posTime(10, 4, 182.0, 136.0, 0.0); ++10: // 30 + posTime(10, 1, 182.0, 152.0, 0.0); + color(255, 255, 255); ++2: // 32 + color(128, 128, 128); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(128, 128, 128); ++2: // 38 + color(255, 255, 255); ++2: // 40 + color(128, 128, 128); ++2: // 42 + color(255, 255, 255); ++2: // 44 + color(128, 128, 128); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(128, 128, 128); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(128, 128, 128); ++2: // 54 + color(255, 255, 255); + wait(77); + scaleTime(20, 4, 1.0, 0.0); + resampleMode(0); ++20: // 74 + delete(); +} + + +script 7 script7 { + sprite(sprite243); + randMode(1); + anchor(0, 0); + pos(194.0, 152.0, 0.0); + resampleMode(1); + layer(16); + alpha(0); ++20: // 20 + wait(6); + alphaTime(8, 0, 255); + posTime(10, 4, 194.0, 136.0, 0.0); ++10: // 30 + posTime(10, 1, 194.0, 152.0, 0.0); + color(255, 255, 255); ++2: // 32 + color(128, 128, 128); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(128, 128, 128); ++2: // 38 + color(255, 255, 255); ++2: // 40 + color(128, 128, 128); ++2: // 42 + color(255, 255, 255); ++2: // 44 + color(128, 128, 128); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(128, 128, 128); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(128, 128, 128); ++2: // 54 + color(255, 255, 255); + wait(74); + scaleTime(20, 4, 1.0, 0.0); + resampleMode(0); ++20: // 74 + delete(); +} + + +script 8 script8 { + sprite(sprite243); + randMode(1); + anchor(0, 0); + pos(206.0, 152.0, 0.0); + resampleMode(1); + layer(16); + alpha(0); ++20: // 20 + wait(9); + alphaTime(8, 0, 255); + posTime(10, 4, 206.0, 136.0, 0.0); ++10: // 30 + posTime(10, 1, 206.0, 152.0, 0.0); + color(255, 255, 255); ++2: // 32 + color(128, 128, 128); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(128, 128, 128); ++2: // 38 + color(255, 255, 255); ++2: // 40 + color(128, 128, 128); ++2: // 42 + color(255, 255, 255); ++2: // 44 + color(128, 128, 128); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(128, 128, 128); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(128, 128, 128); ++2: // 54 + color(255, 255, 255); + wait(71); + scaleTime(20, 4, 1.0, 0.0); + resampleMode(0); ++20: // 74 + delete(); +} + + +script 9 script9 { + sprite(sprite243); + randMode(1); + anchor(0, 0); + pos(218.0, 152.0, 0.0); + resampleMode(1); + layer(16); + alpha(0); ++20: // 20 + wait(12); + alphaTime(8, 0, 255); + posTime(10, 4, 218.0, 136.0, 0.0); ++10: // 30 + posTime(10, 1, 218.0, 152.0, 0.0); + color(255, 255, 255); ++2: // 32 + color(128, 128, 128); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(128, 128, 128); ++2: // 38 + color(255, 255, 255); ++2: // 40 + color(128, 128, 128); ++2: // 42 + color(255, 255, 255); ++2: // 44 + color(128, 128, 128); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(128, 128, 128); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(128, 128, 128); ++2: // 54 + color(255, 255, 255); + wait(68); + scaleTime(20, 4, 1.0, 0.0); + resampleMode(0); ++20: // 74 + delete(); +} + + +script 10 script10 { + sprite(sprite243); + randMode(1); + anchor(0, 0); + pos(230.0, 152.0, 0.0); + resampleMode(1); + layer(16); + alpha(0); ++20: // 20 + wait(15); + alphaTime(8, 0, 255); + posTime(10, 4, 230.0, 136.0, 0.0); ++10: // 30 + posTime(10, 1, 230.0, 152.0, 0.0); + color(255, 255, 255); ++2: // 32 + color(128, 128, 128); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(128, 128, 128); ++2: // 38 + color(255, 255, 255); ++2: // 40 + color(128, 128, 128); ++2: // 42 + color(255, 255, 255); ++2: // 44 + color(128, 128, 128); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(128, 128, 128); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(128, 128, 128); ++2: // 54 + color(255, 255, 255); + wait(65); + scaleTime(20, 4, 1.0, 0.0); + resampleMode(0); ++20: // 74 + delete(); +} + + +script 11 script11 { + sprite(sprite243); + randMode(1); + anchor(0, 0); + pos(242.0, 152.0, 0.0); + resampleMode(1); + layer(16); + alpha(0); ++20: // 20 + wait(18); + alphaTime(8, 0, 255); + posTime(10, 4, 242.0, 136.0, 0.0); ++10: // 30 + posTime(10, 1, 242.0, 152.0, 0.0); + color(255, 255, 255); ++2: // 32 + color(128, 128, 128); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(128, 128, 128); ++2: // 38 + color(255, 255, 255); ++2: // 40 + color(128, 128, 128); ++2: // 42 + color(255, 255, 255); ++2: // 44 + color(128, 128, 128); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(128, 128, 128); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(128, 128, 128); ++2: // 54 + color(255, 255, 255); + wait(62); + scaleTime(20, 4, 1.0, 0.0); + resampleMode(0); ++20: // 74 + delete(); +} + + +script 12 script12 { + sprite(sprite243); + randMode(1); + anchor(0, 0); + pos(254.0, 152.0, 0.0); + resampleMode(1); + layer(16); + alpha(0); ++20: // 20 + wait(21); + alphaTime(8, 0, 255); + posTime(10, 4, 254.0, 136.0, 0.0); ++10: // 30 + posTime(10, 1, 254.0, 152.0, 0.0); + color(255, 255, 255); ++2: // 32 + color(128, 128, 128); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(128, 128, 128); ++2: // 38 + color(255, 255, 255); ++2: // 40 + color(128, 128, 128); ++2: // 42 + color(255, 255, 255); ++2: // 44 + color(128, 128, 128); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(128, 128, 128); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(128, 128, 128); ++2: // 54 + color(255, 255, 255); + wait(59); + scaleTime(20, 4, 1.0, 0.0); + resampleMode(0); ++20: // 74 + delete(); +} + + +entry { + path: "ascii/loading.png", + img_width: 128, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite262: {x: 1.0, y: 1.0, w: 126.0, h: 30.0}, + sprite263: {x: 1.0, y: 33.0, w: 126.0, h: 30.0}, + sprite264: {x: 1.0, y: 65.0, w: 30.0, h: 30.0}, + }, +} + + +script 13 script13 { + sprite(sprite262); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.01); + layer(29); + alpha(0); + alphaTime(8, 0, 255); ++20: // 20 + nop(); + loop { + alphaTime(20, 9, 255); ++20: // 40 + alphaTime(20, 9, 128); ++20: // 60 + } + +interrupt[1]: + alphaTime(30, 0, 0); ++30: // 90 + delete(); +} + + +script 14 script14 { + sprite(sprite263); + ins_85(1); + randMode(1); + pos(128.0, 16.0, 0.0); + layer(29); + alpha(0); ++8: // 8 + posTime(4, 4, 48.0, 16.0, 0.0); + alphaTime(8, 0, 255); ++30: // 38 + nop(); + loop { + alphaTime(30, 9, 255); ++30: // 68 + alphaTime(30, 9, 128); ++30: // 98 + } + +interrupt[1]: + posTime(30, 4, 120.0, 16.0, 0.0); + alphaTime(30, 0, 0); ++30: // 128 + delete(); +} + + +script 15 script15 { + type(1); + ins_85(1); + randMode(1); + blendMode(1); + sprite(sprite264); + layer(29); + F0 = RANDF2 * 96.0; + F0 += 16.0; + F1 = RANDF2 * 16.0; + F1 -= 32.0; + F2 = RANDF2 * 32.0; + F2 += F0; + F3 = RANDF2 * 16.0; + F3 += 48.0; + pos(F0, F1, 0.02); + posTime(60, 0, F2, F3, 0.02); + F0 = RANDF * 0.8; + F0 += 0.2; + scale(F0, F0); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + rotate(0.0, 0.0, RANDRAD); + alpha(0); + alphaTime(10, 0, 255); + F0 = RANDF * 192.0; + I0 = $F0 + 63; + color(I0, I0, I0); ++50: // 50 + alphaTime(10, 0, 0); ++10: // 60 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 70 + delete(); +} + + +script 16 script16 { + ins_85(1); + randMode(1); + layer(24); + alpha(0); ++1: // 1 + scriptNewUI(script14); + scriptNewUI(script13); + loop { + scriptNewUIFront(script15); ++2: // 3 + } + +interrupt[1]: ++10: // 13 + delete(); +} + + +script 17 script17 { + type(1); + ins_85(1); + randMode(1); + blendMode(1); + sprite(sprite264); + layer(21); + F0 = RANDF * 640.0; + F1 = RANDF * 480.0; + F1 -= 128.0; + F2 = RANDF2 * 128.0; + F2 += F0; + F3 = RANDF * 128.0; + F3 += 192.0; + F3 += F1; + pos(F0, F1, 0.5); + posTime(300, 0, F2, F3, 0.5); + F0 = RANDF * 0.8; + F0 += 0.2; + scale(F0, F0); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + rotate(0.0, 0.0, RANDRAD); + alpha(0); + alphaTime(30, 0, 128); + F0 = RANDF * 192.0; + I0 = $F0 + 63; + color(I0, I0, I0); ++290: // 290 + alphaTime(10, 0, 0); ++10: // 300 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 310 + delete(); +} + + +script 18 script18 { + ins_85(1); + randMode(1); + layer(21); + alpha(0); ++1: // 1 + nop(); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + scriptNewFront(script17); + loop { + scriptNewFront(script17); ++3: // 4 + } + +interrupt[1]: ++10: // 14 + delete(); +} diff --git a/research/bullet.tanm b/research/bullet.tanm new file mode 100644 index 0000000..e0d4657 --- /dev/null +++ b/research/bullet.tanm @@ -0,0 +1,5456 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "bullet/etama.png", + img_width: 256, + img_height: 256, + sprites: { + sprite0: {x: 0.0, y: 240.0, w: 8.0, h: 8.0}, + sprite1: {x: 8.0, y: 240.0, w: 8.0, h: 8.0}, + sprite2: {x: 16.0, y: 240.0, w: 8.0, h: 8.0}, + sprite3: {x: 24.0, y: 240.0, w: 8.0, h: 8.0}, + sprite4: {x: 32.0, y: 240.0, w: 8.0, h: 8.0}, + sprite5: {x: 40.0, y: 240.0, w: 8.0, h: 8.0}, + sprite6: {x: 48.0, y: 240.0, w: 8.0, h: 8.0}, + sprite7: {x: 56.0, y: 240.0, w: 8.0, h: 8.0}, + sprite8: {x: 0.0, y: 248.0, w: 8.0, h: 8.0}, + sprite9: {x: 8.0, y: 248.0, w: 8.0, h: 8.0}, + sprite10: {x: 16.0, y: 248.0, w: 8.0, h: 8.0}, + sprite11: {x: 24.0, y: 248.0, w: 8.0, h: 8.0}, + sprite12: {x: 32.0, y: 248.0, w: 8.0, h: 8.0}, + sprite13: {x: 40.0, y: 248.0, w: 8.0, h: 8.0}, + sprite14: {x: 48.0, y: 248.0, w: 8.0, h: 8.0}, + sprite15: {x: 56.0, y: 248.0, w: 8.0, h: 8.0}, + sprite16: {x: 0.0, y: 192.0, w: 8.0, h: 8.0}, + sprite17: {x: 8.0, y: 192.0, w: 8.0, h: 8.0}, + sprite18: {x: 16.0, y: 192.0, w: 8.0, h: 8.0}, + sprite19: {x: 24.0, y: 192.0, w: 8.0, h: 8.0}, + sprite20: {x: 32.0, y: 192.0, w: 8.0, h: 8.0}, + sprite21: {x: 40.0, y: 192.0, w: 8.0, h: 8.0}, + sprite22: {x: 48.0, y: 192.0, w: 8.0, h: 8.0}, + sprite23: {x: 56.0, y: 192.0, w: 8.0, h: 8.0}, + sprite24: {x: 0.0, y: 200.0, w: 8.0, h: 8.0}, + sprite25: {x: 8.0, y: 200.0, w: 8.0, h: 8.0}, + sprite26: {x: 16.0, y: 200.0, w: 8.0, h: 8.0}, + sprite27: {x: 24.0, y: 200.0, w: 8.0, h: 8.0}, + sprite28: {x: 32.0, y: 200.0, w: 8.0, h: 8.0}, + sprite29: {x: 40.0, y: 200.0, w: 8.0, h: 8.0}, + sprite30: {x: 48.0, y: 200.0, w: 8.0, h: 8.0}, + sprite31: {x: 56.0, y: 200.0, w: 8.0, h: 8.0}, + sprite32: {x: 0.0, y: 48.0, w: 16.0, h: 16.0}, + sprite33: {x: 16.0, y: 48.0, w: 16.0, h: 16.0}, + sprite34: {x: 32.0, y: 48.0, w: 16.0, h: 16.0}, + sprite35: {x: 48.0, y: 48.0, w: 16.0, h: 16.0}, + sprite36: {x: 64.0, y: 48.0, w: 16.0, h: 16.0}, + sprite37: {x: 80.0, y: 48.0, w: 16.0, h: 16.0}, + sprite38: {x: 96.0, y: 48.0, w: 16.0, h: 16.0}, + sprite39: {x: 112.0, y: 48.0, w: 16.0, h: 16.0}, + sprite40: {x: 128.0, y: 48.0, w: 16.0, h: 16.0}, + sprite41: {x: 144.0, y: 48.0, w: 16.0, h: 16.0}, + sprite42: {x: 160.0, y: 48.0, w: 16.0, h: 16.0}, + sprite43: {x: 176.0, y: 48.0, w: 16.0, h: 16.0}, + sprite44: {x: 192.0, y: 48.0, w: 16.0, h: 16.0}, + sprite45: {x: 208.0, y: 48.0, w: 16.0, h: 16.0}, + sprite46: {x: 224.0, y: 48.0, w: 16.0, h: 16.0}, + sprite47: {x: 240.0, y: 48.0, w: 16.0, h: 16.0}, + sprite48: {x: 0.0, y: 32.0, w: 16.0, h: 16.0}, + sprite49: {x: 16.0, y: 32.0, w: 16.0, h: 16.0}, + sprite50: {x: 32.0, y: 32.0, w: 16.0, h: 16.0}, + sprite51: {x: 48.0, y: 32.0, w: 16.0, h: 16.0}, + sprite52: {x: 64.0, y: 32.0, w: 16.0, h: 16.0}, + sprite53: {x: 80.0, y: 32.0, w: 16.0, h: 16.0}, + sprite54: {x: 96.0, y: 32.0, w: 16.0, h: 16.0}, + sprite55: {x: 112.0, y: 32.0, w: 16.0, h: 16.0}, + sprite56: {x: 128.0, y: 32.0, w: 16.0, h: 16.0}, + sprite57: {x: 144.0, y: 32.0, w: 16.0, h: 16.0}, + sprite58: {x: 160.0, y: 32.0, w: 16.0, h: 16.0}, + sprite59: {x: 176.0, y: 32.0, w: 16.0, h: 16.0}, + sprite60: {x: 192.0, y: 32.0, w: 16.0, h: 16.0}, + sprite61: {x: 208.0, y: 32.0, w: 16.0, h: 16.0}, + sprite62: {x: 224.0, y: 32.0, w: 16.0, h: 16.0}, + sprite63: {x: 240.0, y: 32.0, w: 16.0, h: 16.0}, + sprite64: {x: 0.0, y: 65.0, w: 16.0, h: 14.0}, + sprite65: {x: 16.0, y: 65.0, w: 16.0, h: 14.0}, + sprite66: {x: 32.0, y: 65.0, w: 16.0, h: 14.0}, + sprite67: {x: 48.0, y: 65.0, w: 16.0, h: 14.0}, + sprite68: {x: 64.0, y: 65.0, w: 16.0, h: 14.0}, + sprite69: {x: 80.0, y: 65.0, w: 16.0, h: 14.0}, + sprite70: {x: 96.0, y: 65.0, w: 16.0, h: 14.0}, + sprite71: {x: 112.0, y: 65.0, w: 16.0, h: 14.0}, + sprite72: {x: 128.0, y: 65.0, w: 16.0, h: 14.0}, + sprite73: {x: 144.0, y: 65.0, w: 16.0, h: 14.0}, + sprite74: {x: 160.0, y: 65.0, w: 16.0, h: 14.0}, + sprite75: {x: 176.0, y: 65.0, w: 16.0, h: 14.0}, + sprite76: {x: 192.0, y: 65.0, w: 16.0, h: 14.0}, + sprite77: {x: 208.0, y: 65.0, w: 16.0, h: 14.0}, + sprite78: {x: 224.0, y: 65.0, w: 16.0, h: 14.0}, + sprite79: {x: 240.0, y: 65.0, w: 16.0, h: 14.0}, + sprite80: {x: 0.0, y: 81.0, w: 16.0, h: 14.0}, + sprite81: {x: 16.0, y: 81.0, w: 16.0, h: 14.0}, + sprite82: {x: 32.0, y: 81.0, w: 16.0, h: 14.0}, + sprite83: {x: 48.0, y: 81.0, w: 16.0, h: 14.0}, + sprite84: {x: 64.0, y: 81.0, w: 16.0, h: 14.0}, + sprite85: {x: 80.0, y: 81.0, w: 16.0, h: 14.0}, + sprite86: {x: 96.0, y: 81.0, w: 16.0, h: 14.0}, + sprite87: {x: 112.0, y: 81.0, w: 16.0, h: 14.0}, + sprite88: {x: 128.0, y: 81.0, w: 16.0, h: 14.0}, + sprite89: {x: 144.0, y: 81.0, w: 16.0, h: 14.0}, + sprite90: {x: 160.0, y: 81.0, w: 16.0, h: 14.0}, + sprite91: {x: 176.0, y: 81.0, w: 16.0, h: 14.0}, + sprite92: {x: 192.0, y: 81.0, w: 16.0, h: 14.0}, + sprite93: {x: 208.0, y: 81.0, w: 16.0, h: 14.0}, + sprite94: {x: 224.0, y: 81.0, w: 16.0, h: 14.0}, + sprite95: {x: 240.0, y: 81.0, w: 16.0, h: 14.0}, + sprite96: {x: 0.0, y: 97.0, w: 16.0, h: 14.0}, + sprite97: {x: 16.0, y: 97.0, w: 16.0, h: 14.0}, + sprite98: {x: 32.0, y: 97.0, w: 16.0, h: 14.0}, + sprite99: {x: 48.0, y: 97.0, w: 16.0, h: 14.0}, + sprite100: {x: 64.0, y: 97.0, w: 16.0, h: 14.0}, + sprite101: {x: 80.0, y: 97.0, w: 16.0, h: 14.0}, + sprite102: {x: 96.0, y: 97.0, w: 16.0, h: 14.0}, + sprite103: {x: 112.0, y: 97.0, w: 16.0, h: 14.0}, + sprite104: {x: 128.0, y: 97.0, w: 16.0, h: 14.0}, + sprite105: {x: 144.0, y: 97.0, w: 16.0, h: 14.0}, + sprite106: {x: 160.0, y: 97.0, w: 16.0, h: 14.0}, + sprite107: {x: 176.0, y: 97.0, w: 16.0, h: 14.0}, + sprite108: {x: 192.0, y: 97.0, w: 16.0, h: 14.0}, + sprite109: {x: 208.0, y: 97.0, w: 16.0, h: 14.0}, + sprite110: {x: 224.0, y: 97.0, w: 16.0, h: 14.0}, + sprite111: {x: 240.0, y: 97.0, w: 16.0, h: 14.0}, + sprite112: {x: 1.0, y: 112.0, w: 14.0, h: 16.0}, + sprite113: {x: 17.0, y: 112.0, w: 14.0, h: 16.0}, + sprite114: {x: 33.0, y: 112.0, w: 14.0, h: 16.0}, + sprite115: {x: 49.0, y: 112.0, w: 14.0, h: 16.0}, + sprite116: {x: 65.0, y: 112.0, w: 14.0, h: 16.0}, + sprite117: {x: 81.0, y: 112.0, w: 14.0, h: 16.0}, + sprite118: {x: 97.0, y: 112.0, w: 14.0, h: 16.0}, + sprite119: {x: 113.0, y: 112.0, w: 14.0, h: 16.0}, + sprite120: {x: 129.0, y: 112.0, w: 14.0, h: 16.0}, + sprite121: {x: 145.0, y: 112.0, w: 14.0, h: 16.0}, + sprite122: {x: 161.0, y: 112.0, w: 14.0, h: 16.0}, + sprite123: {x: 177.0, y: 112.0, w: 14.0, h: 16.0}, + sprite124: {x: 193.0, y: 112.0, w: 14.0, h: 16.0}, + sprite125: {x: 209.0, y: 112.0, w: 14.0, h: 16.0}, + sprite126: {x: 225.0, y: 112.0, w: 14.0, h: 16.0}, + sprite127: {x: 241.0, y: 112.0, w: 14.0, h: 16.0}, + sprite128: {x: 1.0, y: 16.0, w: 14.0, h: 16.0}, + sprite129: {x: 17.0, y: 16.0, w: 14.0, h: 16.0}, + sprite130: {x: 33.0, y: 16.0, w: 14.0, h: 16.0}, + sprite131: {x: 49.0, y: 16.0, w: 14.0, h: 16.0}, + sprite132: {x: 65.0, y: 16.0, w: 14.0, h: 16.0}, + sprite133: {x: 81.0, y: 16.0, w: 14.0, h: 16.0}, + sprite134: {x: 97.0, y: 16.0, w: 14.0, h: 16.0}, + sprite135: {x: 113.0, y: 16.0, w: 14.0, h: 16.0}, + sprite136: {x: 129.0, y: 16.0, w: 14.0, h: 16.0}, + sprite137: {x: 145.0, y: 16.0, w: 14.0, h: 16.0}, + sprite138: {x: 161.0, y: 16.0, w: 14.0, h: 16.0}, + sprite139: {x: 177.0, y: 16.0, w: 14.0, h: 16.0}, + sprite140: {x: 193.0, y: 16.0, w: 14.0, h: 16.0}, + sprite141: {x: 209.0, y: 16.0, w: 14.0, h: 16.0}, + sprite142: {x: 225.0, y: 16.0, w: 14.0, h: 16.0}, + sprite143: {x: 241.0, y: 16.0, w: 14.0, h: 16.0}, + sprite144: {x: 1.0, y: 129.0, w: 14.0, h: 14.0}, + sprite145: {x: 17.0, y: 129.0, w: 14.0, h: 14.0}, + sprite146: {x: 33.0, y: 129.0, w: 14.0, h: 14.0}, + sprite147: {x: 49.0, y: 129.0, w: 14.0, h: 14.0}, + sprite148: {x: 65.0, y: 129.0, w: 14.0, h: 14.0}, + sprite149: {x: 81.0, y: 129.0, w: 14.0, h: 14.0}, + sprite150: {x: 97.0, y: 129.0, w: 14.0, h: 14.0}, + sprite151: {x: 113.0, y: 129.0, w: 14.0, h: 14.0}, + sprite152: {x: 129.0, y: 129.0, w: 14.0, h: 14.0}, + sprite153: {x: 145.0, y: 129.0, w: 14.0, h: 14.0}, + sprite154: {x: 161.0, y: 129.0, w: 14.0, h: 14.0}, + sprite155: {x: 177.0, y: 129.0, w: 14.0, h: 14.0}, + sprite156: {x: 193.0, y: 129.0, w: 14.0, h: 14.0}, + sprite157: {x: 209.0, y: 129.0, w: 14.0, h: 14.0}, + sprite158: {x: 225.0, y: 129.0, w: 14.0, h: 14.0}, + sprite159: {x: 241.0, y: 129.0, w: 14.0, h: 14.0}, + sprite160: {x: 1.0, y: 177.0, w: 14.0, h: 14.0}, + sprite161: {x: 17.0, y: 177.0, w: 14.0, h: 14.0}, + sprite162: {x: 33.0, y: 177.0, w: 14.0, h: 14.0}, + sprite163: {x: 49.0, y: 177.0, w: 14.0, h: 14.0}, + sprite164: {x: 65.0, y: 177.0, w: 14.0, h: 14.0}, + sprite165: {x: 81.0, y: 177.0, w: 14.0, h: 14.0}, + sprite166: {x: 97.0, y: 177.0, w: 14.0, h: 14.0}, + sprite167: {x: 113.0, y: 177.0, w: 14.0, h: 14.0}, + sprite168: {x: 129.0, y: 177.0, w: 14.0, h: 14.0}, + sprite169: {x: 145.0, y: 177.0, w: 14.0, h: 14.0}, + sprite170: {x: 161.0, y: 177.0, w: 14.0, h: 14.0}, + sprite171: {x: 177.0, y: 177.0, w: 14.0, h: 14.0}, + sprite172: {x: 193.0, y: 177.0, w: 14.0, h: 14.0}, + sprite173: {x: 209.0, y: 177.0, w: 14.0, h: 14.0}, + sprite174: {x: 225.0, y: 177.0, w: 14.0, h: 14.0}, + sprite175: {x: 241.0, y: 177.0, w: 14.0, h: 14.0}, + sprite176: {x: 1.0, y: 144.0, w: 14.0, h: 16.0}, + sprite177: {x: 17.0, y: 144.0, w: 14.0, h: 16.0}, + sprite178: {x: 33.0, y: 144.0, w: 14.0, h: 16.0}, + sprite179: {x: 49.0, y: 144.0, w: 14.0, h: 16.0}, + sprite180: {x: 65.0, y: 144.0, w: 14.0, h: 16.0}, + sprite181: {x: 81.0, y: 144.0, w: 14.0, h: 16.0}, + sprite182: {x: 97.0, y: 144.0, w: 14.0, h: 16.0}, + sprite183: {x: 113.0, y: 144.0, w: 14.0, h: 16.0}, + sprite184: {x: 129.0, y: 144.0, w: 14.0, h: 16.0}, + sprite185: {x: 145.0, y: 144.0, w: 14.0, h: 16.0}, + sprite186: {x: 161.0, y: 144.0, w: 14.0, h: 16.0}, + sprite187: {x: 177.0, y: 144.0, w: 14.0, h: 16.0}, + sprite188: {x: 193.0, y: 144.0, w: 14.0, h: 16.0}, + sprite189: {x: 209.0, y: 144.0, w: 14.0, h: 16.0}, + sprite190: {x: 225.0, y: 144.0, w: 14.0, h: 16.0}, + sprite191: {x: 241.0, y: 144.0, w: 14.0, h: 16.0}, + sprite192: {x: 1.0, y: 160.0, w: 14.0, h: 16.0}, + sprite193: {x: 17.0, y: 160.0, w: 14.0, h: 16.0}, + sprite194: {x: 33.0, y: 160.0, w: 14.0, h: 16.0}, + sprite195: {x: 49.0, y: 160.0, w: 14.0, h: 16.0}, + sprite196: {x: 65.0, y: 160.0, w: 14.0, h: 16.0}, + sprite197: {x: 81.0, y: 160.0, w: 14.0, h: 16.0}, + sprite198: {x: 97.0, y: 160.0, w: 14.0, h: 16.0}, + sprite199: {x: 113.0, y: 160.0, w: 14.0, h: 16.0}, + sprite200: {x: 129.0, y: 160.0, w: 14.0, h: 16.0}, + sprite201: {x: 145.0, y: 160.0, w: 14.0, h: 16.0}, + sprite202: {x: 161.0, y: 160.0, w: 14.0, h: 16.0}, + sprite203: {x: 177.0, y: 160.0, w: 14.0, h: 16.0}, + sprite204: {x: 193.0, y: 160.0, w: 14.0, h: 16.0}, + sprite205: {x: 209.0, y: 160.0, w: 14.0, h: 16.0}, + sprite206: {x: 225.0, y: 160.0, w: 14.0, h: 16.0}, + sprite207: {x: 241.0, y: 160.0, w: 14.0, h: 16.0}, + sprite208: {x: 208.0, y: 192.0, w: 16.0, h: 16.0}, + sprite209: {x: 224.0, y: 192.0, w: 16.0, h: 16.0}, + sprite210: {x: 240.0, y: 192.0, w: 16.0, h: 16.0}, + sprite211: {x: 1.0, y: 209.0, w: 30.0, h: 30.0}, + sprite212: {x: 33.0, y: 209.0, w: 30.0, h: 30.0}, + sprite213: {x: 65.0, y: 209.0, w: 30.0, h: 30.0}, + sprite214: {x: 97.0, y: 209.0, w: 30.0, h: 30.0}, + sprite215: {x: 129.0, y: 209.0, w: 30.0, h: 30.0}, + sprite216: {x: 161.0, y: 209.0, w: 30.0, h: 30.0}, + sprite217: {x: 193.0, y: 209.0, w: 30.0, h: 30.0}, + sprite218: {x: 225.0, y: 209.0, w: 30.0, h: 30.0}, + sprite219: {x: 65.0, y: 241.0, w: 14.0, h: 14.0}, + sprite220: {x: 81.0, y: 241.0, w: 14.0, h: 14.0}, + sprite221: {x: 97.0, y: 241.0, w: 14.0, h: 14.0}, + sprite222: {x: 113.0, y: 241.0, w: 14.0, h: 14.0}, + sprite223: {x: 129.0, y: 241.0, w: 14.0, h: 14.0}, + sprite224: {x: 0.0, y: 176.0, w: 16.0, h: 16.0}, + sprite225: {x: 16.0, y: 176.0, w: 16.0, h: 16.0}, + sprite226: {x: 32.0, y: 176.0, w: 16.0, h: 16.0}, + sprite227: {x: 48.0, y: 176.0, w: 16.0, h: 16.0}, + sprite228: {x: 64.0, y: 176.0, w: 16.0, h: 16.0}, + sprite229: {x: 80.0, y: 176.0, w: 16.0, h: 16.0}, + sprite230: {x: 96.0, y: 176.0, w: 16.0, h: 16.0}, + sprite231: {x: 112.0, y: 176.0, w: 16.0, h: 16.0}, + sprite232: {x: 128.0, y: 176.0, w: 16.0, h: 16.0}, + sprite233: {x: 144.0, y: 176.0, w: 16.0, h: 16.0}, + sprite234: {x: 160.0, y: 176.0, w: 16.0, h: 16.0}, + sprite235: {x: 176.0, y: 176.0, w: 16.0, h: 16.0}, + sprite236: {x: 192.0, y: 176.0, w: 16.0, h: 16.0}, + sprite237: {x: 208.0, y: 176.0, w: 16.0, h: 16.0}, + sprite238: {x: 224.0, y: 176.0, w: 16.0, h: 16.0}, + sprite239: {x: 240.0, y: 176.0, w: 16.0, h: 16.0}, + sprite240: {x: 0.0, y: 1.0, w: 16.0, h: 14.0}, + sprite241: {x: 16.0, y: 1.0, w: 16.0, h: 14.0}, + sprite242: {x: 32.0, y: 1.0, w: 16.0, h: 14.0}, + sprite243: {x: 48.0, y: 1.0, w: 16.0, h: 14.0}, + sprite244: {x: 64.0, y: 1.0, w: 16.0, h: 14.0}, + sprite245: {x: 80.0, y: 1.0, w: 16.0, h: 14.0}, + sprite246: {x: 96.0, y: 1.0, w: 16.0, h: 14.0}, + sprite247: {x: 112.0, y: 1.0, w: 16.0, h: 14.0}, + sprite248: {x: 128.0, y: 1.0, w: 16.0, h: 14.0}, + sprite249: {x: 144.0, y: 1.0, w: 16.0, h: 14.0}, + sprite250: {x: 160.0, y: 1.0, w: 16.0, h: 14.0}, + sprite251: {x: 176.0, y: 1.0, w: 16.0, h: 14.0}, + sprite252: {x: 192.0, y: 1.0, w: 16.0, h: 14.0}, + sprite253: {x: 208.0, y: 1.0, w: 16.0, h: 14.0}, + sprite254: {x: 224.0, y: 1.0, w: 16.0, h: 14.0}, + sprite255: {x: 240.0, y: 1.0, w: 16.0, h: 14.0}, + }, +} + + +script 0 script0 { + type(2); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + scale(2.0, 2.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_352; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_352; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_352; + +interrupt[2]: +label_352: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + sprite(sprite0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + stop(); ++15: // 63 + +interrupt[1]: + type(1); + rotate(0.0, 0.0, RANDRAD); + alphaTime(8, 0, 0); + blendMode(1); + sprite(sprite2); + scale(0.4, 0.4); + scaleTime(8, 4, 1.9, 1.9); ++8: // 71 + delete(); +} + + +script 1 script1 { + type(1); + blendMode(1); + layer(9); + sprite(sprite224); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 2 script2 { + alpha(0); + scriptNew(script1); ++28: // 28 + delete(); +} + + +script 3 script3 { + type(1); + blendMode(1); + layer(9); + sprite(sprite225); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 4 script4 { + alpha(0); + scriptNew(script3); ++28: // 28 + delete(); +} + + +script 5 script5 { + type(1); + blendMode(1); + layer(9); + sprite(sprite226); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 6 script6 { + alpha(0); + scriptNew(script5); ++28: // 28 + delete(); +} + + +script 7 script7 { + type(1); + blendMode(1); + layer(9); + sprite(sprite227); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 8 script8 { + alpha(0); + scriptNew(script7); ++28: // 28 + delete(); +} + + +script 9 script9 { + type(1); + blendMode(1); + layer(9); + sprite(sprite228); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 10 script10 { + alpha(0); + scriptNew(script9); ++28: // 28 + delete(); +} + + +script 11 script11 { + type(1); + blendMode(1); + layer(9); + sprite(sprite229); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 12 script12 { + alpha(0); + scriptNew(script11); ++28: // 28 + delete(); +} + + +script 13 script13 { + type(1); + blendMode(1); + layer(9); + sprite(sprite230); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 14 script14 { + alpha(0); + scriptNew(script13); ++28: // 28 + delete(); +} + + +script 15 script15 { + type(1); + blendMode(1); + layer(9); + sprite(sprite231); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 16 script16 { + alpha(0); + scriptNew(script15); ++28: // 28 + delete(); +} + + +script 17 script17 { + type(1); + blendMode(1); + layer(9); + sprite(sprite232); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 18 script18 { + alpha(0); + scriptNew(script17); ++28: // 28 + delete(); +} + + +script 19 script19 { + type(1); + blendMode(1); + layer(9); + sprite(sprite233); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 20 script20 { + alpha(0); + scriptNew(script19); ++28: // 28 + delete(); +} + + +script 21 script21 { + type(1); + blendMode(1); + layer(9); + sprite(sprite234); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 22 script22 { + alpha(0); + scriptNew(script21); ++28: // 28 + delete(); +} + + +script 23 script23 { + type(1); + blendMode(1); + layer(9); + sprite(sprite235); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 24 script24 { + alpha(0); + scriptNew(script23); ++28: // 28 + delete(); +} + + +script 25 script25 { + type(1); + blendMode(1); + layer(9); + sprite(sprite236); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 26 script26 { + alpha(0); + scriptNew(script25); ++28: // 28 + delete(); +} + + +script 27 script27 { + type(1); + blendMode(1); + layer(9); + sprite(sprite237); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 28 script28 { + alpha(0); + scriptNew(script27); ++28: // 28 + delete(); +} + + +script 29 script29 { + type(1); + blendMode(1); + layer(9); + sprite(sprite238); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 30 script30 { + alpha(0); + scriptNew(script29); ++28: // 28 + delete(); +} + + +script 31 script31 { + type(1); + blendMode(1); + layer(9); + sprite(sprite239); + F0 = RANDF2 * 12.0; + F1 = RANDF2 * 12.0; + F1 -= 24.0; + rotate(0.0, 0.0, RANDRAD); + alpha(128); + posTime(28, 0, F0, F1, 0.0); + scaleTime(14, 4, 1.9, 1.9); ++8: // 8 + alpha(20); ++6: // 14 + scaleTime(14, 1, 0.8, 0.8); ++14: // 28 + delete(); +} + + +script 32 script32 { + alpha(0); + scriptNew(script31); ++28: // 28 + delete(); +} + + +script 33 script33 { + type(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + scale(2.0, 2.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_352; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_352; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_352; + +interrupt[2]: +label_352: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + sprite(sprite0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + angleVel(0.0, 0.0, 0.19634955); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(0.8, 0.8); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 34 script34 { + type(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + type(0); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_364; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_364; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_364; + +interrupt[2]: +label_364: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 35 script35 { + type(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + type(0); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_364; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_364; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_364; + +interrupt[2]: +label_364: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 36 script36 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_364; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_364; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_364; + +interrupt[2]: +label_364: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 37 script37 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_364; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_364; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_364; + +interrupt[2]: +label_364: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 38 script38 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_364; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_364; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_364; + +interrupt[2]: +label_364: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 39 script39 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_364; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_364; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_364; + +interrupt[2]: +label_364: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 40 script40 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_364; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_364; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_364; + +interrupt[2]: +label_364: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 41 script41 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_364; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_364; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_364; + +interrupt[2]: +label_364: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 42 script42 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_364; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_364; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_364; + +interrupt[2]: +label_364: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 43 script43 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_364; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_364; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_364; + +interrupt[2]: +label_364: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 44 script44 { + type(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_352; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_352; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_352; + +interrupt[2]: +label_352: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + sprite(sprite2); + scale(0.4, 0.4); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 45 script45 { + type(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + type(0); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_364; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_364; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_364; + +interrupt[2]: +label_364: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 46 script46 { + type(1); + alpha(0); + I0 = 0; + angleVel(0.0, 0.0, 0.10471976); + +interrupt[7]: + sprite(sprite1); + type(0); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 0.5, 0.5); ++8: // 8 + goto label_384; + +interrupt[8]: + sprite(sprite1); + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 0.5, 0.5); ++15: // 23 + goto label_384; + +interrupt[9]: + sprite(sprite1); + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 0.5, 0.5); ++25: // 48 + goto label_384; + +interrupt[2]: +label_384: + type(1); + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + angleVel(0.0, 0.0, 0.10471976); + stop(); ++15: // 63 + +interrupt[1]: + ins_82(0); + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + sprite(sprite2); + scale(1.0, 1.0); + scaleTime(16, 1, 0.0, 0.0); ++16: // 79 + delete(); +} + + +script 47 script47 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite211); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 48 script48 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite212); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 49 script49 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite212); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 50 script50 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite213); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 51 script51 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite213); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 52 script52 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite214); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 53 script53 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite214); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 54 script54 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite215); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 55 script55 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite215); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 56 script56 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite216); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 57 script57 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite216); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 58 script58 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite216); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 59 script59 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite217); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 60 script60 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite217); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 61 script61 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite217); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +script 62 script62 { + type(1); + alpha(0); + I0 = 0; + sprite(sprite218); + angleVel(0.0, 0.0, 0.3926991); + scale(3.0, 3.0); + alphaTime(8, 0, 255); + loop { + scale(0.5, 0.5); ++1: // 1 + scale(1.5, 1.5); ++1: // 2 + } +} + + +entry { + path: "bullet/etama6.png", + img_width: 256, + img_height: 256, + sprites: { + sprite256: {x: 0.0, y: 32.0, w: 32.0, h: 32.0}, + sprite257: {x: 32.0, y: 32.0, w: 32.0, h: 32.0}, + sprite258: {x: 64.0, y: 32.0, w: 32.0, h: 32.0}, + sprite259: {x: 96.0, y: 32.0, w: 32.0, h: 32.0}, + sprite260: {x: 128.0, y: 32.0, w: 32.0, h: 32.0}, + sprite261: {x: 160.0, y: 32.0, w: 32.0, h: 32.0}, + sprite262: {x: 192.0, y: 32.0, w: 32.0, h: 32.0}, + sprite263: {x: 224.0, y: 32.0, w: 32.0, h: 32.0}, + sprite264: {x: 1.0, y: 129.0, w: 30.0, h: 30.0}, + sprite265: {x: 33.0, y: 129.0, w: 30.0, h: 30.0}, + sprite266: {x: 65.0, y: 129.0, w: 30.0, h: 30.0}, + sprite267: {x: 97.0, y: 129.0, w: 30.0, h: 30.0}, + sprite268: {x: 129.0, y: 129.0, w: 30.0, h: 30.0}, + sprite269: {x: 161.0, y: 129.0, w: 30.0, h: 30.0}, + sprite270: {x: 193.0, y: 129.0, w: 30.0, h: 30.0}, + sprite271: {x: 225.0, y: 129.0, w: 30.0, h: 30.0}, + sprite272: {x: 1.0, y: 97.0, w: 30.0, h: 30.0}, + sprite273: {x: 33.0, y: 97.0, w: 30.0, h: 30.0}, + sprite274: {x: 65.0, y: 97.0, w: 30.0, h: 30.0}, + sprite275: {x: 97.0, y: 97.0, w: 30.0, h: 30.0}, + sprite276: {x: 129.0, y: 97.0, w: 30.0, h: 30.0}, + sprite277: {x: 161.0, y: 97.0, w: 30.0, h: 30.0}, + sprite278: {x: 193.0, y: 97.0, w: 30.0, h: 30.0}, + sprite279: {x: 225.0, y: 97.0, w: 30.0, h: 30.0}, + sprite280: {x: 1.0, y: 65.0, w: 30.0, h: 30.0}, + sprite281: {x: 33.0, y: 65.0, w: 30.0, h: 30.0}, + sprite282: {x: 65.0, y: 65.0, w: 30.0, h: 30.0}, + sprite283: {x: 97.0, y: 65.0, w: 30.0, h: 30.0}, + sprite284: {x: 129.0, y: 65.0, w: 30.0, h: 30.0}, + sprite285: {x: 161.0, y: 65.0, w: 30.0, h: 30.0}, + sprite286: {x: 193.0, y: 65.0, w: 30.0, h: 30.0}, + sprite287: {x: 225.0, y: 65.0, w: 30.0, h: 30.0}, + sprite288: {x: 1.0, y: 1.0, w: 30.0, h: 30.0}, + sprite289: {x: 33.0, y: 1.0, w: 30.0, h: 30.0}, + sprite290: {x: 65.0, y: 1.0, w: 30.0, h: 30.0}, + sprite291: {x: 97.0, y: 1.0, w: 30.0, h: 30.0}, + sprite292: {x: 129.0, y: 1.0, w: 30.0, h: 30.0}, + sprite293: {x: 161.0, y: 1.0, w: 30.0, h: 30.0}, + sprite294: {x: 193.0, y: 1.0, w: 30.0, h: 30.0}, + sprite295: {x: 225.0, y: 1.0, w: 30.0, h: 30.0}, + sprite296: {x: 0.0, y: 192.0, w: 64.0, h: 64.0}, + sprite297: {x: 64.0, y: 192.0, w: 64.0, h: 64.0}, + sprite298: {x: 128.0, y: 192.0, w: 64.0, h: 64.0}, + sprite299: {x: 192.0, y: 192.0, w: 64.0, h: 64.0}, + sprite300: {x: 1.0, y: 161.0, w: 30.0, h: 30.0}, + sprite301: {x: 33.0, y: 161.0, w: 30.0, h: 30.0}, + sprite302: {x: 65.0, y: 161.0, w: 30.0, h: 30.0}, + sprite303: {x: 97.0, y: 161.0, w: 30.0, h: 30.0}, + sprite304: {x: 129.0, y: 161.0, w: 30.0, h: 30.0}, + sprite305: {x: 161.0, y: 161.0, w: 30.0, h: 30.0}, + sprite306: {x: 193.0, y: 161.0, w: 30.0, h: 30.0}, + sprite307: {x: 225.0, y: 161.0, w: 30.0, h: 30.0}, + }, +} + + +script 63 script63 { + type(0); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + type(0); + scale(5.0, 5.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_364; + +interrupt[8]: + sprite(sprite1); + scale(5.0, 5.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_364; + +interrupt[9]: + sprite(sprite1); + scale(6.0, 6.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_364; + +interrupt[2]: +label_364: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + alphaTime(14, 0, 0); + blendMode(1); + scale(1.0, 1.0); + scaleTime(14, 4, 1.5, 1.5); ++14: // 77 + delete(); +} + + +script 64 script64 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + type(1); + scale(5.0, 5.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_376; + +interrupt[8]: + sprite(sprite1); + scale(5.0, 5.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_376; + +interrupt[9]: + sprite(sprite1); + scale(6.0, 6.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_376; + +interrupt[2]: +label_376: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + alphaTime(14, 0, 0); + blendMode(1); + scale(1.0, 1.0); + scaleTime(14, 4, 1.5, 1.5); ++14: // 77 + delete(); +} + + +script 65 script65 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + type(1); + scale(5.0, 5.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_376; + +interrupt[8]: + sprite(sprite1); + scale(5.0, 5.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_376; + +interrupt[9]: + sprite(sprite1); + scale(6.0, 6.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_376; + +interrupt[2]: +label_376: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + alphaTime(14, 0, 0); + blendMode(1); + scale(1.0, 1.0); + scaleTime(14, 4, 1.5, 1.5); ++14: // 77 + delete(); +} + + +script 66 script66 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + type(1); + scale(5.0, 5.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_376; + +interrupt[8]: + sprite(sprite1); + scale(5.0, 5.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_376; + +interrupt[9]: + sprite(sprite1); + scale(6.0, 6.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_376; + +interrupt[2]: +label_376: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + alphaTime(14, 0, 0); + blendMode(1); + scale(1.0, 1.0); + scaleTime(14, 4, 1.5, 1.5); ++14: // 77 + delete(); +} + + +script 67 script67 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + type(1); + scale(5.0, 5.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_376; + +interrupt[8]: + sprite(sprite1); + scale(5.0, 5.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_376; + +interrupt[9]: + sprite(sprite1); + scale(6.0, 6.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_376; + +interrupt[2]: +label_376: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + alphaTime(14, 0, 0); + blendMode(1); + scale(1.0, 1.0); + scaleTime(14, 4, 1.5, 1.5); ++14: // 77 + delete(); +} + + +script 68 script68 { + type(0); + alpha(0); + I0 = 0; + blendMode(1); + +interrupt[7]: + sprite(sprite1); + type(0); + scale(5.0, 5.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_376; + +interrupt[8]: + sprite(sprite1); + scale(5.0, 5.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_376; + +interrupt[9]: + sprite(sprite1); + scale(6.0, 6.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_376; + +interrupt[2]: +label_376: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + alphaTime(14, 0, 0); + blendMode(1); + scale(1.0, 1.0); + scaleTime(14, 4, 1.5, 1.5); ++14: // 77 + delete(); +} + + +script 69 script69 { + type(1); + ins_82(1); + alpha(0); + blendMode(1); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + type(1); + scale(5.0, 5.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_388; + +interrupt[8]: + sprite(sprite1); + scale(5.0, 5.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_388; + +interrupt[9]: + sprite(sprite1); + scale(6.0, 6.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_388; + +interrupt[2]: +label_388: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + alphaTime(14, 0, 0); + blendMode(1); + scale(1.0, 1.0); + scaleTime(14, 4, 1.5, 1.5); ++14: // 77 + delete(); +} + + +script 70 script70 { + type(1); + ins_82(1); + alpha(0); + blendMode(1); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + type(1); + scale(5.0, 5.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_388; + +interrupt[8]: + sprite(sprite1); + scale(5.0, 5.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_388; + +interrupt[9]: + sprite(sprite1); + scale(6.0, 6.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_388; + +interrupt[2]: +label_388: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + alphaTime(14, 0, 0); + blendMode(1); + scale(1.0, 1.0); + scaleTime(14, 4, 1.5, 1.5); ++14: // 77 + delete(); +} + + +script 71 script71 { + type(1); + ins_82(1); + alpha(0); + blendMode(1); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + type(1); + scale(5.0, 5.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_388; + +interrupt[8]: + sprite(sprite1); + scale(5.0, 5.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_388; + +interrupt[9]: + sprite(sprite1); + scale(6.0, 6.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_388; + +interrupt[2]: +label_388: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + alphaTime(14, 0, 0); + blendMode(1); + scale(1.0, 1.0); + scaleTime(14, 4, 1.5, 1.5); ++14: // 77 + delete(); +} + + +script 72 script72 { + sprite(sprite0); + angleVel(0.0, 0.0, 0.7853982); + type(1); + alpha(0); + blendMode(1); + I0 = 0; + +interrupt[7]: + type(1); + scale(2.0, 2.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_372; + +interrupt[8]: + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_372; + +interrupt[9]: + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_372; + +interrupt[2]: +label_372: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + stop(); ++15: // 63 + +interrupt[1]: + alphaTime(12, 4, 0); + scaleTime(12, 4, 0.0, 0.0); ++12: // 75 + delete(); +} + + +entry { + path: "bullet/etama2.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite308: {x: 0.0, y: 0.0, w: 16.0, h: 16.0}, + sprite309: {x: 16.0, y: 0.0, w: 16.0, h: 16.0}, + sprite310: {x: 32.0, y: 0.0, w: 16.0, h: 16.0}, + sprite311: {x: 48.0, y: 0.0, w: 16.0, h: 16.0}, + sprite312: {x: 64.0, y: 0.0, w: 16.0, h: 16.0}, + sprite313: {x: 80.0, y: 0.0, w: 16.0, h: 16.0}, + sprite314: {x: 96.0, y: 0.0, w: 16.0, h: 16.0}, + sprite315: {x: 112.0, y: 0.0, w: 16.0, h: 16.0}, + sprite316: {x: 128.0, y: 0.0, w: 16.0, h: 16.0}, + sprite317: {x: 144.0, y: 0.0, w: 16.0, h: 16.0}, + sprite318: {x: 160.0, y: 0.0, w: 16.0, h: 16.0}, + sprite319: {x: 176.0, y: 0.0, w: 16.0, h: 16.0}, + sprite320: {x: 192.0, y: 0.0, w: 16.0, h: 16.0}, + sprite321: {x: 208.0, y: 0.0, w: 16.0, h: 16.0}, + sprite322: {x: 224.0, y: 0.0, w: 16.0, h: 16.0}, + sprite323: {x: 240.0, y: 0.0, w: 16.0, h: 16.0}, + sprite324: {x: 0.0, y: 16.0, w: 64.0, h: 64.0}, + sprite325: {x: 64.0, y: 16.0, w: 64.0, h: 64.0}, + sprite326: {x: 128.0, y: 16.0, w: 64.0, h: 64.0}, + sprite327: {x: 128.0, y: 16.0, w: 64.0, h: 64.0}, + sprite328: {x: 192.0, y: 16.0, w: 64.0, h: 64.0}, + sprite329: {x: 0.0, y: 80.0, w: 64.0, h: 64.0}, + sprite330: {x: 64.0, y: 80.0, w: 64.0, h: 64.0}, + sprite331: {x: 0.0, y: 224.0, w: 32.0, h: 32.0}, + sprite332: {x: 33.0, y: 225.0, w: 30.0, h: 30.0}, + sprite333: {x: 64.0, y: 224.0, w: 32.0, h: 32.0}, + sprite334: {x: 128.0, y: 80.0, w: 128.0, h: 128.0}, + sprite335: {x: 33.0, y: 225.0, w: 30.0, h: 30.0}, + sprite336: {x: 64.0, y: 80.0, w: 64.0, h: 64.0}, + sprite337: {x: 1.0, y: 177.0, w: 30.0, h: 30.0}, + sprite338: {x: 33.0, y: 177.0, w: 30.0, h: 30.0}, + sprite339: {x: 65.0, y: 177.0, w: 30.0, h: 30.0}, + sprite340: {x: 97.0, y: 177.0, w: 30.0, h: 30.0}, + sprite341: {x: 1.0, y: 145.0, w: 30.0, h: 30.0}, + sprite342: {x: 33.0, y: 145.0, w: 30.0, h: 30.0}, + sprite343: {x: 65.0, y: 145.0, w: 30.0, h: 30.0}, + sprite344: {x: 97.0, y: 145.0, w: 30.0, h: 30.0}, + sprite345: {x: 0.0, y: 208.0, w: 16.0, h: 16.0}, + sprite346: {x: 16.0, y: 208.0, w: 16.0, h: 16.0}, + sprite347: {x: 32.0, y: 208.0, w: 16.0, h: 16.0}, + sprite348: {x: 48.0, y: 208.0, w: 16.0, h: 16.0}, + sprite349: {x: 64.0, y: 208.0, w: 16.0, h: 16.0}, + sprite350: {x: 80.0, y: 208.0, w: 16.0, h: 16.0}, + sprite351: {x: 96.0, y: 208.0, w: 16.0, h: 16.0}, + sprite352: {x: 112.0, y: 208.0, w: 16.0, h: 16.0}, + sprite353: {x: 112.0, y: 208.0, w: 16.0, h: 16.0}, + sprite354: {x: 128.0, y: 208.0, w: 16.0, h: 16.0}, + sprite355: {x: 144.0, y: 208.0, w: 16.0, h: 16.0}, + sprite356: {x: 160.0, y: 208.0, w: 16.0, h: 16.0}, + sprite357: {x: 176.0, y: 208.0, w: 16.0, h: 16.0}, + sprite358: {x: 192.0, y: 208.0, w: 16.0, h: 16.0}, + sprite359: {x: 208.0, y: 208.0, w: 16.0, h: 16.0}, + sprite360: {x: 224.0, y: 208.0, w: 16.0, h: 16.0}, + sprite361: {x: 240.0, y: 208.0, w: 16.0, h: 16.0}, + sprite362: {x: 240.0, y: 208.0, w: 16.0, h: 16.0}, + }, +} + + +script 73 script73 { + sprite(sprite324); + layer(15); + type(1); + alpha(0); + alphaTime(6, 0, 255); + scale(2.3, 2.3); + scaleTime(18, 4, 1.0, 1.0); + rotate(0.0, 0.0, 3.1415927); + rotateTime(18, 4, 0.0, 0.0, -3.1415927); ++18: // 18 + angleVel(0.0, 0.0, -0.05235988); + stop(); + +interrupt[1]: + scaleTime(8, 4, 0.0, 0.0); ++8: // 26 + delete(); +} + + +script 74 script74 { + scriptNew(script73); + sprite(sprite324); + layer(15); + type(1); + scale(0.3, 0.3); + scaleTime(12, 4, 1.0, 1.0); + rotate(0.0, 0.0, -3.1415927); + rotateTime(18, 4, 0.0, 0.0, 3.1415927); ++18: // 18 + angleVel(0.0, 0.0, 0.05235988); + stop(); + +interrupt[1]: + scaleTime(8, 4, 0.0, 0.0); ++8: // 26 + delete(); +} + + +script 75 script75 { + sprite(sprite308); + layer(15); + type(1); + blendMode(1); + alpha(144); + alphaTime(40, 0, 40); + loop { + scaleTime(4, 1, 0.75, 0.75); ++4: // 4 + scaleTime(4, 4, 0.5, 0.5); ++4: // 8 + scaleTime(4, 1, 0.75, 0.75); ++4: // 12 + scaleTime(4, 4, 1.0, 1.0); ++4: // 16 + } ++8: // 24 + delete(); +} + + +script 76 script76 { + sprite(sprite326); + layer(15); + type(1); + scale(0.5, 0.5); + scaleTime(30, 4, 5.5, 5.5); + alphaTime(30, 4, 0); ++30: // 30 + delete(); +} + + +script 77 script77 { + sprite(sprite308); + layer(15); + type(1); + blendMode(1); + alpha(128); + isetRand(I0, 15); + I0 += 20; + F0 = RANDF * 3.0; + F0 += 1.0; + scale(F0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F0 = RANDF * 256.0; + F1 *= F0; + F2 *= F0; + posTime(I0, 4, F1, F2, 0.0); + scaleTime(I0, 4, 0.0, 0.0); + wait(I0); ++8: // 8 + delete(); +} + + +script 78 script78 { + scriptNew(script79); + scriptNew(script80); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); ++30: // 30 + delete(); +} + + +script 79 script79 { + sprite(sprite327); + layer(15); + type(1); + scale(0.2, 0.2); + scaleTime(30, 4, 2.5, 2.5); + alphaTime(30, 4, 0); ++30: // 30 + delete(); +} + + +script 80 script80 { + sprite(sprite327); + layer(15); + blendMode(1); + type(1); + rotate(0.0, 0.0, RANDRAD); + scale(0.5, 0.5); + scaleTime(30, 4, 3.5, 0.2); + alphaTime(30, 4, 0); ++30: // 30 + delete(); +} + + +script 81 script81 { + scriptNew(script82); + scriptNew(script83); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); ++30: // 30 + delete(); +} + + +script 82 script82 { + sprite(sprite328); + layer(15); + type(1); + scale(0.2, 0.2); + scaleTime(30, 4, 2.5, 2.5); + alphaTime(30, 4, 0); ++30: // 30 + delete(); +} + + +script 83 script83 { + sprite(sprite328); + layer(15); + blendMode(1); + type(1); + rotate(0.0, 0.0, RANDRAD); + scale(0.5, 0.5); + scaleTime(30, 4, 3.5, 0.2); + alphaTime(30, 4, 0); ++30: // 30 + delete(); +} + + +script 84 script84 { + scriptNew(script85); + scriptNew(script86); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); ++30: // 30 + delete(); +} + + +script 85 script85 { + sprite(sprite330); + layer(15); + type(1); + scale(0.2, 0.2); + scaleTime(30, 4, 2.5, 2.5); + alphaTime(30, 4, 0); ++30: // 30 + delete(); +} + + +script 86 script86 { + sprite(sprite330); + layer(15); + blendMode(1); + type(1); + rotate(0.0, 0.0, RANDRAD); + scale(0.5, 0.5); + scaleTime(30, 4, 3.5, 0.2); + alphaTime(30, 4, 0); ++30: // 30 + delete(); +} + + +script 87 script87 { + scriptNew(script88); + scriptNew(script89); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); + scriptNew(script90); ++30: // 30 + delete(); +} + + +script 88 script88 { + sprite(sprite329); + layer(15); + type(1); + scale(0.2, 0.2); + scaleTime(30, 4, 2.5, 2.5); + alphaTime(30, 4, 0); ++30: // 30 + delete(); +} + + +script 89 script89 { + sprite(sprite329); + layer(15); + blendMode(1); + type(1); + rotate(0.0, 0.0, RANDRAD); + scale(0.5, 0.5); + scaleTime(30, 4, 3.5, 0.2); + alphaTime(30, 4, 0); ++30: // 30 + delete(); +} + + +script 90 script90 { + sprite(sprite331); + layer(15); + type(1); + blendMode(1); + alpha(64); + isetRand(I0, 15); + I0 += 20; + F0 = RANDF * 1.5; + F0 += 0.5; + scale(F0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F0 = RANDF * 256.0; + F1 *= F0; + F2 *= F0; + posTime(I0, 4, F1, F2, 0.0); + scaleTime(I0, 4, 0.0, 0.0); + wait(I0); ++8: // 8 + delete(); +} + + +script 91 script91 { + sprite(sprite308); + layer(15); + type(1); + blendMode(1); + alpha(128); + color(255, 0, 0); + isetRand(I0, 15); + I0 += 20; + F0 = RANDF * 1.0; + F0 += 0.4; + scale(F0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F0 = RANDF * 128.0; + F1 *= F0; + F2 *= F0; + pos(F1, F2, 0.0); + posTime(I0, 4, 0.0, 0.0, 0.0); + scaleTime(I0, 4, 0.0, 0.0); + wait(I0); ++8: // 8 + delete(); +} + + +script 92 script92 { + sprite(sprite334); + layer(6); + type(1); + blendMode(1); + rotate(0.0, 0.0, 3.1415927); + rotateTime(60, 4, 0.0, 0.0, -3.1415927); + alpha(128); + scale(0.0, 0.0); + scaleTime(60, 4, 2.0, 2.0); ++60: // 60 + nop(); + angleVel(0.0, 0.0, -0.09817477); + loop { + scaleTime(60, 9, 1.6, 1.6); + alphaTime(60, 9, 128); ++60: // 120 + scaleTime(60, 9, 2.0, 2.0); + alphaTime(60, 9, 96); ++60: // 180 + } + stop(); +} + + +script 93 script93 { + sprite(sprite335); + ins_85(1); + layer(15); + scale(0.0, 0.0); ++2: // 2 + nop(); + type(1); + blendMode(1); + rotate(0.0, 0.0, RANDRAD); + F0 = RANDRAD; + angleVel(0.0, 0.0, F0); + F1 = RANDF * 0.5; + F1 += 0.2; + scale(F1, F1); + scaleTime(48, 0, 0.0, 0.0); + alpha(255); + alphaTime(48, 0, 0); + F1 = RANDF2 * 6.0; + F2 = RANDF2 * 6.0; + pos(F1, F2, 0.0); + F1 = RANDF2 * 128.0; + F2 = RANDF2 * 128.0; + posTime(48, 1, F1, F2, 0.0); ++48: // 50 + delete(); +} + + +script 94 script94 { + sprite(sprite336); + layer(15); + type(1); + blendMode(1); + scale(2.0, 2.0); + color(0, 0, 0); + colorTime(30, 0, 255, 255, 255); + loop { + alpha(32); ++1: // 1 + alpha(128); ++1: // 2 + } +} + + +script 95 script95 { + type(1); + ins_82(1); + alpha(0); + blendMode(1); + I0 = 0; + sprite(sprite337); + +interrupt[7]: + sprite(sprite337); + type(1); + scale(5.0, 5.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_400; + +interrupt[8]: + sprite(sprite337); + scale(5.0, 5.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_400; + +interrupt[9]: + sprite(sprite337); + scale(6.0, 6.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_400; + +interrupt[2]: +label_400: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + loop { + sprite(sprite337); ++3: // 51 + sprite(sprite338); ++3: // 54 + sprite(sprite339); ++3: // 57 + sprite(sprite340); ++3: // 60 + } + stop(); ++15: // 75 + +interrupt[1]: + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + alphaTime(14, 0, 0); + sprite(sprite230); + scale(1.5, 1.5); + scaleTime(14, 4, 2.9, 2.9); ++14: // 89 + delete(); +} + + +script 96 script96 { + type(1); + ins_82(1); + alpha(0); + blendMode(1); + I0 = 0; + sprite(sprite341); + +interrupt[7]: + sprite(sprite341); + type(1); + scale(5.0, 5.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_400; + +interrupt[8]: + sprite(sprite341); + scale(5.0, 5.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_400; + +interrupt[9]: + sprite(sprite341); + scale(6.0, 6.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_400; + +interrupt[2]: +label_400: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + loop { + sprite(sprite341); ++3: // 51 + sprite(sprite342); ++3: // 54 + sprite(sprite343); ++3: // 57 + sprite(sprite344); ++3: // 60 + } + stop(); ++15: // 75 + +interrupt[1]: + type(1); + rotate(0.0, 0.0, RANDRAD); + blendMode(1); + alphaTime(14, 0, 0); + sprite(sprite226); + scale(1.5, 1.5); + scaleTime(14, 4, 2.9, 2.9); ++14: // 89 + delete(); +} + + +script 97 script97 { + sprite(sprite345); + type(1); + angleVel(0.0, 0.0, 0.7853982); + scale(0.5, 0.5); + scaleTime(16, 0, 1.0, 1.0); ++32: // 32 + angleVel(0.0, 0.0, 0.0); + type(0); + stop(); +} + + +script 98 script98 { + sprite(sprite346); + type(1); + angleVel(0.0, 0.0, 0.7853982); + scale(0.5, 0.5); + scaleTime(16, 0, 1.0, 1.0); ++32: // 32 + angleVel(0.0, 0.0, 0.0); + type(0); + stop(); +} + + +script 99 script99 { + sprite(sprite347); + type(1); + angleVel(0.0, 0.0, 0.7853982); + scale(0.5, 0.5); + scaleTime(16, 0, 1.0, 1.0); ++32: // 32 + angleVel(0.0, 0.0, 0.0); + type(0); + stop(); +} + + +script 100 script100 { + sprite(sprite348); + type(1); + angleVel(0.0, 0.0, 0.7853982); + scale(0.5, 0.5); + scaleTime(16, 0, 1.0, 1.0); ++32: // 32 + angleVel(0.0, 0.0, 0.0); + type(0); + stop(); +} + + +script 101 script101 { + sprite(sprite349); + type(1); + angleVel(0.0, 0.0, 0.7853982); + scale(0.5, 0.5); + scaleTime(16, 0, 1.0, 1.0); ++32: // 32 + angleVel(0.0, 0.0, 0.0); + type(0); + stop(); +} + + +script 102 script102 { + sprite(sprite350); + type(1); + angleVel(0.0, 0.0, 0.7853982); + scale(0.5, 0.5); + scaleTime(16, 0, 1.0, 1.0); ++32: // 32 + angleVel(0.0, 0.0, 0.0); + type(0); + stop(); +} + + +script 103 script103 { + sprite(sprite351); + type(1); + angleVel(0.0, 0.0, 0.7853982); + scale(0.5, 0.5); + scaleTime(16, 0, 1.0, 1.0); ++32: // 32 + angleVel(0.0, 0.0, 0.0); + type(0); + stop(); +} + + +script 104 script104 { + sprite(sprite352); + blendMode(1); + type(1); + alpha(16); + angleVel(0.0, 0.0, 0.7853982); + scale(0.0, 0.0); + scaleTime(16, 0, 1.0, 1.0); ++32: // 32 + angleVel(0.0, 0.0, 0.0); + type(0); + stop(); +} + + +script 105 script105 { + sprite(sprite353); + type(1); + angleVel(0.0, 0.0, 0.7853982); + scale(0.5, 0.5); + scaleTime(16, 0, 1.0, 1.0); ++32: // 32 + angleVel(0.0, 0.0, 0.0); + type(0); + stop(); +} + + +script 106 script106 { + sprite(sprite354); + type(0); + stop(); +} + + +script 107 script107 { + sprite(sprite355); + type(0); + stop(); +} + + +script 108 script108 { + sprite(sprite356); + type(0); + stop(); +} + + +script 109 script109 { + sprite(sprite357); + type(0); + stop(); +} + + +script 110 script110 { + sprite(sprite358); + type(0); + stop(); +} + + +script 111 script111 { + sprite(sprite359); + type(0); + stop(); +} + + +script 112 script112 { + sprite(sprite360); + type(0); + stop(); +} + + +script 113 script113 { + sprite(sprite361); + blendMode(1); + type(0); + stop(); +} + + +script 114 script114 { + sprite(sprite362); + type(0); + stop(); +} + + +script 115 script115 { + sprite(sprite333); + blendMode(1); + layer(13); + type(0); + color(128, 255, 128); + scale(0.5, 0.5); + scaleTime(20, 4, 1.5, 1.5); ++10: // 10 + alphaTime(10, 4, 0); ++10: // 20 + delete(); +} + + +entry { + path: "bullet/etama3.png", + img_width: 128, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite363: {x: 65.0, y: 0.0, w: 14.0, h: 128.0}, + sprite364: {x: 81.0, y: 0.0, w: 14.0, h: 128.0}, + sprite365: {x: 49.0, y: 0.0, w: 14.0, h: 128.0}, + sprite366: {x: 33.0, y: 0.0, w: 14.0, h: 295.0}, + sprite367: {x: 97.0, y: 0.0, w: 15.0, h: 448.0}, + }, +} + + +script 116 script116 { + blendMode(1); + I0 = 32; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite363); + angleVel(0.0, 0.0, -0.31415927); + scale(16.0, 16.0); + scaleTime(60, 6, 32.0, 160.0); ++120: // 120 + alphaTime(20, 0, 0); ++20: // 140 + delete(); +} + + +script 117 script117 { + blendMode(1); + I0 = 32; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite363); + angleVel(0.0, 0.0, 0.31415927); + scale(16.0, 16.0); + scaleTime(60, 5, 16.0, 160.0); ++120: // 120 + alphaTime(20, 0, 0); ++20: // 140 + delete(); +} + + +script 118 script118 { + blendMode(1); + I0 = 32; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite363); + angleVel(0.0, 0.0, 0.10471976); + scale(16.0, 16.0); + scaleTime(60, 4, 16.0, 200.0); + color(255, 0, 255); ++40: // 40 + alphaTime(20, 0, 0); ++20: // 60 + delete(); +} + + +script 119 script119 { + blendMode(1); + I0 = 32; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite363); + angleVel(0.0, 0.0, -0.10471976); + scale(16.0, 16.0); + scaleTime(60, 4, 16.0, 200.0); + color(255, 0, 255); ++40: // 40 + alphaTime(20, 0, 0); ++20: // 60 + delete(); +} + + +script 120 script120 { + sprite(sprite331); + layer(15); + type(1); + blendMode(1); + alpha(255); + color(255, 0, 0); + isetRand(I0, 15); + I0 += 20; + F0 = RANDF * 1.5; + F0 += 0.5; + scale(F0, F0); + rotate(0.0, 0.0, RANDRAD); + F0 = RANDRAD / 20.0; + angleVel(0.0, 0.0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 160.0; + F0 = F2 * 160.0; + F1 *= 48.0; + F2 *= 48.0; + F1 += F3; + F2 += F0; + pos(F3, F0, 0.0); + posTime(I0, 4, F1, F2, 0.0); + scaleTime(I0, 4, 0.0, 0.0); + wait(I0); ++8: // 8 + delete(); +} + + +script 121 script121 { + sprite(sprite331); + layer(15); + type(1); + blendMode(1); + color(0, 0, 255); + alpha(255); + isetRand(I0, 15); + I0 += 20; + F0 = RANDF * 1.5; + F0 += 0.5; + scale(F0, F0); + rotate(0.0, 0.0, RANDRAD); + F0 = RANDRAD / 20.0; + angleVel(0.0, 0.0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 160.0; + F0 = F2 * 160.0; + F1 *= 48.0; + F2 *= 48.0; + F1 = F3 - F1; + F2 = F0 - F2; + pos(F3, F0, 0.0); + posTime(I0, 4, F1, F2, 0.0); + scaleTime(I0, 4, 0.0, 0.0); + wait(I0); ++8: // 8 + delete(); +} + + +script 122 script122 { + scale(16.0, 16.0); + scaleTime(120, 6, 16.0, 160.0); + scriptNew(script116); + scriptNew(script117); + scriptNew(script118); ++10: // 10 + scriptNew(script119); ++10: // 20 + scriptNew(script118); ++10: // 30 + scriptNew(script119); + I0 = 80; + do { ++1: // 31 + scriptNew(script120); + scriptNew(script121); + scriptNew(script120); + scriptNew(script121); + } while (--I0); ++20: // 51 + delete(); +} + + +script 123 script123 { + blendMode(1); + I0 = 32; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite363); + angleVel(0.0, 0.0, -0.31415927); + scale(16.0, 16.0); + scaleTime(40, 6, 32.0, 112.0); ++160: // 160 + alphaTime(20, 0, 0); ++20: // 180 + delete(); +} + + +script 124 script124 { + blendMode(1); + I0 = 32; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite363); + angleVel(0.0, 0.0, 0.31415927); + scale(16.0, 16.0); + scaleTime(40, 5, 16.0, 112.0); ++160: // 160 + alphaTime(20, 0, 0); ++20: // 180 + delete(); +} + + +script 125 script125 { + blendMode(1); + I0 = 32; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite363); + angleVel(0.0, 0.0, 0.10471976); + scale(16.0, 16.0); + scaleTime(40, 4, 16.0, 140.0); + color(255, 0, 255); ++40: // 40 + alphaTime(20, 0, 0); ++20: // 60 + delete(); +} + + +script 126 script126 { + blendMode(1); + I0 = 32; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite363); + angleVel(0.0, 0.0, -0.10471976); + scale(16.0, 16.0); + scaleTime(40, 4, 16.0, 140.0); + color(255, 0, 255); ++40: // 40 + alphaTime(20, 0, 0); ++20: // 60 + delete(); +} + + +script 127 script127 { + sprite(sprite331); + layer(15); + type(1); + blendMode(1); + alpha(255); + color(255, 0, 0); + isetRand(I0, 15); + I0 += 20; + F0 = RANDF * 1.5; + F0 += 0.5; + scale(F0, F0); + rotate(0.0, 0.0, RANDRAD); + F0 = RANDRAD / 20.0; + angleVel(0.0, 0.0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 112.0; + F0 = F2 * 112.0; + F1 *= 48.0; + F2 *= 48.0; + F1 += F3; + F2 += F0; + pos(F3, F0, 0.0); + posTime(I0, 4, F1, F2, 0.0); + scaleTime(I0, 4, 0.0, 0.0); + wait(I0); ++8: // 8 + delete(); +} + + +script 128 script128 { + sprite(sprite331); + layer(15); + type(1); + blendMode(1); + color(0, 0, 255); + alpha(255); + isetRand(I0, 15); + I0 += 20; + F0 = RANDF * 1.5; + F0 += 0.5; + scale(F0, F0); + rotate(0.0, 0.0, RANDRAD); + F0 = RANDRAD / 20.0; + angleVel(0.0, 0.0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 112.0; + F0 = F2 * 112.0; + F1 *= 48.0; + F2 *= 48.0; + F1 = F3 - F1; + F2 = F0 - F2; + pos(F3, F0, 0.0); + posTime(I0, 4, F1, F2, 0.0); + scaleTime(I0, 4, 0.0, 0.0); + wait(I0); ++8: // 8 + delete(); +} + + +script 129 script129 { + scale(16.0, 16.0); + scaleTime(120, 6, 16.0, 112.0); + scriptNew(script123); + scriptNew(script124); + scriptNew(script125); ++10: // 10 + scriptNew(script126); ++10: // 20 + scriptNew(script125); ++10: // 30 + scriptNew(script126); + I0 = 120; + do { ++1: // 31 + scriptNew(script127); + scriptNew(script128); + scriptNew(script127); + scriptNew(script128); + } while (--I0); ++20: // 51 + delete(); +} + + +script 130 script130 { + sprite(sprite332); + layer(15); + type(1); + blendMode(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + F0 = RANDF * 3.0; + F0 += 1.0; + scale(F0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 256.0; + F0 = F2 * 256.0; + pos(F3, F0, 0.0); + posTime(60, 4, 0.0, 0.0, 0.0); + alpha(0); + alphaTime(30, 4, 128); ++30: // 30 + alphaTime(30, 1, 0); + scaleTime(30, 1, 0.0, 0.0); ++30: // 60 + delete(); +} + + +script 131 script131 { + alpha(0); ++1: // 1 + I4 = 30; + do { + scriptNew(script130); ++2: // 3 + } while (--I4); ++60: // 63 + delete(); +} + + +script 132 script132 { + sprite(sprite331); + layer(2); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + scale(1.5, 1.5); + F0 = RANDF * 255.0; + I0 = $F0; + color(255, I0, 0); + F0 = %REG[10019] * 400.0; + F1 = %REG[10020] * 400.0; + F2 = %REG[10021] * 400.0; + F0 += %REG[10016]; + F1 += %REG[10017]; + F2 += %REG[10018]; + F3 = RANDF2 * 200.0; + F0 += F3; + F3 = RANDF2 * 200.0; + F1 += F3; + F1 += 200.0; + alpha(0); + alphaTime(30, 0, 64); + pos(F0, F1, F2); + F3 = RANDF2 * 200.0; + F0 += F3; + F3 = RANDF2 * 20.0; + F1 += F3; + F3 = F2 + 0.0; + posTime(200, 0, F0, F1, F3); ++100: // 100 + alphaTime(100, 0, 0); ++100: // 200 + delete(); +} + + +script 133 script133 { + sprite(sprite331); + layer(2); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + scale(1.5, 1.5); + I0 = $RANDF * 192; + color(255, I0, 0); + F0 = %REG[10019] * 600.0; + F1 = %REG[10020] * 600.0; + F2 = %REG[10021] * 600.0; + F0 += %REG[10016]; + F1 += %REG[10017]; + F2 += %REG[10018]; + F3 = RANDF2 * 100.0; + F0 += F3; + F3 = RANDF2 * 100.0; + F1 += F3; + F1 += 200.0; + alpha(0); + alphaTime(30, 0, 64); + pos(F0, F1, F2); + F3 = RANDF2 * 200.0; + F0 += F3; + F3 = RANDF2 * 20.0; + F1 += F3; + F3 = F2 + 0.0; + posTime(200, 0, F0, F1, F3); ++100: // 100 + alphaTime(100, 0, 0); ++100: // 200 + delete(); +} + + +script 134 script134 { + sprite(sprite331); + layer(2); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + scale(1.5, 1.5); + F0 = RANDF * 255.0; + I0 = $F0; + color(255, I0, 0); + F0 = %REG[10019] * 400.0; + F1 = %REG[10020] * 400.0; + F2 = %REG[10021] * 400.0; + F0 += %REG[10016]; + F1 += %REG[10017]; + F2 += %REG[10018]; + F3 = RANDF2 * 200.0; + F0 += F3; + F3 = RANDF2 * 200.0; + F1 += F3; + F1 += 100.0; + alpha(0); + alphaTime(30, 0, 64); + pos(F0, F1, F2); + F3 = RANDF * 200.0; + F0 += F3; + F3 = RANDF * 200.0; + F1 -= F3; + F3 = F2 + 300.0; + posTime(200, 0, F0, F1, F3); ++100: // 100 + alphaTime(100, 0, 0); ++100: // 200 + delete(); +} + + +script 135 script135 { + sprite(sprite331); + layer(2); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + scale(1.5, 1.5); + F0 = RANDF * 255.0; + I0 = $F0; + color(255, I0, 0); + F0 = %REG[10019] * 400.0; + F1 = %REG[10020] * 400.0; + F2 = %REG[10021] * 400.0; + F0 += %REG[10016]; + F1 += %REG[10017]; + F2 += %REG[10018]; + F3 = RANDF2 * 200.0; + F0 += F3; + F3 = RANDF2 * 200.0; + F1 += F3; + F1 += 100.0; + alpha(0); + alphaTime(30, 0, 64); + pos(F0, F1, F2); + F3 = RANDF2 * 200.0; + F0 += F3; + F3 = RANDF * 200.0; + F1 -= F3; + F1 -= 400.0; + F3 = F2 + 300.0; + posTime(200, 0, F0, F1, F3); ++100: // 100 + alphaTime(100, 0, 0); ++100: // 200 + delete(); +} + + +script 136 script136 { + sprite(sprite331); + layer(2); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + scale(1.5, 1.5); + F0 = RANDF * 255.0; + I0 = $F0; + color(255, I0, 0); + F0 = %REG[10019] * 400.0; + F1 = %REG[10020] * 400.0; + F2 = %REG[10021] * 400.0; + F0 += %REG[10016]; + F1 += %REG[10017]; + F2 += %REG[10018]; + F3 = RANDF2 * 200.0; + F0 += F3; + F3 = RANDF2 * 200.0; + F1 += F3; + F1 += 200.0; + alpha(0); + alphaTime(30, 0, 64); + pos(F0, F1, F2); + F3 = RANDF2 * 50.0; + F0 += F3; + F3 = RANDF2 * 60.0; + F1 -= F3; + F1 -= 60.0; + F3 = F2 + 20.0; + posTime(200, 0, F0, F1, F3); ++100: // 100 + alphaTime(100, 0, 0); ++100: // 200 + delete(); +} + + +script 137 script137 { + blendMode(1); + I0 = 32; + I1 = 3; + I2 = 600; + texCircle(I0); + layer(3); + sprite(sprite364); + alphaTime(0, 0, 0); + alphaTime(8, 0, 128); + angleVel(0.0, 0.0, -0.31415927); + scale(16.0, 16.0); + scaleTime(40, 4, 16.0, 320.0); ++40: // 40 + scaleTime(40, 1, 16.0, 172.0); + angleVel(0.0, 0.0, 0.10471976); ++40: // 80 + scaleTime(I2, 0, 14.0, 16.0); + angleVel(0.0, 0.0, 0.05235988); + wait(I2); + alphaTime(20, 0, 0); ++20: // 100 + stop(); +} + + +script 138 script138 { + blendMode(1); + I0 = 32; + I1 = 3; + I2 = 600; + texCircle(I0); + layer(3); + sprite(sprite365); + alphaTime(0, 0, 0); + alphaTime(8, 0, 128); + angleVel(0.0, 0.0, 0.31415927); + scale(128.0, 16.0); + scaleTime(80, 9, 16.0, 160.0); ++80: // 80 + scaleTime(I2, 0, 14.0, 16.0); + angleVel(0.0, 0.0, -0.06283186); + wait(I2); + alphaTime(20, 0, 0); ++20: // 100 + stop(); +} + + +script 139 script139 { + alpha(0); + scriptNew(script137); + scriptNew(script138); + stop(); +} + + +script 140 script140 { + sprite(sprite332); + layer(15); + type(1); + blendMode(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + F0 = RANDF * 3.0; + F0 += 1.0; + scale(F0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 256.0; + F0 = F2 * 256.0; + pos(0.0, 0.0, 0.0); + F2 = RANDRAD; + F1 = cos(F2); + F2 = sin(F2); + F1 = F1 * 512.0; + F2 = F2 * 512.0; + moveBezier(90, 0.0, 0.0, 0.0, F3, F0, 0.0, F1, F2, 0.0); + alpha(0); + alphaTime(30, 4, 128); ++60: // 60 + alphaTime(30, 1, 0); + scaleTime(30, 1, 0.0, 0.0); ++30: // 90 + delete(); +} + + +script 141 script141 { + alpha(0); ++1: // 1 + I4 = 30; + do { + scriptNew(script140); ++2: // 3 + } while (--I4); ++60: // 63 + delete(); +} + + +script 142 script142 { + alpha(0); ++1: // 1 + I4 = 60; + do { + scriptNew(script140); + } while (--I4); ++60: // 61 + delete(); +} + + +script 143 script143 { + blendMode(1); + layer(16); + sprite(sprite367); + type(1); + rotate(0.0, 0.0, 1.0471976); + scale(1.0, 1.0); + scrollY(0.01); + alpha(0); + alphaTime(20, 0, 128); ++120: // 120 + alphaTime(20, 0, 0); ++20: // 140 + delete(); +} + + +script 144 script144 { + blendMode(1); + layer(16); + sprite(sprite367); + type(1); + rotate(0.0, 0.0, 1.0471976); + scale(1.0, 1.0); + scrollY(-0.01); + alpha(0); + alphaTime(20, 0, 128); ++120: // 120 + alphaTime(20, 0, 0); ++20: // 140 + delete(); +} + + +script 145 script145 { + blendMode(1); + I0 = 9; + I1 = 8; + texCircle(I0); + layer(15); + sprite(sprite367); + angleVel(0.0, 0.0, -0.02617994); + scale(16.0, 128.0); + pos(352.0, 400.0, 0.0); + alpha(0); + alphaTime(20, 0, 128); ++120: // 120 + alphaTime(20, 0, 0); ++20: // 140 + delete(); +} + + +script 146 script146 { + blendMode(1); + I0 = 9; + I1 = 8; + texCircle(I0); + layer(15); + sprite(sprite367); + angleVel(0.0, 0.0, 0.02617994); + scale(16.0, 160.0); + pos(352.0, 400.0, 0.0); + alpha(0); + alphaTime(20, 0, 128); ++120: // 120 + alphaTime(20, 0, 0); ++20: // 140 + delete(); +} + + +script 147 script147 { + blendMode(1); + I0 = 9; + I1 = 8; + texCircle(I0); + layer(15); + sprite(sprite367); + angleVel(0.0, 0.0, 0.02617994); + scale(16.0, 192.0); + pos(352.0, 400.0, 0.0); + alpha(0); + alphaTime(20, 0, 128); ++120: // 120 + alphaTime(20, 0, 0); ++20: // 140 + delete(); +} + + +script 148 script148 { + blendMode(1); + I0 = 9; + I1 = 8; + texCircle(I0); + layer(15); + sprite(sprite367); + angleVel(0.0, 0.0, 0.02617994); + scale(16.0, 96.0); + pos(96.0, 80.0, 0.0); + alpha(0); + alphaTime(20, 0, 128); ++120: // 120 + alphaTime(20, 0, 0); ++20: // 140 + delete(); +} + + +script 149 script149 { + alpha(0); + scriptNew(script145); + scriptNew(script146); + scriptNew(script147); + scriptNew(script148); + F0 = 64.0; + I0 = 10 / 2; + do { + pos(224.0, F0, 0.0); + scriptNew(script143); + F0 += 32.0; + pos(224.0, F0, 0.0); + scriptNew(script144); + F0 += 32.0; + } while (--I0); ++140: // 140 + delete(); +} + + +script 150 script150 { + sprite(sprite331); + layer(26); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + scale(1.5, 1.5); + F0 = RANDF * 255.0; + I0 = $F0; + color(255, I0, 0); + F0 = %REG[10019] * 400.0; + F1 = %REG[10020] * 400.0; + F2 = %REG[10021] * 400.0; + F0 += %REG[10016]; + F1 += %REG[10017]; + F2 += %REG[10018]; + F3 = RANDF2 * 400.0; + F0 += F3; + F0 -= 200.0; + F3 = RANDF2 * 200.0; + F1 += F3; + F3 = RANDF2 * 20.0; + F2 += F3; + F1 += 100.0; + F2 -= 100.0; + alpha(0); + alphaTime(30, 0, 64); + pos(F0, F1, F2); + F3 = RANDF2 * 50.0; + F0 += F3; + F3 = RANDF2 * 60.0; + F1 -= F3; + F1 -= 200.0; + F3 = F2 + 200.0; + posTime(200, 0, F0, F1, F3); ++100: // 100 + alphaTime(100, 0, 0); ++100: // 200 + delete(); +} + + +script 151 script151 { + sprite(sprite331); + layer(26); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + scale(1.5, 1.5); + F0 = RANDF * 255.0; + I0 = $F0; + color(255, I0, 0); + F0 = %REG[10019] * 400.0; + F1 = %REG[10020] * 400.0; + F2 = %REG[10021] * 400.0; + F0 += %REG[10016]; + F1 += %REG[10017]; + F2 += %REG[10018]; + F3 = RANDF2 * 500.0; + F0 += F3; + F3 = RANDF2 * 400.0; + F1 += F3; + F3 = RANDF2 * 20.0; + F2 += F3; + F0 -= 300.0; + F1 += 200.0; + F2 -= 300.0; + alpha(0); + alphaTime(30, 0, 64); + pos(F0, F1, F2); + F3 = RANDF2 * 50.0; + F0 += F3; + F3 = RANDF2 * 60.0; + F1 -= F3; + F1 -= 160.0; + F3 = F2 + 400.0; + posTime(400, 0, F0, F1, F3); ++300: // 300 + alphaTime(100, 0, 0); ++100: // 400 + delete(); +} + + +script 152 script152 { + layer(7); + sprite(sprite331); + type(1); + color(255, 16, 16); + angleVel(0.0, 0.0, 0.19634955); + scale(4.0, 4.0); + scaleTime(60, 0, 1.0, 1.0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 256.0; + F0 = F2 * 256.0; + pos(F3, F0, 0.0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 512.0; + F0 = F2 * 512.0; + moveBezier(60, F3, F0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); + blendMode(1); + alpha(0); + alphaTime(10, 0, 255); ++50: // 50 + alphaTime(10, 0, 0); ++10: // 60 + delete(); +} + + +script 153 script153 { + alpha(0); + I0 = 30; + do { ++1: // 1 + scriptNew(script152); + } while (--I0); +} + + +script 154 script154 { + sprite(sprite331); + layer(26); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + scale(1.5, 1.5); + F0 = RANDF * 255.0; + I0 = $F0; + color(255, I0, 0); + F0 = %REG[10019] * 400.0; + F1 = %REG[10020] * 400.0; + F2 = %REG[10021] * 400.0; + F0 += %REG[10016]; + F0 -= 200.0; + F1 += %REG[10017]; + F2 += %REG[10018]; + F2 -= 100.0; + F3 = RANDF2 * 200.0; + F0 += F3; + F3 = RANDF2 * 300.0; + F1 += F3; + F1 += 200.0; + alpha(0); + alphaTime(30, 0, 64); + pos(F0, F1, F2); + F3 = RANDF2 * 150.0; + F0 += F3; + F0 += 300.0; + F3 = RANDF2 * 60.0; + F1 -= F3; + F3 = F2 + 80.0; + posTime(400, 0, F0, F1, F3); ++300: // 300 + alphaTime(100, 0, 0); ++100: // 400 + delete(); +} + + +script 155 script155 { + sprite(sprite331); + layer(26); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + scale(1.5, 1.5); + F0 = RANDF * 255.0; + I0 = $F0; + color(255, I0, 0); + F0 = %REG[10019] * 400.0; + F1 = %REG[10020] * 400.0; + F2 = %REG[10021] * 400.0; + F0 += %REG[10016]; + F0 -= 200.0; + F1 += %REG[10017]; + F2 += %REG[10018]; + F2 -= 100.0; + F3 = RANDF2 * 100.0; + F0 += F3; + F3 = RANDF2 * 100.0; + F1 += F3; + F1 += 800.0; + alpha(0); + alphaTime(30, 0, 64); + pos(F0, F1, F2); + F3 = RANDF2 * 150.0; + F0 += F3; + F0 += 300.0; + F3 = RANDF2 * 60.0; + F1 -= F3; + F3 = F2 + 80.0; + posTime(400, 0, F0, F1, F3); ++300: // 300 + alphaTime(100, 0, 0); ++100: // 400 + delete(); +} + + +script 156 script156 { + sprite(sprite308); + layer(15); + type(1); + blendMode(1); + alpha(128); + color(255, 192, 128); + scale(0.7, 0.7); + scaleTime(12, 1, 0.0, 0.0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F1 *= 64.0; + F2 *= 64.0; + posTime(12, 4, F1, F2, 0.0); ++12: // 12 + delete(); +} + + +script 157 script157 { + blendMode(1); + I0 = 32; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite363); + angleVel(0.0, 0.0, -0.31415927); + scale(16.0, 16.0); + scaleTime(60, 6, 32.0, 64.0); ++120: // 120 + alphaTime(20, 0, 0); ++20: // 140 + delete(); +} + + +script 158 script158 { + blendMode(1); + I0 = 32; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite363); + angleVel(0.0, 0.0, 0.31415927); + scale(16.0, 16.0); + scaleTime(60, 5, 16.0, 64.0); ++120: // 120 + alphaTime(20, 0, 0); ++20: // 140 + delete(); +} + + +script 159 script159 { + blendMode(1); + I0 = 32; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite363); + angleVel(0.0, 0.0, 0.10471976); + scale(16.0, 16.0); + scaleTime(60, 4, 16.0, 80.0); + color(255, 0, 255); ++40: // 40 + alphaTime(20, 0, 0); ++20: // 60 + delete(); +} + + +script 160 script160 { + blendMode(1); + I0 = 32; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite363); + angleVel(0.0, 0.0, -0.10471976); + scale(16.0, 16.0); + scaleTime(60, 4, 16.0, 80.0); + color(255, 0, 255); ++40: // 40 + alphaTime(20, 0, 0); ++20: // 60 + delete(); +} + + +script 161 script161 { + sprite(sprite331); + layer(15); + type(1); + blendMode(1); + alpha(255); + color(255, 0, 0); + isetRand(I0, 15); + I0 += 20; + F0 = RANDF * 1.5; + F0 += 0.5; + scale(F0, F0); + rotate(0.0, 0.0, RANDRAD); + F0 = RANDRAD / 20.0; + angleVel(0.0, 0.0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 64.0; + F0 = F2 * 64.0; + F1 *= 48.0; + F2 *= 48.0; + F1 += F3; + F2 += F0; + pos(F3, F0, 0.0); + posTime(I0, 4, F1, F2, 0.0); + scaleTime(I0, 4, 0.0, 0.0); + wait(I0); ++8: // 8 + delete(); +} + + +script 162 script162 { + sprite(sprite331); + layer(15); + type(1); + blendMode(1); + color(0, 0, 255); + alpha(255); + isetRand(I0, 15); + I0 += 20; + F0 = RANDF * 1.5; + F0 += 0.5; + scale(F0, F0); + rotate(0.0, 0.0, RANDRAD); + F0 = RANDRAD / 20.0; + angleVel(0.0, 0.0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 64.0; + F0 = F2 * 64.0; + F1 *= 48.0; + F2 *= 48.0; + F1 = F3 - F1; + F2 = F0 - F2; + pos(F3, F0, 0.0); + posTime(I0, 4, F1, F2, 0.0); + scaleTime(I0, 4, 0.0, 0.0); + wait(I0); ++8: // 8 + delete(); +} + + +script 163 script163 { + scale(16.0, 16.0); + scaleTime(120, 6, 16.0, 64.0); + scriptNew(script157); + scriptNew(script158); + scriptNew(script159); ++10: // 10 + scriptNew(script160); ++10: // 20 + scriptNew(script159); ++10: // 30 + scriptNew(script160); + I0 = 80; + do { ++1: // 31 + scriptNew(script161); + scriptNew(script162); + scriptNew(script161); + scriptNew(script162); + } while (--I0); ++20: // 51 + delete(); +} + + +script 164 script164 { + sprite(sprite334); + layer(15); + type(1); + blendMode(1); + scale(2.0, 2.0); + scaleTime(20, 4, 0.0, 0.0); ++20: // 20 + delete(); +} + + +script 165 script165 { + sprite(sprite332); + layer(3); + type(1); + blendMode(1); + color(0, 255, 0); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + F0 = RANDF * 3.0; + F0 += 1.0; + scale(F0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 256.0; + F0 = F2 * 256.0; + pos(F3, F0, 0.0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 512.0; + F0 = F2 * 512.0; + moveBezier(60, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, F3, F0, 0.0); + alpha(0); + alphaTime(30, 4, 128); ++30: // 30 + alphaTime(30, 1, 0); + scaleTime(30, 1, 0.0, 0.0); ++30: // 60 + delete(); +} + + +script 166 script166 { + alpha(0); ++1: // 1 + I4 = 10; + do { + scriptNew(script165); ++4: // 5 + } while (--I4); ++60: // 65 + delete(); +} + + +entry { + path: "bullet/eff01.png", + img_width: 128, + img_height: 64, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite368: {x: 0.0, y: 0.0, w: 48.0, h: 48.0}, + sprite369: {x: 48.0, y: 0.0, w: 48.0, h: 48.0}, + sprite370: {x: 96.0, y: 0.0, w: 8.0, h: 8.0}, + sprite371: {x: 104.0, y: 0.0, w: 8.0, h: 8.0}, + sprite372: {x: 112.0, y: 0.0, w: 8.0, h: 8.0}, + sprite373: {x: 120.0, y: 0.0, w: 8.0, h: 8.0}, + sprite374: {x: 96.0, y: 16.0, w: 32.0, h: 32.0}, + }, +} + + +script 167 script167 { + sprite(sprite368); + blendMode(1); + layer(5); + anchor(0, 2); + F2 = RANDF2 * 4.0; + pos(F2, 0.0, 0.0); + color(128, 32, 32); + F0 = RANDF * 0.7; + F0 += 1.0; + scale(F0, 0.0); + F1 = RANDF * 0.5; + F1 += 1.9; + scaleTime(30, 4, F0, F1); + alphaTime(30, 1, 0); ++30: // 30 + delete(); +} + + +script 168 script168 { + sprite(sprite369); + blendMode(1); + layer(3); + type(1); + rotate(0.0, 0.0, RANDRAD); + color(128, 0, 0); + F0 = RANDF * 0.7; + F0 += 1.6; + scale(F0, F0); + scaleTime(30, 4, 0.7, 0.7); + alpha(0); + alphaTime(30, 4, 255); ++30: // 30 + delete(); +} + + +script 169 script169 { + sprite(sprite369); + blendMode(1); + layer(5); + type(1); + rotate(0.0, 0.0, RANDRAD); + color(255, 255, 255); + F0 = RANDF * 0.7; + F0 += 2.0; + scale(F0, F0); + scaleTime(30, 4, 1.2, 1.2); + alpha(0); + alphaTime(30, 4, 64); ++30: // 30 + delete(); +} + + +script 170 script170 { + alpha(0); + loop { + scriptNew(script167); ++3: // 3 + scriptNew(script168); ++1: // 4 + scriptNew(script169); ++2: // 6 + } + +interrupt[1]: ++30: // 36 + delete(); +} + + +script 171 script171 { + I0 = RAND % 4; + if (I0 == 0) { + sprite(sprite370); + } else if (I0 == 1) { + sprite(sprite371); + } else if (I0 == 2) { + sprite(sprite372); + } else { + sprite(sprite373); + } + layer(2); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + scale(1.5, 1.5); + F0 = RANDF * 255.0; + I0 = $F0; + color(255, I0, 0); + F0 = %REG[10019] * 400.0; + F1 = %REG[10020] * 400.0; + F2 = %REG[10021] * 400.0; + F0 += %REG[10016]; + F1 += %REG[10017]; + F2 += %REG[10018]; + F3 = RANDF2 * 200.0; + F0 += F3; + F3 = RANDF2 * 200.0; + F1 += F3; + F1 -= 200.0; + alpha(0); + alphaTime(30, 0, 64); + pos(F0, F1, F2); + F3 = RANDF2 * 50.0; + F0 += F3; + F3 = RANDF2 * 60.0; + F1 += F3; + F1 += 160.0; + posTime(200, 0, F0, F1, F2); ++100: // 100 + alphaTime(100, 0, 0); ++100: // 200 + delete(); +} + + +script 172 script172 { + sprite(sprite374); + layer(26); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 320.0; + angleVel(0.0, 0.0, F0); + rotate(0.0, 0.0, RANDRAD); + scale(0.5, 0.5); + F0 = RANDF * 255.0; + I0 = $F0; + F0 = %REG[10019] * 400.0; + F1 = %REG[10020] * 400.0; + F2 = %REG[10021] * 400.0; + F0 += %REG[10016]; + F1 += %REG[10017]; + F2 += %REG[10018]; + F3 = RANDF2 * 200.0; + F0 += F3; + F3 = RANDF2 * 200.0; + F1 += F3; + F2 -= 100.0; + alpha(0); + alphaTime(30, 0, 64); + pos(F0, F1, F2); + F3 = RANDF2 * 10.0; + F0 += F3; + F3 = RANDF2 * 10.0; + F1 += F3; + F1 += 160.0; + F2 -= 0.0; + posTime(200, 0, F0, F1, F2); ++100: // 100 + alphaTime(100, 0, 0); ++100: // 200 + delete(); +} + + +script 173 script173 { + I0 = RAND % 4; + if (I0 == 0) { + sprite(sprite370); + } else if (I0 == 1) { + sprite(sprite371); + } else if (I0 == 2) { + sprite(sprite372); + } else { + sprite(sprite373); + } + layer(26); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + scale(1.5, 1.5); + F0 = RANDF * 255.0; + I0 = $F0; + color(255, I0, 0); + F1 = %REG[10020] * 400.0; + F1 += 1100.0; + F1 += %REG[10017]; + F3 = F1 % 768.0; + F1 -= F3; + F1 += 64.0; + F3 = RANDF2 * 64.0; + F1 += F3; + F2 -= 100.0; + I0 = RAND % 2; + F0 = RANDF2 * 32.0; + if (I0 == 0) { + F0 += 176.0; + } else { + F0 -= 176.0; + } + alpha(0); + alphaTime(30, 0, 255); + pos(F0, F1, -100.0); + F3 = RANDF * 64.0; + if (I0 == 0) { + F0 -= F3; + } else { + F0 += F3; + } + F3 = RANDF2 * 120.0; + F1 += F3; + F2 = RANDF * 100.0; + F2 = 0.0 - F2; + posTime(200, 0, F0, F1, F2); ++100: // 100 + alphaTime(100, 0, 0); ++100: // 200 + delete(); +} + + +entry { + path: "bullet/etama7a.png", + img_width: 256, + img_height: 256, + sprites: {sprite375: {x: 1.0, y: 1.0, w: 254.0, h: 254.0}}, +} + + +entry { + path: "bullet/etama7b.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: {sprite376: {x: 1.0, y: 1.0, w: 254.0, h: 254.0}}, +} + + +script 174 script174 { + sprite(sprite375); + blendMode(1); + layer(14); + scale(0.1, 0.1); + rotate(0.0, 0.0, 1.0); + type(1); + scaleTime(10, 1, 0.4, 0.4); ++10: // 10 + nop(); + scaleTime(120, 4, 0.8, 0.8); ++60: // 70 + alphaTime(60, 0, 0); ++60: // 130 + delete(); + loop { ++60: // 190 + scaleTime(60, 9, 1.0, 1.0); ++60: // 250 + } + stop(); +} + + +script 175 script175 { + type(1); + sprite(sprite376); + color(255, 0, 0); + layer(12); + alpha(0); + alphaTime(20, 1, 192); + scale(1.0, 1.0); + scaleTime(20, 1, 0.1, 0.1); ++20: // 20 + scale(0.1, 0.1); + scriptNew(script174); + scaleTime(10, 1, 0.5, 0.5); + angleVel(0.0, 0.0, 0.15176776); ++4: // 24 + scriptNew(script174); ++4: // 28 + scriptNew(script174); ++2: // 30 + nop(); + scaleTime(90, 4, 0.9, 0.9); ++90: // 120 + scaleTime(40, 1, 0.0, 0.0); ++40: // 160 + delete(); + loop { ++60: // 220 + scaleTime(60, 9, 1.0, 1.0); ++60: // 280 + } + stop(); +} + + +script 176 script176 { + sprite(sprite328); + layer(15); + type(1); + blendMode(1); + scale(0.1, 0.1); + scaleTime(120, 4, 15.5, 15.5); ++90: // 90 + alphaTime(30, 4, 0); ++30: // 120 + delete(); +} + + +script 177 script177 { + sprite(sprite375); + blendMode(1); + layer(14); + scale(0.1, 0.1); + rotate(0.0, 0.0, 1.0); + type(1); + scaleTime(10, 1, 0.4, 0.4); ++10: // 10 + nop(); + scaleTime(60, 4, 0.5, 0.5); ++30: // 40 + alphaTime(30, 0, 0); ++30: // 70 + delete(); +} + + +script 178 script178 { + type(1); + sprite(sprite376); + color(255, 0, 255); + layer(12); + alpha(0); + alphaTime(20, 1, 192); + scale(1.0, 1.0); + scaleTime(20, 1, 0.1, 0.1); ++20: // 20 + scale(0.1, 0.1); + scriptNew(script177); + scaleTime(10, 1, 0.4, 0.4); + angleVel(0.0, 0.0, 0.15176776); ++4: // 24 + scriptNew(script177); ++4: // 28 + scriptNew(script177); ++2: // 30 + nop(); + scaleTime(45, 4, 0.45, 0.45); ++45: // 75 + scaleTime(20, 1, 0.0, 0.0); ++20: // 95 + delete(); +} + + +script 179 script179 { + I0 = RAND % 4; + if (I0 == 0) { + sprite(sprite370); + } else if (I0 == 1) { + sprite(sprite371); + } else if (I0 == 2) { + sprite(sprite372); + } else { + sprite(sprite373); + } + layer(2); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + scale(1.5, 1.5); + F0 = RANDF * 255.0; + I0 = $F0; + color(255, I0, 0); + F0 = %REG[10019] * 400.0; + F1 = %REG[10020] * 400.0; + F2 = %REG[10021] * 400.0; + F0 += %REG[10016]; + F1 += %REG[10017]; + F2 += %REG[10018]; + F3 = RANDF2 * 100.0; + F0 += F3; + F3 = RANDF2 * 100.0; + F1 += F3; + F1 += 50.0; + alpha(0); + alphaTime(30, 0, 96); + pos(F0, F1, F2); + F2 -= 200.0; + posTime(200, 0, F0, F1, F2); ++100: // 100 + alphaTime(100, 0, 0); ++100: // 200 + delete(); +} + + +script 180 script180 { + sprite(sprite375); + blendMode(1); + layer(14); + scale(0.1, 0.1); + rotate(0.0, 0.0, 1.0); + angleVel(0.0, 0.0, 3.1415927); + type(1); + loop { + scaleTime(20, 9, 1.02, 1.02); ++20: // 20 + scaleTime(20, 9, 1.0, 1.0); ++20: // 40 + } + +interrupt[1]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 60 + delete(); +} + + +script 181 script181 { + type(2); + sprite(sprite376); + color(255, 0, 0); + layer(12); + alpha(0); + alphaTime(20, 1, 255); + scale(0.1, 0.1); + scriptNew(script180); + loop { + scaleTime(20, 9, 1.1, 1.1); ++20: // 20 + scaleTime(20, 9, 1.0, 1.0); ++20: // 40 + } + +interrupt[1]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 60 + delete(); +} + + +script 182 script182 { + sprite(sprite375); + blendMode(1); + layer(14); + scale(0.1, 0.1); + rotate(0.0, 0.0, 1.0); + angleVel(0.0, 0.0, 3.1415927); + alpha(224); + type(1); + scaleTime(20, 9, 1.0, 1.0); ++20: // 20 + scaleTime(20, 9, 1.02, 1.02); + wait(20); + scaleTime(120, 0, 0.25, 0.25); + wait(120); + loop { + scaleTime(20, 9, 0.251, 0.251); ++20: // 40 + scaleTime(20, 9, 0.25, 0.25); ++20: // 60 + } + alphaTime(120, 0, 0); ++10: // 70 + delete(); + +interrupt[1]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 90 + delete(); +} + + +script 183 script183 { + type(2); + sprite(sprite376); + color(255, 0, 0); + layer(12); + alpha(0); + alphaTime(20, 1, 255); + scale(0.1, 0.1); + scriptNew(script182); + scaleTime(20, 9, 1.0, 1.0); ++20: // 20 + scaleTime(20, 9, 1.1, 1.1); + wait(20); + scaleTime(120, 0, 0.25, 0.25); + wait(120); + loop { + scaleTime(20, 9, 0.275, 0.275); ++20: // 40 + scaleTime(20, 9, 0.25, 0.25); ++20: // 60 + } + +interrupt[1]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 80 + delete(); +} + + +script 184 script184 { + sprite(sprite375); + blendMode(1); + layer(14); + scale(0.1, 0.1); + rotate(0.0, 0.0, 1.0); + angleVel(0.0, 0.0, 3.1415927); + type(1); + loop { + scaleTime(20, 9, 0.25, 0.26); ++20: // 20 + scaleTime(20, 9, 0.251, 0.251); + wait(20); ++20: // 40 + } + +interrupt[2]: + scaleTime(120, 0, 2.2, 2.2); + wait(120); + loop { + scaleTime(20, 9, 2.205, 2.205); ++20: // 60 + scaleTime(20, 9, 2.2, 2.2); ++20: // 80 + } + +interrupt[1]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 100 + delete(); +} + + +script 185 script185 { + type(2); + sprite(sprite376); + color(255, 0, 0); + layer(12); + alpha(0); + alphaTime(20, 1, 224); + scale(0.1, 0.1); + scriptNew(script184); + loop { + scaleTime(20, 9, 0.25, 0.25); ++20: // 20 + scaleTime(20, 9, 0.26, 0.26); + wait(20); ++20: // 40 + } + +interrupt[2]: + scaleTime(120, 0, 2.1, 2.1); + wait(120); + loop { + scaleTime(20, 9, 2.11, 2.11); ++20: // 60 + scaleTime(20, 9, 2.1, 2.1); ++20: // 80 + } + +interrupt[1]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 100 + delete(); +} + + +script 186 script186 { + sprite(sprite375); + blendMode(1); + layer(14); + scale(0.1, 0.1); + rotate(0.0, 0.0, 1.0); + angleVel(0.0, 0.0, 3.1415927); + type(1); + loop { + scaleTime(20, 9, 0.52, 0.52); ++20: // 20 + scaleTime(20, 9, 0.5, 0.5); ++20: // 40 + } + +interrupt[2]: + scaleTime(60, 0, 0.75, 0.75); + wait(60); + loop { + scaleTime(20, 9, 0.76, 0.76); ++20: // 60 + scaleTime(20, 9, 0.75, 0.75); ++20: // 80 + } + +interrupt[3]: + scaleTime(60, 0, 1.0, 1.0); + wait(60); + loop { + scaleTime(20, 9, 1.01, 1.01); ++20: // 100 + scaleTime(20, 9, 1.0, 1.0); ++20: // 120 + } + +interrupt[4]: + scaleTime(60, 0, 1.2, 1.2); + wait(60); + loop { + scaleTime(20, 9, 1.21, 1.21); ++20: // 140 + scaleTime(20, 9, 1.2, 1.2); ++20: // 160 + } + +interrupt[1]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 180 + delete(); +} + + +script 187 script187 { + type(2); + sprite(sprite376); + color(255, 0, 0); + layer(12); + alpha(0); + alphaTime(20, 1, 255); + scale(0.1, 0.1); + scriptNew(script186); + loop { + scaleTime(20, 9, 0.52, 0.52); ++20: // 20 + scaleTime(20, 9, 0.5, 0.5); ++20: // 40 + } + +interrupt[2]: + scaleTime(60, 0, 0.75, 0.75); + wait(60); + loop { + scaleTime(20, 9, 0.76, 0.76); ++20: // 60 + scaleTime(20, 9, 0.75, 0.75); ++20: // 80 + } + +interrupt[3]: + scaleTime(60, 0, 1.0, 1.0); + wait(60); + loop { + scaleTime(20, 9, 1.01, 1.01); ++20: // 100 + scaleTime(20, 9, 1.0, 1.0); ++20: // 120 + } + +interrupt[4]: + scaleTime(60, 0, 1.2, 1.2); + wait(60); + loop { + scaleTime(20, 9, 1.21, 1.21); ++20: // 140 + scaleTime(20, 9, 1.2, 1.2); ++20: // 160 + } + +interrupt[1]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 180 + delete(); +} + + +script 188 script188 { + sprite(sprite332); + layer(15); + type(1); + blendMode(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + F0 = RANDF * 3.0; + F0 += 1.0; + scale(F0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 256.0; + F0 = F2 * 256.0; + pos(F3, F0, 0.0); + posTime(60, 4, 0.0, 0.0, 0.0); + alpha(0); + alphaTime(30, 4, 128); ++30: // 30 + alphaTime(30, 1, 0); + scaleTime(30, 1, 0.0, 0.0); ++30: // 60 + delete(); +} + + +script 189 script189 { + alpha(0); ++1: // 1 + I4 = 30; + loop { + scriptNew(script188); ++8: // 9 + } ++60: // 69 + delete(); +} + + +script 190 script190 { + sprite(sprite374); + layer(26); + type(4); + blendMode(1); + ins_74(1); + F0 = RANDRAD / 320.0; + angleVel(0.0, 0.0, F0); + rotate(0.0, 0.0, RANDRAD); + scale(0.5, 0.5); + F0 = RANDF * 255.0; + I0 = $F0; + F0 = %REG[10019] * 400.0; + F1 = %REG[10020] * 400.0; + F2 = %REG[10021] * 400.0; + F0 += %REG[10016]; + F1 += %REG[10017]; + F2 += %REG[10018]; + F3 = RANDF2 * 200.0; + F0 += F3; + F3 = RANDF2 * 200.0; + F1 += F3; + F1 -= 0.0; + F2 -= 100.0; + alpha(0); + alphaTime(30, 0, 64); + pos(F0, F1, F2); + F3 = RANDF2 * 10.0; + F0 += F3; + F3 = RANDF2 * 10.0; + F1 += F3; + F1 += 0.0; + F2 += 50.0; + posTime(200, 0, F0, F1, F2); ++100: // 100 + alphaTime(100, 0, 0); ++100: // 200 + delete(); +} + + +entry { + path: "bullet/etama8.png", + img_width: 256, + img_height: 256, + sprites: { + sprite377: {x: 0.0, y: 0.0, w: 32.0, h: 32.0}, + sprite378: {x: 32.0, y: 0.0, w: 32.0, h: 32.0}, + sprite379: {x: 64.0, y: 0.0, w: 32.0, h: 32.0}, + sprite380: {x: 96.0, y: 0.0, w: 32.0, h: 32.0}, + sprite381: {x: 128.0, y: 0.0, w: 32.0, h: 32.0}, + sprite382: {x: 160.0, y: 0.0, w: 32.0, h: 32.0}, + sprite383: {x: 192.0, y: 0.0, w: 32.0, h: 32.0}, + sprite384: {x: 224.0, y: 0.0, w: 32.0, h: 32.0}, + sprite385: {x: 0.0, y: 32.0, w: 64.0, h: 64.0}, + sprite386: {x: 64.0, y: 32.0, w: 64.0, h: 64.0}, + sprite387: {x: 128.0, y: 32.0, w: 64.0, h: 64.0}, + sprite388: {x: 192.0, y: 32.0, w: 64.0, h: 64.0}, + }, +} + + +script 191 script191 { + type(1); + ins_82(1); + alpha(0); + I0 = 0; + +interrupt[7]: + sprite(sprite1); + type(1); + scale(5.0, 5.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_376; + +interrupt[8]: + sprite(sprite1); + scale(5.0, 5.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_376; + +interrupt[9]: + sprite(sprite1); + scale(6.0, 6.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_376; + +interrupt[2]: +label_376: + I0 = 1; + alpha(255); + scale(1.0, 1.0); + alphaTime(0, 0, 255); + scaleTime(0, 4, 1.0, 1.0); + sprite(sprite0); + stop(); ++15: // 63 + +interrupt[1]: + alphaTime(14, 0, 0); + blendMode(1); + scale(1.0, 1.0); + scaleTime(14, 4, 1.5, 1.5); ++14: // 77 + delete(); +} + + +script 192 script192 { + sprite(sprite366); + blendMode(1); + type(1); + alpha(0); + alphaTime(60, 0, 255); + scrollY(0.01); + anchor(0, 1); + stop(); + +interrupt[1]: + color(255, 0, 0); + caseReturn(); + +interrupt[2]: + color(255, 0, 255); + caseReturn(); +} + + +script 193 script193 { + sprite(sprite0); + rotate(0.0, 0.0, RANDRAD); + type(1); + alpha(0); + I0 = 0; + +interrupt[7]: + type(1); + scale(2.0, 2.0); + alphaTime(8, 0, 255); + scaleTime(8, 4, 1.0, 1.0); ++8: // 8 + goto label_360; + +interrupt[8]: + scale(3.0, 3.0); + alphaTime(15, 0, 255); + scaleTime(15, 4, 1.0, 1.0); ++15: // 23 + goto label_360; + +interrupt[9]: + scale(4.0, 4.0); + alphaTime(25, 0, 255); + scaleTime(25, 4, 1.0, 1.0); ++25: // 48 + goto label_360; + +interrupt[2]: +label_360: + I0 = 1; + alpha(255); + scale(0.3, 0.3); + alphaTime(0, 0, 255); + scaleTime(4, 4, 1.0, 1.0); + stop(); ++15: // 63 + +interrupt[1]: + alphaTime(12, 4, 0); + scaleTime(12, 4, 0.0, 0.0); ++12: // 75 + delete(); +} + + +script 194 script194 { + sprite(sprite375); + blendMode(1); + layer(14); + scale(0.1, 0.1); + rotate(0.0, 0.0, 1.0); + angleVel(0.0, 0.0, 3.1415927); + type(1); + scaleTime(20, 9, 0.75, 0.75); ++20: // 20 + scaleTime(20, 9, 0.77, 0.77); + wait(20); + scaleTime(120, 0, 0.25, 0.25); + wait(120); + loop { + scaleTime(20, 9, 0.251, 0.251); ++20: // 40 + scaleTime(20, 9, 0.25, 0.25); ++20: // 60 + } + alphaTime(120, 0, 0); ++10: // 70 + delete(); + +interrupt[1]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 90 + delete(); +} + + +script 195 script195 { + type(2); + sprite(sprite376); + color(255, 0, 0); + layer(12); + alpha(0); + alphaTime(20, 1, 255); + scale(0.1, 0.1); + scriptNew(script194); + scaleTime(20, 9, 0.75, 0.75); ++20: // 20 + scaleTime(20, 9, 0.8, 0.8); + wait(20); + scaleTime(120, 0, 0.25, 0.25); + wait(120); + loop { + scaleTime(20, 9, 0.275, 0.275); ++20: // 40 + scaleTime(20, 9, 0.25, 0.25); ++20: // 60 + } + +interrupt[1]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 80 + delete(); +} + + +script 196 script196 { + sprite(sprite332); + layer(5); + type(1); + blendMode(1); + F0 = RANDRAD / 32.0; + angleVel(0.0, 0.0, F0); + F0 = RANDF * 3.0; + F0 += 1.0; + scale(F0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 256.0; + F0 = F2 * 256.0; + pos(F3, F0, 0.0); + posTime(60, 4, 0.0, 0.0, 0.0); + alpha(0); + alphaTime(30, 4, 128); ++30: // 30 + alphaTime(30, 1, 0); + scaleTime(30, 1, 0.0, 0.0); ++30: // 60 + delete(); +} + + +script 197 script197 { + alpha(0); ++1: // 1 + I4 = 30; + do { + scriptNew(script196); ++2: // 3 + } while (--I4); ++60: // 63 + delete(); +} diff --git a/research/default.tecl b/research/default.tecl new file mode 100644 index 0000000..a9ca04b --- /dev/null +++ b/research/default.tecl @@ -0,0 +1,111 @@ +#pragma mapfile "utils/th11.eclm" + +meta {anim: ["enemy.anm"]} + + +void Ecl_EtBreak() { + stackAlloc(@nargs=1, @blob="08000000"); + pushf(@nargs=1, @blob="00008041"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + flagSet(@nargs=1, @blob="20000000"); + jmp(@nargs=2, @blob="78000000 01000000"); + etCancel(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); ++1: // 1 + pushi(@nargs=1, @blob="0a000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="00002044"); + lessf(@blob=""); + jmpNeq(@nargs=2, @blob="68ffffff 00000000"); + delete(@blob=""); +} + + +void Ecl_EtBreak2() { + stackAlloc(@nargs=1, @blob="08000000"); + pushf(@nargs=1, @blob="00008041"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + flagSet(@nargs=1, @blob="20000000"); + jmp(@nargs=2, @blob="78000000 01000000"); + etCancel(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); ++1: // 1 + pushi(@nargs=1, @blob="06000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="00002044"); + lessf(@blob=""); + jmpNeq(@nargs=2, @blob="68ffffff 00000000"); + delete(@blob=""); +} + + +void Ecl_EtBreak2_ni() { + stackAlloc(@nargs=1, @blob="08000000"); + pushf(@nargs=1, @blob="00008041"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + flagSet(@nargs=1, @blob="20000000"); + jmp(@nargs=2, @blob="78000000 01000000"); + etClear(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); ++1: // 1 + pushi(@nargs=1, @blob="06000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="00002044"); + lessf(@blob=""); + jmpNeq(@nargs=2, @blob="68ffffff 00000000"); + delete(@blob=""); +} + + +void Ecl_EtBreak_ni() { + stackAlloc(@nargs=1, @blob="08000000"); + pushf(@nargs=1, @blob="00008041"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + flagSet(@nargs=1, @blob="20000000"); + jmp(@nargs=2, @blob="78000000 01000000"); + etClear(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); ++1: // 1 + pushi(@nargs=1, @blob="0a000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="00002044"); + lessf(@blob=""); + jmpNeq(@nargs=2, @blob="68ffffff 00000000"); + delete(@blob=""); +} + + +void et_ofs_r() { + stackAlloc(@nargs=1, @blob="10000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + circlePos( + @mask=0b1111, + @nargs=4, + @blob="00000041 00004041 00381cc6 000080bf", + ); + etOffset(@mask=0b111, @nargs=3, @blob="00000000 00000041 00004041"); + ret(@blob=""); +} + + +void test() { + stackAlloc(@nargs=1, @blob="08000000"); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + negf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + addf(@blob=""); + pushi(@nargs=1, @blob="fdffffff"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + ret(@blob=""); +} diff --git a/research/dump/ascii/ascii.png b/research/dump/ascii/ascii.png new file mode 100644 index 0000000..b5b5c80 Binary files /dev/null and b/research/dump/ascii/ascii.png differ diff --git a/research/dump/ascii/loading.png b/research/dump/ascii/loading.png new file mode 100644 index 0000000..d2bc3a2 Binary files /dev/null and b/research/dump/ascii/loading.png differ diff --git a/research/dump/ascii/pause.png b/research/dump/ascii/pause.png new file mode 100644 index 0000000..019b806 Binary files /dev/null and b/research/dump/ascii/pause.png differ diff --git a/research/dump/front/ename.png b/research/dump/front/ename.png new file mode 100644 index 0000000..336a66e Binary files /dev/null and b/research/dump/front/ename.png differ diff --git a/research/dump/front/front00.png b/research/dump/front/front00.png new file mode 100644 index 0000000..796b5d0 Binary files /dev/null and b/research/dump/front/front00.png differ diff --git a/research/dump/front/front01.png b/research/dump/front/front01.png new file mode 100644 index 0000000..cd2aac5 Binary files /dev/null and b/research/dump/front/front01.png differ diff --git a/research/dump/loading/sig.png b/research/dump/loading/sig.png new file mode 100644 index 0000000..6499cab Binary files /dev/null and b/research/dump/loading/sig.png differ diff --git a/research/dump/title/rank00.png b/research/dump/title/rank00.png new file mode 100644 index 0000000..0c9c5d5 Binary files /dev/null and b/research/dump/title/rank00.png differ diff --git a/research/dump/title/result00.png b/research/dump/title/result00.png new file mode 100644 index 0000000..5eceed2 Binary files /dev/null and b/research/dump/title/result00.png differ diff --git a/research/dump/title/select00.png b/research/dump/title/select00.png new file mode 100644 index 0000000..4f0aa13 Binary files /dev/null and b/research/dump/title/select00.png differ diff --git a/research/dump/title/select00b.png b/research/dump/title/select00b.png new file mode 100644 index 0000000..3356855 Binary files /dev/null and b/research/dump/title/select00b.png differ diff --git a/research/dump/title/select01.png b/research/dump/title/select01.png new file mode 100644 index 0000000..94ee96f Binary files /dev/null and b/research/dump/title/select01.png differ diff --git a/research/dump/title/sl_pl00.png b/research/dump/title/sl_pl00.png new file mode 100644 index 0000000..b45d7ea Binary files /dev/null and b/research/dump/title/sl_pl00.png differ diff --git a/research/dump/title/sl_pl00b.png b/research/dump/title/sl_pl00b.png new file mode 100644 index 0000000..7cf7291 Binary files /dev/null and b/research/dump/title/sl_pl00b.png differ diff --git a/research/dump/title/sl_pl01b.png b/research/dump/title/sl_pl01b.png new file mode 100644 index 0000000..5fccad6 Binary files /dev/null and b/research/dump/title/sl_pl01b.png differ diff --git a/research/dump/title/title00a.png b/research/dump/title/title00a.png new file mode 100644 index 0000000..28d06ca Binary files /dev/null and b/research/dump/title/title00a.png differ diff --git a/research/dump/title/title01.png b/research/dump/title/title01.png new file mode 100644 index 0000000..fda72e2 Binary files /dev/null and b/research/dump/title/title01.png differ diff --git a/research/dump/title/title_logo.png b/research/dump/title/title_logo.png new file mode 100644 index 0000000..950a2c8 Binary files /dev/null and b/research/dump/title/title_logo.png differ diff --git a/research/dump/title/title_ver.png b/research/dump/title/title_ver.png new file mode 100644 index 0000000..2e57bde Binary files /dev/null and b/research/dump/title/title_ver.png differ diff --git a/research/dump/title/weapon.png b/research/dump/title/weapon.png new file mode 100644 index 0000000..e8a6a64 Binary files /dev/null and b/research/dump/title/weapon.png differ diff --git a/research/dump/title/weapon_00a.png b/research/dump/title/weapon_00a.png new file mode 100644 index 0000000..bea823b Binary files /dev/null and b/research/dump/title/weapon_00a.png differ diff --git a/research/dump/title/weapon_00b.png b/research/dump/title/weapon_00b.png new file mode 100644 index 0000000..6723076 Binary files /dev/null and b/research/dump/title/weapon_00b.png differ diff --git a/research/dump/title/weapon_00c.png b/research/dump/title/weapon_00c.png new file mode 100644 index 0000000..c8adea5 Binary files /dev/null and b/research/dump/title/weapon_00c.png differ diff --git a/research/dump/title/weapon_01a.png b/research/dump/title/weapon_01a.png new file mode 100644 index 0000000..41861db Binary files /dev/null and b/research/dump/title/weapon_01a.png differ diff --git a/research/dump/title/weapon_01b.png b/research/dump/title/weapon_01b.png new file mode 100644 index 0000000..5f47f21 Binary files /dev/null and b/research/dump/title/weapon_01b.png differ diff --git a/research/dump/title/weapon_01c.png b/research/dump/title/weapon_01c.png new file mode 100644 index 0000000..9b6f611 Binary files /dev/null and b/research/dump/title/weapon_01c.png differ diff --git a/research/dumptk/loading/sig.png b/research/dumptk/loading/sig.png new file mode 100644 index 0000000..f9db85a Binary files /dev/null and b/research/dumptk/loading/sig.png differ diff --git a/research/dumptk/title/rank00.png b/research/dumptk/title/rank00.png new file mode 100644 index 0000000..01ff9f5 Binary files /dev/null and b/research/dumptk/title/rank00.png differ diff --git a/research/dumptk/title/result00.png b/research/dumptk/title/result00.png new file mode 100644 index 0000000..e399494 Binary files /dev/null and b/research/dumptk/title/result00.png differ diff --git a/research/dumptk/title/select00.png b/research/dumptk/title/select00.png new file mode 100644 index 0000000..6162a8b Binary files /dev/null and b/research/dumptk/title/select00.png differ diff --git a/research/dumptk/title/select00b.png b/research/dumptk/title/select00b.png new file mode 100644 index 0000000..1ad4875 Binary files /dev/null and b/research/dumptk/title/select00b.png differ diff --git a/research/dumptk/title/select01.png b/research/dumptk/title/select01.png new file mode 100644 index 0000000..ff25a8a Binary files /dev/null and b/research/dumptk/title/select01.png differ diff --git a/research/dumptk/title/sl_pl00.png b/research/dumptk/title/sl_pl00.png new file mode 100644 index 0000000..7ec6d21 Binary files /dev/null and b/research/dumptk/title/sl_pl00.png differ diff --git a/research/dumptk/title/sl_pl00b.png b/research/dumptk/title/sl_pl00b.png new file mode 100644 index 0000000..0298d19 Binary files /dev/null and b/research/dumptk/title/sl_pl00b.png differ diff --git a/research/dumptk/title/sl_pl01b.png b/research/dumptk/title/sl_pl01b.png new file mode 100644 index 0000000..45a0b79 Binary files /dev/null and b/research/dumptk/title/sl_pl01b.png differ diff --git a/research/dumptk/title/title00a.png b/research/dumptk/title/title00a.png new file mode 100644 index 0000000..8acd00f Binary files /dev/null and b/research/dumptk/title/title00a.png differ diff --git a/research/dumptk/title/title01.png b/research/dumptk/title/title01.png new file mode 100644 index 0000000..9efb496 Binary files /dev/null and b/research/dumptk/title/title01.png differ diff --git a/research/dumptk/title/title_logo.png b/research/dumptk/title/title_logo.png new file mode 100644 index 0000000..af9007d Binary files /dev/null and b/research/dumptk/title/title_logo.png differ diff --git a/research/dumptk/title/weapon.png b/research/dumptk/title/weapon.png new file mode 100644 index 0000000..88efdd8 Binary files /dev/null and b/research/dumptk/title/weapon.png differ diff --git a/research/dumptk/title/weapon_00a.png b/research/dumptk/title/weapon_00a.png new file mode 100644 index 0000000..6f7c8f6 Binary files /dev/null and b/research/dumptk/title/weapon_00a.png differ diff --git a/research/dumptk/title/weapon_00b.png b/research/dumptk/title/weapon_00b.png new file mode 100644 index 0000000..5447bb5 Binary files /dev/null and b/research/dumptk/title/weapon_00b.png differ diff --git a/research/dumptk/title/weapon_00c.png b/research/dumptk/title/weapon_00c.png new file mode 100644 index 0000000..d2cbba7 Binary files /dev/null and b/research/dumptk/title/weapon_00c.png differ diff --git a/research/dumptk/title/weapon_01a.png b/research/dumptk/title/weapon_01a.png new file mode 100644 index 0000000..f56f016 Binary files /dev/null and b/research/dumptk/title/weapon_01a.png differ diff --git a/research/dumptk/title/weapon_01b.png b/research/dumptk/title/weapon_01b.png new file mode 100644 index 0000000..1ce3d17 Binary files /dev/null and b/research/dumptk/title/weapon_01b.png differ diff --git a/research/dumptk/title/weapon_01c.png b/research/dumptk/title/weapon_01c.png new file mode 100644 index 0000000..6363ce3 Binary files /dev/null and b/research/dumptk/title/weapon_01c.png differ diff --git a/research/e00.tanm b/research/e00.tanm new file mode 100644 index 0000000..a3849fb --- /dev/null +++ b/research/e00.tanm @@ -0,0 +1,134 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/e00a.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -90 script0 { + scriptNew(script2); + scriptNew(script3); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -89 script1 { + scriptNew(script4); + scriptNew(script5); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -88 script2 { + sprite(sprite0); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e00a.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -87 script3 { + sprite(sprite1); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e00b.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -86 script4 { + sprite(sprite2); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e00b.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -85 script5 { + sprite(sprite3); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} diff --git a/research/e01.tanm b/research/e01.tanm new file mode 100644 index 0000000..0cb5865 --- /dev/null +++ b/research/e01.tanm @@ -0,0 +1,134 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/e00a.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -84 script0 { + scriptNew(script2); + scriptNew(script3); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -83 script1 { + scriptNew(script4); + scriptNew(script5); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -82 script2 { + sprite(sprite0); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e00a.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -81 script3 { + sprite(sprite1); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e01b.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -80 script4 { + sprite(sprite2); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e01b.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -79 script5 { + sprite(sprite3); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} diff --git a/research/e02.tanm b/research/e02.tanm new file mode 100644 index 0000000..9af63c8 --- /dev/null +++ b/research/e02.tanm @@ -0,0 +1,134 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/e00a.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -78 script0 { + scriptNew(script2); + scriptNew(script3); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -77 script1 { + scriptNew(script4); + scriptNew(script5); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -76 script2 { + sprite(sprite0); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e00a.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -75 script3 { + sprite(sprite1); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e02b.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -74 script4 { + sprite(sprite2); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e02b.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -73 script5 { + sprite(sprite3); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} diff --git a/research/e03.tanm b/research/e03.tanm new file mode 100644 index 0000000..f1504df --- /dev/null +++ b/research/e03.tanm @@ -0,0 +1,134 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/e03a.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -72 script0 { + scriptNew(script2); + scriptNew(script3); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -71 script1 { + scriptNew(script4); + scriptNew(script5); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -70 script2 { + sprite(sprite0); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e03a.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -69 script3 { + sprite(sprite1); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e03b.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -68 script4 { + sprite(sprite2); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e03b.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -67 script5 { + sprite(sprite3); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} diff --git a/research/e04.tanm b/research/e04.tanm new file mode 100644 index 0000000..82376af --- /dev/null +++ b/research/e04.tanm @@ -0,0 +1,134 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/e03a.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -66 script0 { + scriptNew(script2); + scriptNew(script3); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -65 script1 { + scriptNew(script4); + scriptNew(script5); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -64 script2 { + sprite(sprite0); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e03a.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -63 script3 { + sprite(sprite1); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e04b.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -62 script4 { + sprite(sprite2); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e04b.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -61 script5 { + sprite(sprite3); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} diff --git a/research/e05.tanm b/research/e05.tanm new file mode 100644 index 0000000..2825203 --- /dev/null +++ b/research/e05.tanm @@ -0,0 +1,134 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/e03a.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -60 script0 { + scriptNew(script2); + scriptNew(script3); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -59 script1 { + scriptNew(script4); + scriptNew(script5); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -58 script2 { + sprite(sprite0); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e03a.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -57 script3 { + sprite(sprite1); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e05b.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -56 script4 { + sprite(sprite2); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e05b.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -55 script5 { + sprite(sprite3); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} diff --git a/research/e06.tanm b/research/e06.tanm new file mode 100644 index 0000000..4668443 --- /dev/null +++ b/research/e06.tanm @@ -0,0 +1,201 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/e00a.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -54 script0 { + scriptNew(script3); + scriptNew(script4); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -53 script1 { + scriptNew(script5); + scriptNew(script6); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -52 script2 { + scriptNew(script7); + scriptNew(script8); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -51 script3 { + sprite(sprite0); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e00a.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -50 script4 { + sprite(sprite1); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e06b.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -49 script5 { + sprite(sprite2); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e06b.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -48 script6 { + sprite(sprite3); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e06c.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite4: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -47 script7 { + sprite(sprite4); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e06c.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite5: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -46 script8 { + sprite(sprite5); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} diff --git a/research/e07.tanm b/research/e07.tanm new file mode 100644 index 0000000..983a4ed --- /dev/null +++ b/research/e07.tanm @@ -0,0 +1,201 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/e00a.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -45 script0 { + scriptNew(script3); + scriptNew(script4); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -44 script1 { + scriptNew(script5); + scriptNew(script6); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -43 script2 { + scriptNew(script7); + scriptNew(script8); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -42 script3 { + sprite(sprite0); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e00a.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -41 script4 { + sprite(sprite1); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e07b.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -40 script5 { + sprite(sprite2); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e07b.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -39 script6 { + sprite(sprite3); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e07c.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite4: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -38 script7 { + sprite(sprite4); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e07c.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite5: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -37 script8 { + sprite(sprite5); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} diff --git a/research/e08.tanm b/research/e08.tanm new file mode 100644 index 0000000..4536dca --- /dev/null +++ b/research/e08.tanm @@ -0,0 +1,201 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/e00a.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -36 script0 { + scriptNew(script3); + scriptNew(script4); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -35 script1 { + scriptNew(script5); + scriptNew(script6); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -34 script2 { + scriptNew(script7); + scriptNew(script8); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -33 script3 { + sprite(sprite0); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e00a.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -32 script4 { + sprite(sprite1); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e08b.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -31 script5 { + sprite(sprite2); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e08b.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -30 script6 { + sprite(sprite3); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e08c.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite4: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -29 script7 { + sprite(sprite4); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e08c.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite5: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -28 script8 { + sprite(sprite5); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} diff --git a/research/e09.tanm b/research/e09.tanm new file mode 100644 index 0000000..834ad36 --- /dev/null +++ b/research/e09.tanm @@ -0,0 +1,201 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/e03a.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -27 script0 { + scriptNew(script3); + scriptNew(script4); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -26 script1 { + scriptNew(script5); + scriptNew(script6); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -25 script2 { + scriptNew(script7); + scriptNew(script8); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -24 script3 { + sprite(sprite0); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e03a.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -23 script4 { + sprite(sprite1); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e09b.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -22 script5 { + sprite(sprite2); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e09b.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -21 script6 { + sprite(sprite3); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e09c.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite4: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -20 script7 { + sprite(sprite4); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e09c.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite5: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -19 script8 { + sprite(sprite5); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} diff --git a/research/e10.tanm b/research/e10.tanm new file mode 100644 index 0000000..acab08f --- /dev/null +++ b/research/e10.tanm @@ -0,0 +1,201 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/e10a.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -18 script0 { + scriptNew(script3); + scriptNew(script4); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -17 script1 { + scriptNew(script5); + scriptNew(script6); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -16 script2 { + scriptNew(script7); + scriptNew(script8); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -15 script3 { + sprite(sprite0); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e10a.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -14 script4 { + sprite(sprite1); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e10b.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -13 script5 { + sprite(sprite2); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e10b.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -12 script6 { + sprite(sprite3); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e10c.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite4: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -11 script7 { + sprite(sprite4); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e10c.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite5: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -10 script8 { + sprite(sprite5); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} diff --git a/research/e11.tanm b/research/e11.tanm new file mode 100644 index 0000000..6767390 --- /dev/null +++ b/research/e11.tanm @@ -0,0 +1,201 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/e03a.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -9 script0 { + scriptNew(script3); + scriptNew(script4); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -8 script1 { + scriptNew(script5); + scriptNew(script6); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -7 script2 { + scriptNew(script7); + scriptNew(script8); ++60: // 60 + stop(); + +interrupt[1]: ++60: // 120 + delete(); +} + + +script -6 script3 { + sprite(sprite0); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e03a.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -5 script4 { + sprite(sprite1); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e11b.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -4 script5 { + sprite(sprite2); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e11b.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -3 script6 { + sprite(sprite3); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e11c.png", + img_width: 512, + img_height: 480, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite4: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script -2 script7 { + sprite(sprite4); + anchor(1, 1); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "ending/e11c.png", + img_width: 128, + img_height: 480, + img_format: FORMAT_RGB_565, + offset_x: 512, + memory_priority: 0, + sprites: {sprite5: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script -1 script8 { + sprite(sprite5); + anchor(1, 1); + layer(22); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} diff --git a/research/enemy.tanm b/research/enemy.tanm new file mode 100644 index 0000000..6435562 --- /dev/null +++ b/research/enemy.tanm @@ -0,0 +1,3157 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "enemy/enemy.png", + img_width: 512, + img_height: 512, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 256.0, w: 32.0, h: 32.0}, + sprite1: {x: 32.0, y: 256.0, w: 32.0, h: 32.0}, + sprite2: {x: 64.0, y: 256.0, w: 32.0, h: 32.0}, + sprite3: {x: 96.0, y: 256.0, w: 32.0, h: 32.0}, + sprite4: {x: 128.0, y: 256.0, w: 32.0, h: 32.0}, + sprite5: {x: 160.0, y: 256.0, w: 32.0, h: 32.0}, + sprite6: {x: 192.0, y: 256.0, w: 32.0, h: 32.0}, + sprite7: {x: 224.0, y: 256.0, w: 32.0, h: 32.0}, + sprite8: {x: 256.0, y: 256.0, w: 32.0, h: 32.0}, + sprite9: {x: 288.0, y: 256.0, w: 32.0, h: 32.0}, + sprite10: {x: 320.0, y: 256.0, w: 32.0, h: 32.0}, + sprite11: {x: 352.0, y: 256.0, w: 32.0, h: 32.0}, + sprite12: {x: 0.0, y: 288.0, w: 32.0, h: 32.0}, + sprite13: {x: 32.0, y: 288.0, w: 32.0, h: 32.0}, + sprite14: {x: 64.0, y: 288.0, w: 32.0, h: 32.0}, + sprite15: {x: 96.0, y: 288.0, w: 32.0, h: 32.0}, + sprite16: {x: 128.0, y: 288.0, w: 32.0, h: 32.0}, + sprite17: {x: 160.0, y: 288.0, w: 32.0, h: 32.0}, + sprite18: {x: 192.0, y: 288.0, w: 32.0, h: 32.0}, + sprite19: {x: 224.0, y: 288.0, w: 32.0, h: 32.0}, + sprite20: {x: 256.0, y: 288.0, w: 32.0, h: 32.0}, + sprite21: {x: 288.0, y: 288.0, w: 32.0, h: 32.0}, + sprite22: {x: 320.0, y: 288.0, w: 32.0, h: 32.0}, + sprite23: {x: 352.0, y: 288.0, w: 32.0, h: 32.0}, + sprite24: {x: 0.0, y: 320.0, w: 32.0, h: 32.0}, + sprite25: {x: 32.0, y: 320.0, w: 32.0, h: 32.0}, + sprite26: {x: 64.0, y: 320.0, w: 32.0, h: 32.0}, + sprite27: {x: 96.0, y: 320.0, w: 32.0, h: 32.0}, + sprite28: {x: 128.0, y: 320.0, w: 32.0, h: 32.0}, + sprite29: {x: 160.0, y: 320.0, w: 32.0, h: 32.0}, + sprite30: {x: 192.0, y: 320.0, w: 32.0, h: 32.0}, + sprite31: {x: 224.0, y: 320.0, w: 32.0, h: 32.0}, + sprite32: {x: 256.0, y: 320.0, w: 32.0, h: 32.0}, + sprite33: {x: 288.0, y: 320.0, w: 32.0, h: 32.0}, + sprite34: {x: 320.0, y: 320.0, w: 32.0, h: 32.0}, + sprite35: {x: 352.0, y: 320.0, w: 32.0, h: 32.0}, + sprite36: {x: 0.0, y: 352.0, w: 32.0, h: 32.0}, + sprite37: {x: 32.0, y: 352.0, w: 32.0, h: 32.0}, + sprite38: {x: 64.0, y: 352.0, w: 32.0, h: 32.0}, + sprite39: {x: 96.0, y: 352.0, w: 32.0, h: 32.0}, + sprite40: {x: 128.0, y: 352.0, w: 32.0, h: 32.0}, + sprite41: {x: 160.0, y: 352.0, w: 32.0, h: 32.0}, + sprite42: {x: 192.0, y: 352.0, w: 32.0, h: 32.0}, + sprite43: {x: 224.0, y: 352.0, w: 32.0, h: 32.0}, + sprite44: {x: 256.0, y: 352.0, w: 32.0, h: 32.0}, + sprite45: {x: 288.0, y: 352.0, w: 32.0, h: 32.0}, + sprite46: {x: 320.0, y: 352.0, w: 32.0, h: 32.0}, + sprite47: {x: 352.0, y: 352.0, w: 32.0, h: 32.0}, + sprite48: {x: 0.0, y: 0.0, w: 32.0, h: 32.0}, + sprite49: {x: 32.0, y: 0.0, w: 32.0, h: 32.0}, + sprite50: {x: 64.0, y: 0.0, w: 32.0, h: 32.0}, + sprite51: {x: 96.0, y: 0.0, w: 32.0, h: 32.0}, + sprite52: {x: 128.0, y: 0.0, w: 32.0, h: 32.0}, + sprite53: {x: 160.0, y: 0.0, w: 32.0, h: 32.0}, + sprite54: {x: 192.0, y: 0.0, w: 32.0, h: 32.0}, + sprite55: {x: 224.0, y: 0.0, w: 32.0, h: 32.0}, + sprite56: {x: 256.0, y: 0.0, w: 32.0, h: 32.0}, + sprite57: {x: 288.0, y: 0.0, w: 32.0, h: 32.0}, + sprite58: {x: 320.0, y: 0.0, w: 32.0, h: 32.0}, + sprite59: {x: 352.0, y: 0.0, w: 32.0, h: 32.0}, + sprite60: {x: 0.0, y: 32.0, w: 32.0, h: 32.0}, + sprite61: {x: 32.0, y: 32.0, w: 32.0, h: 32.0}, + sprite62: {x: 64.0, y: 32.0, w: 32.0, h: 32.0}, + sprite63: {x: 96.0, y: 32.0, w: 32.0, h: 32.0}, + sprite64: {x: 128.0, y: 32.0, w: 32.0, h: 32.0}, + sprite65: {x: 160.0, y: 32.0, w: 32.0, h: 32.0}, + sprite66: {x: 192.0, y: 32.0, w: 32.0, h: 32.0}, + sprite67: {x: 224.0, y: 32.0, w: 32.0, h: 32.0}, + sprite68: {x: 256.0, y: 32.0, w: 32.0, h: 32.0}, + sprite69: {x: 288.0, y: 32.0, w: 32.0, h: 32.0}, + sprite70: {x: 320.0, y: 32.0, w: 32.0, h: 32.0}, + sprite71: {x: 352.0, y: 32.0, w: 32.0, h: 32.0}, + sprite72: {x: 0.0, y: 64.0, w: 32.0, h: 32.0}, + sprite73: {x: 32.0, y: 64.0, w: 32.0, h: 32.0}, + sprite74: {x: 64.0, y: 64.0, w: 32.0, h: 32.0}, + sprite75: {x: 96.0, y: 64.0, w: 32.0, h: 32.0}, + sprite76: {x: 128.0, y: 64.0, w: 32.0, h: 32.0}, + sprite77: {x: 160.0, y: 64.0, w: 32.0, h: 32.0}, + sprite78: {x: 192.0, y: 64.0, w: 32.0, h: 32.0}, + sprite79: {x: 224.0, y: 64.0, w: 32.0, h: 32.0}, + sprite80: {x: 256.0, y: 64.0, w: 32.0, h: 32.0}, + sprite81: {x: 288.0, y: 64.0, w: 32.0, h: 32.0}, + sprite82: {x: 320.0, y: 64.0, w: 32.0, h: 32.0}, + sprite83: {x: 352.0, y: 64.0, w: 32.0, h: 32.0}, + sprite84: {x: 0.0, y: 96.0, w: 32.0, h: 32.0}, + sprite85: {x: 32.0, y: 96.0, w: 32.0, h: 32.0}, + sprite86: {x: 64.0, y: 96.0, w: 32.0, h: 32.0}, + sprite87: {x: 96.0, y: 96.0, w: 32.0, h: 32.0}, + sprite88: {x: 128.0, y: 96.0, w: 32.0, h: 32.0}, + sprite89: {x: 160.0, y: 96.0, w: 32.0, h: 32.0}, + sprite90: {x: 192.0, y: 96.0, w: 32.0, h: 32.0}, + sprite91: {x: 224.0, y: 96.0, w: 32.0, h: 32.0}, + sprite92: {x: 256.0, y: 96.0, w: 32.0, h: 32.0}, + sprite93: {x: 288.0, y: 96.0, w: 32.0, h: 32.0}, + sprite94: {x: 320.0, y: 96.0, w: 32.0, h: 32.0}, + sprite95: {x: 352.0, y: 96.0, w: 32.0, h: 32.0}, + sprite96: {x: 0.0, y: 0.0, w: 32.0, h: 32.0}, + sprite97: {x: 32.0, y: 0.0, w: 32.0, h: 32.0}, + sprite98: {x: 64.0, y: 0.0, w: 32.0, h: 32.0}, + sprite99: {x: 96.0, y: 0.0, w: 32.0, h: 32.0}, + sprite100: {x: 128.0, y: 0.0, w: 32.0, h: 32.0}, + sprite101: {x: 0.0, y: 32.0, w: 32.0, h: 32.0}, + sprite102: {x: 32.0, y: 32.0, w: 32.0, h: 32.0}, + sprite103: {x: 64.0, y: 32.0, w: 32.0, h: 32.0}, + sprite104: {x: 96.0, y: 32.0, w: 32.0, h: 32.0}, + sprite105: {x: 128.0, y: 32.0, w: 32.0, h: 32.0}, + sprite106: {x: 160.0, y: 32.0, w: 32.0, h: 32.0}, + sprite107: {x: 192.0, y: 32.0, w: 32.0, h: 32.0}, + sprite108: {x: 224.0, y: 32.0, w: 32.0, h: 32.0}, + sprite109: {x: 256.0, y: 32.0, w: 32.0, h: 32.0}, + sprite110: {x: 288.0, y: 32.0, w: 32.0, h: 32.0}, + sprite111: {x: 320.0, y: 32.0, w: 32.0, h: 32.0}, + sprite112: {x: 352.0, y: 32.0, w: 32.0, h: 32.0}, + sprite113: {x: 0.0, y: 384.0, w: 64.0, h: 64.0}, + sprite114: {x: 64.0, y: 384.0, w: 64.0, h: 64.0}, + sprite115: {x: 128.0, y: 384.0, w: 64.0, h: 64.0}, + sprite116: {x: 192.0, y: 384.0, w: 64.0, h: 64.0}, + sprite117: {x: 256.0, y: 384.0, w: 64.0, h: 64.0}, + sprite118: {x: 320.0, y: 384.0, w: 64.0, h: 64.0}, + sprite119: {x: 384.0, y: 384.0, w: 64.0, h: 64.0}, + sprite120: {x: 448.0, y: 384.0, w: 64.0, h: 64.0}, + sprite121: {x: 384.0, y: 256.0, w: 64.0, h: 64.0}, + sprite122: {x: 448.0, y: 256.0, w: 64.0, h: 64.0}, + sprite123: {x: 384.0, y: 320.0, w: 64.0, h: 64.0}, + sprite124: {x: 448.0, y: 320.0, w: 64.0, h: 64.0}, + sprite125: {x: 64.0, y: 128.0, w: 32.0, h: 32.0}, + sprite126: {x: 96.0, y: 128.0, w: 32.0, h: 32.0}, + sprite127: {x: 64.0, y: 160.0, w: 32.0, h: 32.0}, + sprite128: {x: 96.0, y: 160.0, w: 32.0, h: 32.0}, + sprite129: {x: 128.0, y: 192.0, w: 32.0, h: 32.0}, + sprite130: {x: 160.0, y: 192.0, w: 32.0, h: 32.0}, + sprite131: {x: 192.0, y: 192.0, w: 32.0, h: 32.0}, + sprite132: {x: 224.0, y: 192.0, w: 32.0, h: 32.0}, + sprite133: {x: 128.0, y: 224.0, w: 32.0, h: 32.0}, + sprite134: {x: 160.0, y: 224.0, w: 32.0, h: 32.0}, + sprite135: {x: 192.0, y: 224.0, w: 32.0, h: 32.0}, + sprite136: {x: 224.0, y: 224.0, w: 32.0, h: 32.0}, + sprite137: {x: 0.0, y: 224.0, w: 32.0, h: 32.0}, + sprite138: {x: 32.0, y: 224.0, w: 32.0, h: 32.0}, + sprite139: {x: 64.0, y: 224.0, w: 32.0, h: 32.0}, + sprite140: {x: 96.0, y: 224.0, w: 32.0, h: 32.0}, + sprite141: {x: 128.0, y: 128.0, w: 64.0, h: 64.0}, + sprite142: {x: 192.0, y: 128.0, w: 48.0, h: 48.0}, + sprite143: {x: 240.0, y: 128.0, w: 48.0, h: 48.0}, + sprite144: {x: 288.0, y: 128.0, w: 32.0, h: 32.0}, + sprite145: {x: 320.0, y: 128.0, w: 32.0, h: 32.0}, + sprite146: {x: 352.0, y: 128.0, w: 32.0, h: 32.0}, + sprite147: {x: 128.0, y: 128.0, w: 32.0, h: 32.0}, + sprite148: {x: 160.0, y: 128.0, w: 32.0, h: 32.0}, + sprite149: {x: 192.0, y: 128.0, w: 32.0, h: 32.0}, + sprite150: {x: 224.0, y: 128.0, w: 32.0, h: 32.0}, + sprite151: {x: 128.0, y: 160.0, w: 32.0, h: 32.0}, + sprite152: {x: 160.0, y: 160.0, w: 32.0, h: 32.0}, + sprite153: {x: 192.0, y: 160.0, w: 32.0, h: 32.0}, + sprite154: {x: 224.0, y: 160.0, w: 32.0, h: 32.0}, + }, +} + + +script 0 script0 { + layer(7); + loop { + sprite(sprite0); ++5: // 5 + sprite(sprite1); ++5: // 10 + sprite(sprite2); ++5: // 15 + sprite(sprite3); ++5: // 20 + } +} + + +script 1 script1 { + layer(7); + flipX(); + sprite(sprite4); ++4: // 4 + sprite(sprite5); ++4: // 8 + sprite(sprite6); ++4: // 12 + sprite(sprite7); + loop { ++5: // 17 + sprite(sprite8); ++5: // 22 + sprite(sprite9); ++5: // 27 + sprite(sprite10); ++5: // 32 + sprite(sprite11); + } +} + + +script 2 script2 { + layer(7); + sprite(sprite4); ++4: // 4 + sprite(sprite5); ++4: // 8 + sprite(sprite6); ++4: // 12 + sprite(sprite7); + loop { ++5: // 17 + sprite(sprite8); ++5: // 22 + sprite(sprite9); ++5: // 27 + sprite(sprite10); ++5: // 32 + sprite(sprite11); + } +} + + +script 3 script3 { + layer(7); + flipX(); + sprite(sprite7); ++4: // 4 + sprite(sprite6); ++4: // 8 + sprite(sprite5); ++4: // 12 + sprite(sprite4); + loop { ++5: // 17 + sprite(sprite0); ++5: // 22 + sprite(sprite1); ++5: // 27 + sprite(sprite2); ++5: // 32 + sprite(sprite3); + } +} + + +script 4 script4 { + layer(7); + sprite(sprite7); ++4: // 4 + sprite(sprite6); ++4: // 8 + sprite(sprite5); ++4: // 12 + sprite(sprite4); + loop { ++5: // 17 + sprite(sprite0); ++5: // 22 + sprite(sprite1); ++5: // 27 + sprite(sprite2); ++5: // 32 + sprite(sprite3); + } +} + + +script 5 script5 { + layer(7); + loop { + sprite(sprite12); ++5: // 5 + sprite(sprite13); ++5: // 10 + sprite(sprite14); ++5: // 15 + sprite(sprite15); ++5: // 20 + } +} + + +script 6 script6 { + layer(7); + flipX(); + sprite(sprite16); ++4: // 4 + sprite(sprite17); ++4: // 8 + sprite(sprite18); ++4: // 12 + sprite(sprite19); + loop { ++5: // 17 + sprite(sprite20); ++5: // 22 + sprite(sprite21); ++5: // 27 + sprite(sprite22); ++5: // 32 + sprite(sprite23); + } +} + + +script 7 script7 { + layer(7); + sprite(sprite16); ++4: // 4 + sprite(sprite17); ++4: // 8 + sprite(sprite18); ++4: // 12 + sprite(sprite19); + loop { ++5: // 17 + sprite(sprite20); ++5: // 22 + sprite(sprite21); ++5: // 27 + sprite(sprite22); ++5: // 32 + sprite(sprite23); + } +} + + +script 8 script8 { + layer(7); + flipX(); + sprite(sprite19); ++4: // 4 + sprite(sprite18); ++4: // 8 + sprite(sprite17); ++4: // 12 + sprite(sprite16); + loop { ++5: // 17 + sprite(sprite12); ++5: // 22 + sprite(sprite13); ++5: // 27 + sprite(sprite14); ++5: // 32 + sprite(sprite15); + } +} + + +script 9 script9 { + layer(7); + sprite(sprite19); ++4: // 4 + sprite(sprite18); ++4: // 8 + sprite(sprite17); ++4: // 12 + sprite(sprite16); + loop { ++5: // 17 + sprite(sprite12); ++5: // 22 + sprite(sprite13); ++5: // 27 + sprite(sprite14); ++5: // 32 + sprite(sprite15); + } +} + + +script 10 script10 { + layer(7); + loop { + sprite(sprite24); ++5: // 5 + sprite(sprite25); ++5: // 10 + sprite(sprite26); ++5: // 15 + sprite(sprite27); ++5: // 20 + } +} + + +script 11 script11 { + layer(7); + flipX(); + sprite(sprite28); ++4: // 4 + sprite(sprite29); ++4: // 8 + sprite(sprite30); ++4: // 12 + sprite(sprite31); + loop { ++5: // 17 + sprite(sprite32); ++5: // 22 + sprite(sprite33); ++5: // 27 + sprite(sprite34); ++5: // 32 + sprite(sprite35); + } +} + + +script 12 script12 { + layer(7); + sprite(sprite28); ++4: // 4 + sprite(sprite29); ++4: // 8 + sprite(sprite30); ++4: // 12 + sprite(sprite31); + loop { ++5: // 17 + sprite(sprite32); ++5: // 22 + sprite(sprite33); ++5: // 27 + sprite(sprite34); ++5: // 32 + sprite(sprite35); + } +} + + +script 13 script13 { + layer(7); + flipX(); + sprite(sprite31); ++4: // 4 + sprite(sprite30); ++4: // 8 + sprite(sprite29); ++4: // 12 + sprite(sprite28); + loop { ++5: // 17 + sprite(sprite24); ++5: // 22 + sprite(sprite25); ++5: // 27 + sprite(sprite26); ++5: // 32 + sprite(sprite27); + } +} + + +script 14 script14 { + layer(7); + sprite(sprite31); ++4: // 4 + sprite(sprite30); ++4: // 8 + sprite(sprite29); ++4: // 12 + sprite(sprite28); + loop { ++5: // 17 + sprite(sprite24); ++5: // 22 + sprite(sprite25); ++5: // 27 + sprite(sprite26); ++5: // 32 + sprite(sprite27); + } +} + + +script 15 script15 { + layer(7); + loop { + sprite(sprite36); ++5: // 5 + sprite(sprite37); ++5: // 10 + sprite(sprite38); ++5: // 15 + sprite(sprite39); ++5: // 20 + } +} + + +script 16 script16 { + layer(7); + flipX(); + sprite(sprite40); ++4: // 4 + sprite(sprite41); ++4: // 8 + sprite(sprite42); ++4: // 12 + sprite(sprite43); + loop { ++5: // 17 + sprite(sprite44); ++5: // 22 + sprite(sprite45); ++5: // 27 + sprite(sprite46); ++5: // 32 + sprite(sprite47); + } +} + + +script 17 script17 { + layer(7); + sprite(sprite40); ++4: // 4 + sprite(sprite41); ++4: // 8 + sprite(sprite42); ++4: // 12 + sprite(sprite43); + loop { ++5: // 17 + sprite(sprite44); ++5: // 22 + sprite(sprite45); ++5: // 27 + sprite(sprite46); ++5: // 32 + sprite(sprite47); + } +} + + +script 18 script18 { + layer(7); + flipX(); + sprite(sprite43); ++4: // 4 + sprite(sprite42); ++4: // 8 + sprite(sprite41); ++4: // 12 + sprite(sprite40); + loop { ++5: // 17 + sprite(sprite36); ++5: // 22 + sprite(sprite37); ++5: // 27 + sprite(sprite38); ++5: // 32 + sprite(sprite39); + } +} + + +script 19 script19 { + layer(7); + sprite(sprite43); ++4: // 4 + sprite(sprite42); ++4: // 8 + sprite(sprite41); ++4: // 12 + sprite(sprite40); + loop { ++5: // 17 + sprite(sprite36); ++5: // 22 + sprite(sprite37); ++5: // 27 + sprite(sprite38); ++5: // 32 + sprite(sprite39); + } +} + + +script 20 script20 { + layer(7); + loop { + sprite(sprite101); ++5: // 5 + sprite(sprite102); ++5: // 10 + sprite(sprite103); ++5: // 15 + sprite(sprite104); ++5: // 20 + } +} + + +script 21 script21 { + layer(7); + flipX(); + sprite(sprite105); ++4: // 4 + sprite(sprite106); ++4: // 8 + sprite(sprite107); ++4: // 12 + sprite(sprite108); + loop { ++5: // 17 + sprite(sprite109); ++5: // 22 + sprite(sprite110); ++5: // 27 + sprite(sprite111); ++5: // 32 + sprite(sprite112); + } +} + + +script 22 script22 { + layer(7); + sprite(sprite105); ++4: // 4 + sprite(sprite106); ++4: // 8 + sprite(sprite107); ++4: // 12 + sprite(sprite108); + loop { ++5: // 17 + sprite(sprite109); ++5: // 22 + sprite(sprite110); ++5: // 27 + sprite(sprite111); ++5: // 32 + sprite(sprite112); + } +} + + +script 23 script23 { + layer(7); + flipX(); + sprite(sprite108); ++4: // 4 + sprite(sprite107); ++4: // 8 + sprite(sprite106); ++4: // 12 + sprite(sprite105); + loop { ++5: // 17 + sprite(sprite101); ++5: // 22 + sprite(sprite102); ++5: // 27 + sprite(sprite103); ++5: // 32 + sprite(sprite104); + } +} + + +script 24 script24 { + layer(7); + sprite(sprite108); ++4: // 4 + sprite(sprite107); ++4: // 8 + sprite(sprite106); ++4: // 12 + sprite(sprite105); + loop { ++5: // 17 + sprite(sprite101); ++5: // 22 + sprite(sprite102); ++5: // 27 + sprite(sprite103); ++5: // 32 + sprite(sprite104); + } +} + + +script 25 script25 { + layer(7); + loop { + sprite(sprite60); ++5: // 5 + sprite(sprite61); ++5: // 10 + sprite(sprite62); ++5: // 15 + sprite(sprite63); ++5: // 20 + } +} + + +script 26 script26 { + layer(7); + flipX(); + sprite(sprite64); ++4: // 4 + sprite(sprite65); ++4: // 8 + sprite(sprite66); ++4: // 12 + sprite(sprite67); + loop { ++5: // 17 + sprite(sprite68); ++5: // 22 + sprite(sprite69); ++5: // 27 + sprite(sprite70); ++5: // 32 + sprite(sprite71); + } +} + + +script 27 script27 { + layer(7); + sprite(sprite64); ++4: // 4 + sprite(sprite65); ++4: // 8 + sprite(sprite66); ++4: // 12 + sprite(sprite67); + loop { ++5: // 17 + sprite(sprite68); ++5: // 22 + sprite(sprite69); ++5: // 27 + sprite(sprite70); ++5: // 32 + sprite(sprite71); + } +} + + +script 28 script28 { + layer(7); + flipX(); + sprite(sprite67); ++4: // 4 + sprite(sprite66); ++4: // 8 + sprite(sprite65); ++4: // 12 + sprite(sprite64); + loop { ++5: // 17 + sprite(sprite60); ++5: // 22 + sprite(sprite61); ++5: // 27 + sprite(sprite62); ++5: // 32 + sprite(sprite63); + } +} + + +script 29 script29 { + layer(7); + sprite(sprite67); ++4: // 4 + sprite(sprite66); ++4: // 8 + sprite(sprite65); ++4: // 12 + sprite(sprite64); + loop { ++5: // 17 + sprite(sprite60); ++5: // 22 + sprite(sprite61); ++5: // 27 + sprite(sprite62); ++5: // 32 + sprite(sprite63); + } +} + + +script 30 script30 { + layer(7); + loop { + sprite(sprite72); ++5: // 5 + sprite(sprite73); ++5: // 10 + sprite(sprite74); ++5: // 15 + sprite(sprite75); ++5: // 20 + } +} + + +script 31 script31 { + layer(7); + flipX(); + sprite(sprite76); ++4: // 4 + sprite(sprite77); ++4: // 8 + sprite(sprite78); ++4: // 12 + sprite(sprite79); + loop { ++5: // 17 + sprite(sprite80); ++5: // 22 + sprite(sprite81); ++5: // 27 + sprite(sprite82); ++5: // 32 + sprite(sprite83); + } +} + + +script 32 script32 { + layer(7); + sprite(sprite76); ++4: // 4 + sprite(sprite77); ++4: // 8 + sprite(sprite78); ++4: // 12 + sprite(sprite79); + loop { ++5: // 17 + sprite(sprite80); ++5: // 22 + sprite(sprite81); ++5: // 27 + sprite(sprite82); ++5: // 32 + sprite(sprite83); + } +} + + +script 33 script33 { + layer(7); + flipX(); + sprite(sprite79); ++4: // 4 + sprite(sprite78); ++4: // 8 + sprite(sprite77); ++4: // 12 + sprite(sprite76); + loop { ++5: // 17 + sprite(sprite72); ++5: // 22 + sprite(sprite73); ++5: // 27 + sprite(sprite74); ++5: // 32 + sprite(sprite75); + } +} + + +script 34 script34 { + layer(7); + sprite(sprite79); ++4: // 4 + sprite(sprite78); ++4: // 8 + sprite(sprite77); ++4: // 12 + sprite(sprite76); + loop { ++5: // 17 + sprite(sprite72); ++5: // 22 + sprite(sprite73); ++5: // 27 + sprite(sprite74); ++5: // 32 + sprite(sprite75); + } +} + + +script 35 script35 { + layer(7); + loop { + sprite(sprite84); ++5: // 5 + sprite(sprite85); ++5: // 10 + sprite(sprite86); ++5: // 15 + sprite(sprite87); ++5: // 20 + } +} + + +script 36 script36 { + layer(7); + flipX(); + sprite(sprite88); ++4: // 4 + sprite(sprite89); ++4: // 8 + sprite(sprite90); ++4: // 12 + sprite(sprite91); + loop { ++5: // 17 + sprite(sprite92); ++5: // 22 + sprite(sprite93); ++5: // 27 + sprite(sprite94); ++5: // 32 + sprite(sprite95); + } +} + + +script 37 script37 { + layer(7); + sprite(sprite88); ++4: // 4 + sprite(sprite89); ++4: // 8 + sprite(sprite90); ++4: // 12 + sprite(sprite91); + loop { ++5: // 17 + sprite(sprite92); ++5: // 22 + sprite(sprite93); ++5: // 27 + sprite(sprite94); ++5: // 32 + sprite(sprite95); + } +} + + +script 38 script38 { + layer(7); + flipX(); + sprite(sprite91); ++4: // 4 + sprite(sprite90); ++4: // 8 + sprite(sprite89); ++4: // 12 + sprite(sprite88); + loop { ++5: // 17 + sprite(sprite84); ++5: // 22 + sprite(sprite85); ++5: // 27 + sprite(sprite86); ++5: // 32 + sprite(sprite87); + } +} + + +script 39 script39 { + layer(7); + sprite(sprite91); ++4: // 4 + sprite(sprite90); ++4: // 8 + sprite(sprite89); ++4: // 12 + sprite(sprite88); + loop { ++5: // 17 + sprite(sprite84); ++5: // 22 + sprite(sprite85); ++5: // 27 + sprite(sprite86); ++5: // 32 + sprite(sprite87); + } +} + + +script 40 script40 { + layer(7); + loop { + sprite(sprite113); ++5: // 5 + sprite(sprite114); ++5: // 10 + sprite(sprite115); ++5: // 15 + sprite(sprite116); ++5: // 20 + } +} + + +script 41 script41 { + layer(7); + flipX(); + sprite(sprite117); ++4: // 4 + sprite(sprite118); ++4: // 8 + sprite(sprite119); ++4: // 12 + sprite(sprite120); + loop { ++5: // 17 + sprite(sprite121); ++5: // 22 + sprite(sprite122); ++5: // 27 + sprite(sprite123); ++5: // 32 + sprite(sprite124); + } +} + + +script 42 script42 { + layer(7); + sprite(sprite117); ++4: // 4 + sprite(sprite118); ++4: // 8 + sprite(sprite119); ++4: // 12 + sprite(sprite120); + loop { ++5: // 17 + sprite(sprite121); ++5: // 22 + sprite(sprite122); ++5: // 27 + sprite(sprite123); ++5: // 32 + sprite(sprite124); + } +} + + +script 43 script43 { + layer(7); + flipX(); + sprite(sprite120); ++4: // 4 + sprite(sprite119); ++4: // 8 + sprite(sprite118); ++4: // 12 + sprite(sprite117); + loop { ++5: // 17 + sprite(sprite113); ++5: // 22 + sprite(sprite114); ++5: // 27 + sprite(sprite115); ++5: // 32 + sprite(sprite116); + } +} + + +script 44 script44 { + layer(7); + sprite(sprite120); ++4: // 4 + sprite(sprite119); ++4: // 8 + sprite(sprite118); ++4: // 12 + sprite(sprite117); + loop { ++5: // 17 + sprite(sprite113); ++5: // 22 + sprite(sprite114); ++5: // 27 + sprite(sprite115); ++5: // 32 + sprite(sprite116); + } +} + + +script 45 script45 { + blendMode(1); + layer(6); + sprite(sprite139); + alpha(128); + type(1); + angleVel(0.0, 0.0, 0.31415927); + scale(0.0, 0.0); + loop { + scaleTime(20, 9, 1.4, 1.4); ++20: // 20 + scaleTime(20, 9, 1.0, 1.0); ++20: // 40 + } +} + + +script 46 script46 { + blendMode(1); + layer(6); + sprite(sprite137); + alpha(128); + type(1); + angleVel(0.0, 0.0, 0.31415927); + scale(0.0, 0.0); + loop { + scaleTime(20, 9, 1.4, 1.4); ++20: // 20 + scaleTime(20, 9, 1.0, 1.0); ++20: // 40 + } +} + + +script 47 script47 { + blendMode(1); + layer(6); + sprite(sprite138); + alpha(128); + type(1); + angleVel(0.0, 0.0, 0.31415927); + scale(0.0, 0.0); + loop { + scaleTime(20, 9, 1.4, 1.4); ++20: // 20 + scaleTime(20, 9, 1.0, 1.0); ++20: // 40 + } +} + + +script 48 script48 { + blendMode(1); + layer(6); + sprite(sprite140); + alpha(128); + type(1); + angleVel(0.0, 0.0, 0.31415927); + scale(0.0, 0.0); + loop { + scaleTime(20, 9, 1.4, 1.4); ++20: // 20 + scaleTime(20, 9, 1.0, 1.0); ++20: // 40 + } +} + + +script 49 script49 { + layer(6); + sprite(sprite125); + type(1); + angleVel(0.0, 0.0, -0.31415927); + stop(); +} + + +script 50 script50 { + layer(6); + sprite(sprite126); + type(1); + angleVel(0.0, 0.0, -0.31415927); + stop(); +} + + +script 51 script51 { + layer(6); + sprite(sprite127); + type(1); + angleVel(0.0, 0.0, -0.31415927); + stop(); +} + + +script 52 script52 { + layer(6); + sprite(sprite128); + type(1); + angleVel(0.0, 0.0, -0.31415927); + stop(); +} + + +script 53 script53 { + type(1); + angleVel(0.0, 0.0, 0.31415927); + blendMode(1); + layer(6); + sprite(sprite139); + alpha(0); + alphaTime(76, 0, 192); + scale(4.0, 4.0); + scaleTime(76, 0, 1.0, 1.0); ++76: // 76 + nop(); + loop { + scaleTime(20, 9, 1.4, 1.4); ++20: // 96 + scaleTime(20, 9, 1.0, 1.0); ++20: // 116 + } +} + + +script 54 script54 { + type(1); + angleVel(0.0, 0.0, 0.31415927); + blendMode(1); + layer(6); + sprite(sprite137); + alpha(0); + alphaTime(76, 0, 192); + scale(4.0, 4.0); + scaleTime(76, 0, 1.0, 1.0); ++76: // 76 + nop(); + loop { + scaleTime(20, 9, 1.4, 1.4); ++20: // 96 + scaleTime(20, 9, 1.0, 1.0); ++20: // 116 + } +} + + +script 55 script55 { + type(1); + angleVel(0.0, 0.0, 0.31415927); + blendMode(1); + layer(6); + sprite(sprite138); + alpha(0); + alphaTime(76, 0, 192); + scale(4.0, 4.0); + scaleTime(76, 0, 1.0, 1.0); ++76: // 76 + nop(); + loop { + scaleTime(20, 9, 1.4, 1.4); ++20: // 96 + scaleTime(20, 9, 1.0, 1.0); ++20: // 116 + } +} + + +script 56 script56 { + type(1); + angleVel(0.0, 0.0, 0.31415927); + blendMode(1); + layer(6); + sprite(sprite140); + alpha(0); + alphaTime(76, 0, 192); + scale(4.0, 4.0); + scaleTime(76, 0, 1.0, 1.0); ++76: // 76 + nop(); + loop { + scaleTime(20, 9, 1.4, 1.4); ++20: // 96 + scaleTime(20, 9, 1.0, 1.0); ++20: // 116 + } +} + + +script 57 script57 { + type(1); + angleVel(0.0, 0.0, -0.31415927); + layer(6); + sprite(sprite125); + alpha(0); + scale(0.0, 0.0); ++46: // 46 + alphaTime(30, 0, 255); + scaleTime(30, 0, 1.0, 1.0); + stop(); +} + + +script 58 script58 { + type(1); + angleVel(0.0, 0.0, -0.31415927); + layer(6); + sprite(sprite126); + alpha(0); + scale(0.0, 0.0); ++46: // 46 + alphaTime(30, 0, 255); + scaleTime(30, 0, 1.0, 1.0); + stop(); +} + + +script 59 script59 { + type(1); + angleVel(0.0, 0.0, -0.31415927); + layer(6); + sprite(sprite127); + alpha(0); + scale(0.0, 0.0); ++46: // 46 + alphaTime(30, 0, 255); + scaleTime(30, 0, 1.0, 1.0); + stop(); +} + + +script 60 script60 { + type(1); + angleVel(0.0, 0.0, -0.31415927); + layer(6); + sprite(sprite128); + alpha(0); + scale(0.0, 0.0); ++46: // 46 + alphaTime(30, 0, 255); + scaleTime(30, 0, 1.0, 1.0); + stop(); +} + + +script 61 script61 { + layer(7); + type(1); + color(255, 16, 16); + blendMode(1); + alphaTime(30, 0, 0); + sprite(sprite147); ++3: // 3 + sprite(sprite148); ++3: // 6 + sprite(sprite149); ++3: // 9 + sprite(sprite150); ++3: // 12 + sprite(sprite147); ++3: // 15 + sprite(sprite148); ++3: // 18 + sprite(sprite149); ++3: // 21 + sprite(sprite150); ++3: // 24 + sprite(sprite147); ++3: // 27 + sprite(sprite148); ++3: // 30 + sprite(sprite149); ++3: // 33 + sprite(sprite150); + delete(); +} + + +script 62 script62 { + layer(7); + type(1); + color(16, 16, 255); + blendMode(1); + alphaTime(30, 0, 0); + sprite(sprite147); ++3: // 3 + sprite(sprite148); ++3: // 6 + sprite(sprite149); ++3: // 9 + sprite(sprite150); ++3: // 12 + sprite(sprite147); ++3: // 15 + sprite(sprite148); ++3: // 18 + sprite(sprite149); ++3: // 21 + sprite(sprite150); ++3: // 24 + sprite(sprite147); ++3: // 27 + sprite(sprite148); ++3: // 30 + sprite(sprite149); ++3: // 33 + sprite(sprite150); + delete(); +} + + +script 63 script63 { + layer(7); + type(1); + sprite(sprite141); + loop { + F0 = RANDRAD / 64.0; + rotateTime(2, 0, 0.0, 0.0, F0); + F0 = RANDRAD / 64.0; ++2: // 2 + rotateTime(2, 0, 0.0, 0.0, F0); ++2: // 4 + } + delete(); +} + + +script 64 script64 { + layer(7); + type(1); + sprite(sprite142); + loop { + F0 = RANDRAD / 64.0; + rotateTime(2, 0, 0.0, 0.0, F0); + F0 = RANDRAD / 64.0; ++2: // 2 + rotateTime(2, 0, 0.0, 0.0, F0); ++2: // 4 + } + delete(); +} + + +script 65 script65 { + layer(7); + type(1); + sprite(sprite143); + loop { + F0 = RANDRAD / 64.0; + rotateTime(2, 0, 0.0, 0.0, F0); + F0 = RANDRAD / 64.0; ++2: // 2 + rotateTime(2, 0, 0.0, 0.0, F0); ++2: // 4 + } + delete(); +} + + +script 66 script66 { + layer(7); + type(1); + sprite(sprite144); + loop { + F0 = RANDRAD / 64.0; + rotateTime(2, 0, 0.0, 0.0, F0); + F0 = RANDRAD / 64.0; ++2: // 2 + rotateTime(2, 0, 0.0, 0.0, F0); ++2: // 4 + } + delete(); +} + + +script 67 script67 { + layer(7); + type(1); + sprite(sprite145); + loop { + F0 = RANDRAD / 64.0; + rotateTime(2, 0, 0.0, 0.0, F0); + F0 = RANDRAD / 64.0; ++2: // 2 + rotateTime(2, 0, 0.0, 0.0, F0); ++2: // 4 + } + delete(); +} + + +script 68 script68 { + layer(7); + type(1); + sprite(sprite146); + loop { + F0 = RANDRAD / 64.0; + rotateTime(2, 0, 0.0, 0.0, F0); + F0 = RANDRAD / 64.0; ++2: // 2 + rotateTime(2, 0, 0.0, 0.0, F0); ++2: // 4 + } + delete(); +} + + +script 69 script69 { + layer(7); + type(1); + sprite(sprite129); + scriptNew(script70); + scriptNew(script71); + stop(); +} + + +script 70 script70 { + layer(8); + type(1); + sprite(sprite133); + rotateTime(-1, 7, 0.0, 0.0, 0.19634955); + stop(); +} + + +script 71 script71 { + layer(8); + type(1); + sprite(sprite133); + rotateTime(-1, 7, 0.0, 0.0, -0.09817477); + blendMode(1); + scale(1.5, 1.5); + stop(); +} + + +script 72 script72 { + layer(7); + type(1); + sprite(sprite130); + scriptNew(script73); + scriptNew(script74); + stop(); +} + + +script 73 script73 { + layer(8); + type(1); + sprite(sprite134); + rotateTime(-1, 7, 0.0, 0.0, 0.19634955); + stop(); +} + + +script 74 script74 { + layer(8); + type(1); + sprite(sprite134); + rotateTime(-1, 7, 0.0, 0.0, -0.09817477); + blendMode(1); + scale(1.5, 1.5); + stop(); +} + + +script 75 script75 { + layer(7); + type(1); + sprite(sprite131); + scriptNew(script76); + scriptNew(script77); + stop(); +} + + +script 76 script76 { + layer(8); + type(1); + sprite(sprite135); + rotateTime(-1, 7, 0.0, 0.0, 0.19634955); + stop(); +} + + +script 77 script77 { + layer(8); + type(1); + sprite(sprite135); + rotateTime(-1, 7, 0.0, 0.0, -0.09817477); + blendMode(1); + scale(1.5, 1.5); + stop(); +} + + +script 78 script78 { + layer(7); + type(1); + sprite(sprite132); + scriptNew(script79); + scriptNew(script80); + stop(); +} + + +script 79 script79 { + layer(8); + type(1); + sprite(sprite136); + rotateTime(-1, 7, 0.0, 0.0, 0.19634955); + stop(); +} + + +script 80 script80 { + layer(8); + type(1); + sprite(sprite136); + rotateTime(-1, 7, 0.0, 0.0, -0.09817477); + blendMode(1); + scale(1.5, 1.5); + stop(); +} + + +script 81 script81 { + layer(7); + type(1); + sprite(sprite129); + color(0, 0, 32); + colorTime(60, 0, 192, 192, 255); + scale(0.2, 0.2); + scaleTime(60, 0, 1.0, 1.0); + rotate(0.0, 0.0, 0.01); + scriptNew(script82); + scriptNew(script83); ++60: // 60 + +interrupt[2]: + rotate(0.0, 0.0, 0.0); + color(255, 255, 255); + scale(1.0, 1.0); + rotateTime(0, 0, 0.0, 0.0, 0.0); + colorTime(0, 0, 255, 255, 255); + scaleTime(0, 0, 1.0, 1.0); + stop(); + +interrupt[3]: + rotate(0.0, 0.0, 0.01); + scaleTime(60, 0, 0.2, 0.2); + color(192, 192, 255); + colorTime(60, 0, 0, 0, 32); + stop(); +} + + +script 82 script82 { + layer(8); + type(1); + sprite(sprite133); + rotateTime(-1, 7, 0.0, 0.0, 0.19634955); + color(0, 0, 32); + colorTime(60, 0, 192, 192, 255); + scale(0.2, 0.2); + scaleTime(60, 0, 1.0, 1.0); ++60: // 60 + +interrupt[2]: + color(255, 255, 255); + scale(1.0, 1.0); + colorTime(0, 0, 255, 255, 255); + scaleTime(0, 0, 1.0, 1.0); + stop(); + +interrupt[3]: + scaleTime(60, 0, 0.2, 0.2); + color(192, 192, 255); + colorTime(60, 0, 0, 0, 32); + stop(); +} + + +script 83 script83 { + layer(8); + type(1); + sprite(sprite133); + rotateTime(-1, 7, 0.0, 0.0, -0.09817477); + blendMode(1); + color(0, 0, 32); + colorTime(60, 0, 192, 192, 255); + scale(0.3, 0.3); + scaleTime(60, 0, 1.5, 1.5); ++60: // 60 + +interrupt[2]: + color(255, 255, 255); + scale(1.5, 1.5); + stop(); + +interrupt[3]: + scaleTime(60, 0, 0.2, 0.2); + color(192, 192, 255); + colorTime(60, 0, 0, 0, 32); + stop(); +} + + +script 84 script84 { + layer(7); + type(1); + sprite(sprite130); + color(0, 0, 32); + colorTime(60, 0, 192, 192, 255); + scale(0.2, 0.2); + scaleTime(60, 0, 1.0, 1.0); + rotate(0.0, 0.0, 0.01); + scriptNew(script85); + scriptNew(script86); ++60: // 60 + +interrupt[2]: + rotate(0.0, 0.0, 0.0); + color(255, 255, 255); + scale(1.0, 1.0); + rotateTime(0, 0, 0.0, 0.0, 0.0); + colorTime(0, 0, 255, 255, 255); + scaleTime(0, 0, 1.0, 1.0); + stop(); + +interrupt[3]: + rotate(0.0, 0.0, 0.01); + scaleTime(60, 0, 0.2, 0.2); + color(192, 192, 255); + colorTime(60, 0, 0, 0, 32); + stop(); +} + + +script 85 script85 { + layer(8); + type(1); + sprite(sprite134); + rotateTime(-1, 7, 0.0, 0.0, 0.19634955); + color(0, 0, 32); + colorTime(60, 0, 192, 192, 255); + scale(0.2, 0.2); + scaleTime(60, 0, 1.0, 1.0); ++60: // 60 + +interrupt[2]: + color(255, 255, 255); + scale(1.0, 1.0); + colorTime(0, 0, 255, 255, 255); + scaleTime(0, 0, 1.0, 1.0); + stop(); + +interrupt[3]: + scaleTime(60, 0, 0.2, 0.2); + color(192, 192, 255); + colorTime(60, 0, 0, 0, 32); + stop(); +} + + +script 86 script86 { + layer(8); + type(1); + sprite(sprite134); + rotateTime(-1, 7, 0.0, 0.0, -0.09817477); + blendMode(1); + color(0, 0, 32); + colorTime(60, 0, 192, 192, 255); + scale(0.3, 0.3); + scaleTime(60, 0, 1.5, 1.5); ++60: // 60 + +interrupt[2]: + color(255, 255, 255); + scale(1.5, 1.5); + stop(); + +interrupt[3]: + scaleTime(60, 0, 0.2, 0.2); + color(192, 192, 255); + colorTime(60, 0, 0, 0, 32); + stop(); +} + + +script 87 script87 { + layer(7); + type(1); + sprite(sprite131); + color(0, 0, 32); + colorTime(60, 0, 192, 192, 255); + scale(0.2, 0.2); + scaleTime(60, 0, 1.0, 1.0); + rotate(0.0, 0.0, 0.01); + scriptNew(script88); + scriptNew(script89); ++60: // 60 + +interrupt[2]: + rotate(0.0, 0.0, 0.0); + color(255, 255, 255); + scale(1.0, 1.0); + rotateTime(0, 0, 0.0, 0.0, 0.0); + colorTime(0, 0, 255, 255, 255); + scaleTime(0, 0, 1.0, 1.0); + stop(); + +interrupt[3]: + rotate(0.0, 0.0, 0.01); + scaleTime(60, 0, 0.2, 0.2); + color(192, 192, 255); + colorTime(60, 0, 0, 0, 32); + stop(); +} + + +script 88 script88 { + layer(8); + type(1); + sprite(sprite135); + rotateTime(-1, 7, 0.0, 0.0, 0.19634955); + color(0, 0, 32); + colorTime(60, 0, 192, 192, 255); + scale(0.2, 0.2); + scaleTime(60, 0, 1.0, 1.0); ++60: // 60 + +interrupt[2]: + color(255, 255, 255); + scale(1.0, 1.0); + colorTime(0, 0, 255, 255, 255); + scaleTime(0, 0, 1.0, 1.0); + stop(); + +interrupt[3]: + scaleTime(60, 0, 0.2, 0.2); + color(192, 192, 255); + colorTime(60, 0, 0, 0, 32); + stop(); +} + + +script 89 script89 { + layer(8); + type(1); + sprite(sprite135); + rotateTime(-1, 7, 0.0, 0.0, -0.09817477); + blendMode(1); + color(0, 0, 32); + colorTime(60, 0, 192, 192, 255); + scale(0.3, 0.3); + scaleTime(60, 0, 1.5, 1.5); ++60: // 60 + +interrupt[2]: + color(255, 255, 255); + scale(1.5, 1.5); + stop(); + +interrupt[3]: + scaleTime(60, 0, 0.2, 0.2); + color(192, 192, 255); + colorTime(60, 0, 0, 0, 32); + stop(); +} + + +script 90 script90 { + layer(7); + type(1); + sprite(sprite132); + color(0, 0, 32); + colorTime(60, 0, 192, 192, 255); + scale(0.2, 0.2); + scaleTime(60, 0, 1.0, 1.0); + rotate(0.0, 0.0, 0.01); + scriptNew(script91); + scriptNew(script92); ++60: // 60 + +interrupt[2]: + rotate(0.0, 0.0, 0.0); + color(255, 255, 255); + scale(1.0, 1.0); + rotateTime(0, 0, 0.0, 0.0, 0.0); + colorTime(0, 0, 255, 255, 255); + scaleTime(0, 0, 1.0, 1.0); + stop(); + +interrupt[3]: + rotate(0.0, 0.0, 0.01); + scaleTime(60, 0, 0.2, 0.2); + color(192, 192, 255); + colorTime(60, 0, 0, 0, 32); + stop(); +} + + +script 91 script91 { + layer(8); + type(1); + sprite(sprite136); + rotateTime(-1, 7, 0.0, 0.0, 0.19634955); + color(0, 0, 32); + colorTime(60, 0, 192, 192, 255); + scale(0.2, 0.2); + scaleTime(60, 0, 1.0, 1.0); ++60: // 60 + +interrupt[2]: + color(255, 255, 255); + scale(1.0, 1.0); + colorTime(0, 0, 255, 255, 255); + scaleTime(0, 0, 1.0, 1.0); + stop(); + +interrupt[3]: + scaleTime(60, 0, 0.2, 0.2); + color(192, 192, 255); + colorTime(60, 0, 0, 0, 32); + stop(); +} + + +script 92 script92 { + layer(8); + type(1); + sprite(sprite136); + rotateTime(-1, 7, 0.0, 0.0, -0.09817477); + blendMode(1); + color(0, 0, 32); + colorTime(60, 0, 192, 192, 255); + scale(0.3, 0.3); + scaleTime(60, 0, 1.5, 1.5); ++60: // 60 + +interrupt[2]: + color(255, 255, 255); + scale(1.5, 1.5); + stop(); + +interrupt[3]: + scaleTime(60, 0, 0.2, 0.2); + color(192, 192, 255); + colorTime(60, 0, 0, 0, 32); + stop(); +} + + +entry { + path: "enemy/enemy2.png", + img_width: 256, + img_height: 128, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: { + sprite155: {x: 0.0, y: 0.0, w: 32.0, h: 32.0}, + sprite156: {x: 32.0, y: 0.0, w: 32.0, h: 32.0}, + sprite157: {x: 64.0, y: 0.0, w: 32.0, h: 32.0}, + sprite158: {x: 96.0, y: 0.0, w: 32.0, h: 32.0}, + sprite159: {x: 128.0, y: 0.0, w: 32.0, h: 32.0}, + sprite160: {x: 160.0, y: 0.0, w: 32.0, h: 32.0}, + sprite161: {x: 192.0, y: 0.0, w: 32.0, h: 32.0}, + sprite162: {x: 224.0, y: 0.0, w: 32.0, h: 32.0}, + sprite163: {x: 0.0, y: 32.0, w: 32.0, h: 32.0}, + sprite164: {x: 32.0, y: 32.0, w: 32.0, h: 32.0}, + sprite165: {x: 64.0, y: 32.0, w: 32.0, h: 32.0}, + sprite166: {x: 96.0, y: 32.0, w: 32.0, h: 32.0}, + sprite167: {x: 128.0, y: 32.0, w: 32.0, h: 32.0}, + sprite168: {x: 160.0, y: 32.0, w: 32.0, h: 32.0}, + sprite169: {x: 192.0, y: 32.0, w: 32.0, h: 32.0}, + sprite170: {x: 224.0, y: 32.0, w: 32.0, h: 32.0}, + sprite171: {x: 0.0, y: 64.0, w: 32.0, h: 32.0}, + sprite172: {x: 32.0, y: 64.0, w: 32.0, h: 32.0}, + sprite173: {x: 64.0, y: 64.0, w: 32.0, h: 32.0}, + sprite174: {x: 96.0, y: 64.0, w: 32.0, h: 32.0}, + sprite175: {x: 128.0, y: 64.0, w: 32.0, h: 32.0}, + sprite176: {x: 160.0, y: 64.0, w: 32.0, h: 32.0}, + sprite177: {x: 192.0, y: 64.0, w: 32.0, h: 32.0}, + sprite178: {x: 224.0, y: 64.0, w: 32.0, h: 32.0}, + sprite179: {x: 0.0, y: 96.0, w: 32.0, h: 32.0}, + sprite180: {x: 32.0, y: 96.0, w: 32.0, h: 32.0}, + sprite181: {x: 64.0, y: 96.0, w: 32.0, h: 32.0}, + sprite182: {x: 96.0, y: 96.0, w: 32.0, h: 32.0}, + sprite183: {x: 128.0, y: 96.0, w: 32.0, h: 32.0}, + sprite184: {x: 160.0, y: 96.0, w: 32.0, h: 32.0}, + sprite185: {x: 192.0, y: 96.0, w: 32.0, h: 32.0}, + sprite186: {x: 224.0, y: 96.0, w: 32.0, h: 32.0}, + }, +} + + +script 93 script93 { + layer(8); + type(0); + blendMode(1); + spriteRand(sprite155, 8); + F0 = RANDF2 * 8.0; + F1 = RANDF * 8.0; + F1 -= 4.0; + pos(F0, F1, 0.0); + F0 = RANDF2 * 8.0; + F1 = RANDF * -16.0; + F1 -= 16.0; + posTime(10, 0, F0, F1, 0.0); + scale(0.5, 0.5); + scaleTime(10, 1, 0.0, 0.0); ++10: // 10 + delete(); +} + + +script 94 script94 { + layer(8); + type(0); + scale(0.0, 0.0); + scaleTime(6, 4, 2.0, 2.0); + sprite(sprite155); ++3: // 3 + sprite(sprite156); ++3: // 6 + sprite(sprite157); + scaleTime(6, 1, 1.0, 1.0); ++3: // 9 + sprite(sprite158); ++3: // 12 + sprite(sprite159); + loop { + sprite(sprite155); + scriptNewRoot(script93); ++1: // 13 + scriptNewRoot(script93); ++1: // 14 + scriptNewRoot(script93); ++1: // 15 + sprite(sprite156); + scriptNewRoot(script93); ++1: // 16 + scriptNewRoot(script93); ++1: // 17 + scriptNewRoot(script93); ++1: // 18 + sprite(sprite157); + scriptNewRoot(script93); ++1: // 19 + scriptNewRoot(script93); ++1: // 20 + scriptNewRoot(script93); ++1: // 21 + sprite(sprite158); + scriptNewRoot(script93); ++1: // 22 + scriptNewRoot(script93); ++1: // 23 + scriptNewRoot(script93); ++1: // 24 + sprite(sprite159); + scaleTime(12, 1, 1.0, 1.0); + scriptNewRoot(script93); ++1: // 25 + scriptNewRoot(script93); ++1: // 26 + scriptNewRoot(script93); ++1: // 27 + sprite(sprite160); + scriptNewRoot(script93); ++1: // 28 + scriptNewRoot(script93); ++1: // 29 + scriptNewRoot(script93); ++1: // 30 + sprite(sprite161); + scriptNewRoot(script93); ++1: // 31 + scriptNewRoot(script93); ++1: // 32 + scriptNewRoot(script93); ++1: // 33 + sprite(sprite162); + scriptNewRoot(script93); ++1: // 34 + scriptNewRoot(script93); ++1: // 35 + scriptNewRoot(script93); ++1: // 36 + } +} + + +script 95 script95 { + layer(8); + type(0); + blendMode(1); + spriteRand(sprite163, 8); + F0 = RANDF2 * 8.0; + F1 = RANDF * 8.0; + F1 -= 4.0; + pos(F0, F1, 0.0); + F0 = RANDF2 * 8.0; + F1 = RANDF * -16.0; + F1 -= 16.0; + posTime(10, 0, F0, F1, 0.0); + scale(0.5, 0.5); + scaleTime(10, 1, 0.0, 0.0); ++10: // 10 + delete(); +} + + +script 96 script96 { + layer(8); + type(0); + scale(0.0, 0.0); + scaleTime(6, 4, 2.0, 2.0); + sprite(sprite163); ++3: // 3 + sprite(sprite164); ++3: // 6 + sprite(sprite165); + scaleTime(6, 1, 1.0, 1.0); ++3: // 9 + sprite(sprite166); ++3: // 12 + sprite(sprite167); + loop { + sprite(sprite163); + scriptNewRoot(script95); ++1: // 13 + scriptNewRoot(script95); ++1: // 14 + scriptNewRoot(script95); ++1: // 15 + sprite(sprite164); + scriptNewRoot(script95); ++1: // 16 + scriptNewRoot(script95); ++1: // 17 + scriptNewRoot(script95); ++1: // 18 + sprite(sprite165); + scriptNewRoot(script95); ++1: // 19 + scriptNewRoot(script95); ++1: // 20 + scriptNewRoot(script95); ++1: // 21 + sprite(sprite166); + scriptNewRoot(script95); ++1: // 22 + scriptNewRoot(script95); ++1: // 23 + scriptNewRoot(script95); ++1: // 24 + sprite(sprite167); + scaleTime(12, 1, 1.0, 1.0); + scriptNewRoot(script95); ++1: // 25 + scriptNewRoot(script95); ++1: // 26 + scriptNewRoot(script95); ++1: // 27 + sprite(sprite168); + scriptNewRoot(script95); ++1: // 28 + scriptNewRoot(script95); ++1: // 29 + scriptNewRoot(script95); ++1: // 30 + sprite(sprite169); + scriptNewRoot(script95); ++1: // 31 + scriptNewRoot(script95); ++1: // 32 + scriptNewRoot(script95); ++1: // 33 + sprite(sprite170); + scriptNewRoot(script95); ++1: // 34 + scriptNewRoot(script95); ++1: // 35 + scriptNewRoot(script95); ++1: // 36 + } +} + + +script 97 script97 { + layer(8); + type(0); + blendMode(1); + spriteRand(sprite171, 8); + F0 = RANDF2 * 8.0; + F1 = RANDF * 8.0; + F1 -= 4.0; + pos(F0, F1, 0.0); + F0 = RANDF2 * 8.0; + F1 = RANDF * -16.0; + F1 -= 16.0; + posTime(10, 0, F0, F1, 0.0); + scale(0.5, 0.5); + scaleTime(10, 1, 0.0, 0.0); ++10: // 10 + delete(); +} + + +script 98 script98 { + layer(8); + type(0); + scale(0.0, 0.0); + scaleTime(6, 4, 2.0, 2.0); + sprite(sprite171); ++3: // 3 + sprite(sprite172); ++3: // 6 + sprite(sprite173); + scaleTime(6, 1, 1.0, 1.0); ++3: // 9 + sprite(sprite174); ++3: // 12 + sprite(sprite175); + loop { + sprite(sprite171); + scriptNewRoot(script97); ++1: // 13 + scriptNewRoot(script97); ++1: // 14 + scriptNewRoot(script97); ++1: // 15 + sprite(sprite172); + scriptNewRoot(script97); ++1: // 16 + scriptNewRoot(script97); ++1: // 17 + scriptNewRoot(script97); ++1: // 18 + sprite(sprite173); + scriptNewRoot(script97); ++1: // 19 + scriptNewRoot(script97); ++1: // 20 + scriptNewRoot(script97); ++1: // 21 + sprite(sprite174); + scriptNewRoot(script97); ++1: // 22 + scriptNewRoot(script97); ++1: // 23 + scriptNewRoot(script97); ++1: // 24 + sprite(sprite175); + scaleTime(12, 1, 1.0, 1.0); + scriptNewRoot(script97); ++1: // 25 + scriptNewRoot(script97); ++1: // 26 + scriptNewRoot(script97); ++1: // 27 + sprite(sprite176); + scriptNewRoot(script97); ++1: // 28 + scriptNewRoot(script97); ++1: // 29 + scriptNewRoot(script97); ++1: // 30 + sprite(sprite177); + scriptNewRoot(script97); ++1: // 31 + scriptNewRoot(script97); ++1: // 32 + scriptNewRoot(script97); ++1: // 33 + sprite(sprite178); + scriptNewRoot(script97); ++1: // 34 + scriptNewRoot(script97); ++1: // 35 + scriptNewRoot(script97); ++1: // 36 + } +} + + +script 99 script99 { + layer(8); + type(0); + blendMode(1); + spriteRand(sprite179, 8); + F0 = RANDF2 * 8.0; + F1 = RANDF * 8.0; + F1 -= 4.0; + pos(F0, F1, 0.0); + F0 = RANDF2 * 8.0; + F1 = RANDF * -16.0; + F1 -= 16.0; + posTime(10, 0, F0, F1, 0.0); + scale(0.5, 0.5); + scaleTime(10, 1, 0.0, 0.0); ++10: // 10 + delete(); +} + + +script 100 script100 { + layer(8); + type(0); + scale(0.0, 0.0); + scaleTime(6, 4, 2.0, 2.0); + sprite(sprite179); ++3: // 3 + sprite(sprite180); ++3: // 6 + sprite(sprite181); + scaleTime(6, 1, 1.0, 1.0); ++3: // 9 + sprite(sprite182); ++3: // 12 + sprite(sprite183); + loop { + sprite(sprite179); + scriptNewRoot(script99); ++1: // 13 + scriptNewRoot(script99); ++1: // 14 + scriptNewRoot(script99); ++1: // 15 + sprite(sprite180); + scriptNewRoot(script99); ++1: // 16 + scriptNewRoot(script99); ++1: // 17 + scriptNewRoot(script99); ++1: // 18 + sprite(sprite181); + scriptNewRoot(script99); ++1: // 19 + scriptNewRoot(script99); ++1: // 20 + scriptNewRoot(script99); ++1: // 21 + sprite(sprite182); + scriptNewRoot(script99); ++1: // 22 + scriptNewRoot(script99); ++1: // 23 + scriptNewRoot(script99); ++1: // 24 + sprite(sprite183); + scaleTime(12, 1, 1.0, 1.0); + scriptNewRoot(script99); ++1: // 25 + scriptNewRoot(script99); ++1: // 26 + scriptNewRoot(script99); ++1: // 27 + sprite(sprite184); + scriptNewRoot(script99); ++1: // 28 + scriptNewRoot(script99); ++1: // 29 + scriptNewRoot(script99); ++1: // 30 + sprite(sprite185); + scriptNewRoot(script99); ++1: // 31 + scriptNewRoot(script99); ++1: // 32 + scriptNewRoot(script99); ++1: // 33 + sprite(sprite186); + scriptNewRoot(script99); ++1: // 34 + scriptNewRoot(script99); ++1: // 35 + scriptNewRoot(script99); ++1: // 36 + } +} + + +script 101 script101 { + layer(8); + type(1); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.3926991); + sprite(sprite0); ++5: // 5 + sprite(sprite1); ++5: // 10 + sprite(sprite2); ++5: // 15 + sprite(sprite3); ++5: // 20 + sprite(sprite0); ++5: // 25 + sprite(sprite1); ++5: // 30 + sprite(sprite2); ++5: // 35 + sprite(sprite3); ++5: // 40 + rotateTime(20, 9, 0.0, 0.0, -0.3926991); + sprite(sprite0); ++5: // 45 + sprite(sprite1); ++5: // 50 + sprite(sprite2); ++5: // 55 + sprite(sprite3); ++5: // 60 + sprite(sprite0); ++5: // 65 + sprite(sprite1); ++5: // 70 + sprite(sprite2); ++5: // 75 + sprite(sprite3); ++5: // 80 + } + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 92 + delete(); +} + + +script 102 script102 { + layer(8); + type(1); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.3926991); + sprite(sprite12); ++5: // 5 + sprite(sprite13); ++5: // 10 + sprite(sprite14); ++5: // 15 + sprite(sprite15); ++5: // 20 + sprite(sprite12); ++5: // 25 + sprite(sprite13); ++5: // 30 + sprite(sprite14); ++5: // 35 + sprite(sprite15); ++5: // 40 + rotateTime(20, 9, 0.0, 0.0, -0.3926991); + sprite(sprite12); ++5: // 45 + sprite(sprite13); ++5: // 50 + sprite(sprite14); ++5: // 55 + sprite(sprite15); ++5: // 60 + sprite(sprite12); ++5: // 65 + sprite(sprite13); ++5: // 70 + sprite(sprite14); ++5: // 75 + sprite(sprite15); ++5: // 80 + } + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 92 + delete(); +} + + +script 103 script103 { + layer(8); + type(1); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.3926991); + sprite(sprite24); ++5: // 5 + sprite(sprite25); ++5: // 10 + sprite(sprite26); ++5: // 15 + sprite(sprite27); ++5: // 20 + sprite(sprite24); ++5: // 25 + sprite(sprite25); ++5: // 30 + sprite(sprite26); ++5: // 35 + sprite(sprite27); ++5: // 40 + rotateTime(20, 9, 0.0, 0.0, -0.3926991); + sprite(sprite24); ++5: // 45 + sprite(sprite25); ++5: // 50 + sprite(sprite26); ++5: // 55 + sprite(sprite27); ++5: // 60 + sprite(sprite24); ++5: // 65 + sprite(sprite25); ++5: // 70 + sprite(sprite26); ++5: // 75 + sprite(sprite27); ++5: // 80 + } + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 92 + delete(); +} + + +script 104 script104 { + layer(8); + type(1); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.3926991); + sprite(sprite36); ++5: // 5 + sprite(sprite37); ++5: // 10 + sprite(sprite38); ++5: // 15 + sprite(sprite39); ++5: // 20 + sprite(sprite36); ++5: // 25 + sprite(sprite37); ++5: // 30 + sprite(sprite38); ++5: // 35 + sprite(sprite39); ++5: // 40 + rotateTime(20, 9, 0.0, 0.0, -0.3926991); + sprite(sprite36); ++5: // 45 + sprite(sprite37); ++5: // 50 + sprite(sprite38); ++5: // 55 + sprite(sprite39); ++5: // 60 + sprite(sprite36); ++5: // 65 + sprite(sprite37); ++5: // 70 + sprite(sprite38); ++5: // 75 + sprite(sprite39); ++5: // 80 + } + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 92 + delete(); +} + + +script 105 script105 { + layer(8); + type(1); + angleVel(0.0, 0.0, 0.19634955); + loop { + sprite(sprite0); ++5: // 5 + sprite(sprite1); ++5: // 10 + sprite(sprite2); ++5: // 15 + sprite(sprite3); ++5: // 20 + } + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 32 + delete(); +} + + +script 106 script106 { + layer(8); + type(1); + angleVel(0.0, 0.0, 0.19634955); + loop { + sprite(sprite12); ++5: // 5 + sprite(sprite13); ++5: // 10 + sprite(sprite14); ++5: // 15 + sprite(sprite15); ++5: // 20 + } + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 32 + delete(); +} + + +script 107 script107 { + layer(8); + type(1); + angleVel(0.0, 0.0, 0.19634955); + loop { + sprite(sprite24); ++5: // 5 + sprite(sprite25); ++5: // 10 + sprite(sprite26); ++5: // 15 + sprite(sprite27); ++5: // 20 + } + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 32 + delete(); +} + + +script 108 script108 { + layer(8); + type(1); + angleVel(0.0, 0.0, 0.19634955); + loop { + sprite(sprite36); ++5: // 5 + sprite(sprite37); ++5: // 10 + sprite(sprite38); ++5: // 15 + sprite(sprite39); ++5: // 20 + } + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 32 + delete(); +} + + +script 109 script109 { + layer(8); + sprite(sprite96); + alpha(128); + stop(); + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 12 + delete(); +} + + +script 110 script110 { + layer(8); + sprite(sprite97); + alpha(128); + stop(); + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 12 + delete(); +} + + +script 111 script111 { + layer(8); + sprite(sprite98); + alpha(128); + stop(); + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 12 + delete(); +} + + +script 112 script112 { + layer(8); + sprite(sprite99); + alpha(128); + stop(); + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 12 + delete(); +} + + +script 113 script113 { + layer(8); + sprite(sprite100); + alpha(128); + stop(); + +interrupt[1]: + angleVel(0.0, 0.0, 0.19634955); + alphaTime(12, 0, 0); ++12: // 12 + delete(); +} + + +script 114 script114 { + layer(8); + type(0); + blendMode(1); + spriteRand(sprite155, 8); + F0 = RANDF2 * 8.0; + F1 = RANDF * 8.0; + F1 -= 4.0; + pos(F0, F1, 0.0); + F0 = RANDF2 * 8.0; + F1 = RANDF * -16.0; + F1 -= 16.0; + posTime(10, 0, F0, F1, 0.0); + scale(0.5, 0.5); + scaleTime(10, 1, 0.0, 0.0); ++10: // 10 + delete(); +} + + +script 115 script115 { + layer(8); + type(0); + blendMode(1); + scale(0.0, 0.0); + scaleTime(6, 4, 2.0, 2.0); + sprite(sprite155); ++3: // 3 + sprite(sprite156); ++3: // 6 + sprite(sprite157); + scaleTime(6, 1, 1.0, 1.0); ++3: // 9 + sprite(sprite158); ++3: // 12 + sprite(sprite159); + I4 = 2; + do { + sprite(sprite155); + scriptNewRoot(script93); ++1: // 13 + scriptNewRoot(script93); ++1: // 14 + scriptNewRoot(script93); ++1: // 15 + sprite(sprite156); + scriptNewRoot(script93); ++1: // 16 + scriptNewRoot(script93); ++1: // 17 + scriptNewRoot(script93); ++1: // 18 + sprite(sprite157); + scriptNewRoot(script93); ++1: // 19 + scriptNewRoot(script93); ++1: // 20 + scriptNewRoot(script93); ++1: // 21 + sprite(sprite158); + scriptNewRoot(script93); ++1: // 22 + scriptNewRoot(script93); ++1: // 23 + scriptNewRoot(script93); ++1: // 24 + sprite(sprite159); + scriptNewRoot(script93); ++1: // 25 + scriptNewRoot(script93); ++1: // 26 + scriptNewRoot(script93); ++1: // 27 + sprite(sprite160); + scriptNewRoot(script93); ++1: // 28 + scriptNewRoot(script93); ++1: // 29 + scriptNewRoot(script93); ++1: // 30 + sprite(sprite161); + scriptNewRoot(script93); ++1: // 31 + scriptNewRoot(script93); ++1: // 32 + scriptNewRoot(script93); ++1: // 33 + sprite(sprite162); + scriptNewRoot(script93); ++1: // 34 + scriptNewRoot(script93); ++1: // 35 + scriptNewRoot(script93); ++1: // 36 + } while (--I4); + scaleTime(15, 4, 4.0, 4.0); + alphaTime(15, 4, 0); ++15: // 51 + delete(); +} + + +script 116 script116 { + layer(8); + type(0); + blendMode(1); + spriteRand(sprite163, 8); + F0 = RANDF2 * 8.0; + F1 = RANDF * 8.0; + F1 -= 4.0; + pos(F0, F1, 0.0); + F0 = RANDF2 * 8.0; + F1 = RANDF * -16.0; + F1 -= 16.0; + posTime(10, 0, F0, F1, 0.0); + scale(0.5, 0.5); + scaleTime(10, 1, 0.0, 0.0); ++10: // 10 + delete(); +} + + +script 117 script117 { + layer(8); + type(0); + blendMode(1); + scale(0.0, 0.0); + scaleTime(6, 4, 2.0, 2.0); + sprite(sprite163); ++3: // 3 + sprite(sprite164); ++3: // 6 + sprite(sprite165); + scaleTime(6, 1, 1.0, 1.0); ++3: // 9 + sprite(sprite166); ++3: // 12 + sprite(sprite167); + I4 = 2; + do { + sprite(sprite163); + scriptNewRoot(script95); ++1: // 13 + scriptNewRoot(script95); ++1: // 14 + scriptNewRoot(script95); ++1: // 15 + sprite(sprite164); + scriptNewRoot(script95); ++1: // 16 + scriptNewRoot(script95); ++1: // 17 + scriptNewRoot(script95); ++1: // 18 + sprite(sprite165); + scriptNewRoot(script95); ++1: // 19 + scriptNewRoot(script95); ++1: // 20 + scriptNewRoot(script95); ++1: // 21 + sprite(sprite166); + scriptNewRoot(script95); ++1: // 22 + scriptNewRoot(script95); ++1: // 23 + scriptNewRoot(script95); ++1: // 24 + sprite(sprite167); + scriptNewRoot(script95); ++1: // 25 + scriptNewRoot(script95); ++1: // 26 + scriptNewRoot(script95); ++1: // 27 + sprite(sprite168); + scriptNewRoot(script95); ++1: // 28 + scriptNewRoot(script95); ++1: // 29 + scriptNewRoot(script95); ++1: // 30 + sprite(sprite169); + scriptNewRoot(script95); ++1: // 31 + scriptNewRoot(script95); ++1: // 32 + scriptNewRoot(script95); ++1: // 33 + sprite(sprite170); + scriptNewRoot(script95); ++1: // 34 + scriptNewRoot(script95); ++1: // 35 + scriptNewRoot(script95); ++1: // 36 + } while (--I4); + scaleTime(15, 4, 4.0, 4.0); + alphaTime(15, 4, 0); ++15: // 51 + delete(); +} + + +script 118 script118 { + layer(8); + type(0); + blendMode(1); + spriteRand(sprite171, 8); + F0 = RANDF2 * 8.0; + F1 = RANDF * 8.0; + F1 -= 4.0; + pos(F0, F1, 0.0); + F0 = RANDF2 * 8.0; + F1 = RANDF * -16.0; + F1 -= 16.0; + posTime(10, 0, F0, F1, 0.0); + scale(0.5, 0.5); + scaleTime(10, 1, 0.0, 0.0); ++10: // 10 + delete(); +} + + +script 119 script119 { + layer(8); + type(0); + blendMode(1); + scale(0.0, 0.0); + scaleTime(6, 4, 2.0, 2.0); + sprite(sprite171); ++3: // 3 + sprite(sprite172); ++3: // 6 + sprite(sprite173); + scaleTime(6, 1, 1.0, 1.0); ++3: // 9 + sprite(sprite174); ++3: // 12 + sprite(sprite175); + I4 = 2; + do { + sprite(sprite171); + scriptNewRoot(script97); ++1: // 13 + scriptNewRoot(script97); ++1: // 14 + scriptNewRoot(script97); ++1: // 15 + sprite(sprite172); + scriptNewRoot(script97); ++1: // 16 + scriptNewRoot(script97); ++1: // 17 + scriptNewRoot(script97); ++1: // 18 + sprite(sprite173); + scriptNewRoot(script97); ++1: // 19 + scriptNewRoot(script97); ++1: // 20 + scriptNewRoot(script97); ++1: // 21 + sprite(sprite174); + scriptNewRoot(script97); ++1: // 22 + scriptNewRoot(script97); ++1: // 23 + scriptNewRoot(script97); ++1: // 24 + sprite(sprite175); + scriptNewRoot(script97); ++1: // 25 + scriptNewRoot(script97); ++1: // 26 + scriptNewRoot(script97); ++1: // 27 + sprite(sprite176); + scriptNewRoot(script97); ++1: // 28 + scriptNewRoot(script97); ++1: // 29 + scriptNewRoot(script97); ++1: // 30 + sprite(sprite177); + scriptNewRoot(script97); ++1: // 31 + scriptNewRoot(script97); ++1: // 32 + scriptNewRoot(script97); ++1: // 33 + sprite(sprite178); + scriptNewRoot(script97); ++1: // 34 + scriptNewRoot(script97); ++1: // 35 + scriptNewRoot(script97); ++1: // 36 + } while (--I4); + scaleTime(15, 4, 4.0, 4.0); + alphaTime(15, 4, 0); ++15: // 51 + delete(); +} + + +script 120 script120 { + layer(8); + type(0); + blendMode(1); + spriteRand(sprite179, 8); + F0 = RANDF2 * 8.0; + F1 = RANDF * 8.0; + F1 -= 4.0; + pos(F0, F1, 0.0); + F0 = RANDF2 * 8.0; + F1 = RANDF * -16.0; + F1 -= 16.0; + posTime(10, 0, F0, F1, 0.0); + scale(0.5, 0.5); + scaleTime(10, 1, 0.0, 0.0); ++10: // 10 + delete(); +} + + +script 121 script121 { + layer(8); + type(0); + blendMode(1); + scale(0.0, 0.0); + scaleTime(6, 4, 2.0, 2.0); + sprite(sprite179); ++3: // 3 + sprite(sprite180); ++3: // 6 + sprite(sprite181); + scaleTime(6, 1, 1.0, 1.0); ++3: // 9 + sprite(sprite182); ++3: // 12 + sprite(sprite183); + I4 = 2; + do { + sprite(sprite179); + scriptNewRoot(script99); ++1: // 13 + scriptNewRoot(script99); ++1: // 14 + scriptNewRoot(script99); ++1: // 15 + sprite(sprite180); + scriptNewRoot(script99); ++1: // 16 + scriptNewRoot(script99); ++1: // 17 + scriptNewRoot(script99); ++1: // 18 + sprite(sprite181); + scriptNewRoot(script99); ++1: // 19 + scriptNewRoot(script99); ++1: // 20 + scriptNewRoot(script99); ++1: // 21 + sprite(sprite182); + scriptNewRoot(script99); ++1: // 22 + scriptNewRoot(script99); ++1: // 23 + scriptNewRoot(script99); ++1: // 24 + sprite(sprite183); + scriptNewRoot(script99); ++1: // 25 + scriptNewRoot(script99); ++1: // 26 + scriptNewRoot(script99); ++1: // 27 + sprite(sprite184); + scriptNewRoot(script99); ++1: // 28 + scriptNewRoot(script99); ++1: // 29 + scriptNewRoot(script99); ++1: // 30 + sprite(sprite185); + scriptNewRoot(script99); ++1: // 31 + scriptNewRoot(script99); ++1: // 32 + scriptNewRoot(script99); ++1: // 33 + sprite(sprite186); + scriptNewRoot(script99); ++1: // 34 + scriptNewRoot(script99); ++1: // 35 + scriptNewRoot(script99); ++1: // 36 + } while (--I4); + scaleTime(15, 4, 4.0, 4.0); + alphaTime(15, 4, 0); ++15: // 51 + delete(); +} diff --git a/research/front.tanm b/research/front.tanm new file mode 100644 index 0000000..cfd710d --- /dev/null +++ b/research/front.tanm @@ -0,0 +1,4729 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "front/front00.png", + img_width: 512, + img_height: 512, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 32.0, h: 480.0}, + sprite1: {x: 32.0, y: 0.0, w: 224.0, h: 480.0}, + sprite2: {x: 0.0, y: 480.0, w: 384.0, h: 16.0}, + sprite3: {x: 0.0, y: 496.0, w: 384.0, h: 16.0}, + sprite4: {x: 256.0, y: 0.0, w: 80.0, h: 18.0}, + sprite5: {x: 256.0, y: 18.0, w: 80.0, h: 18.0}, + sprite6: {x: 256.0, y: 36.0, w: 80.0, h: 22.0}, + sprite7: {x: 256.0, y: 58.0, w: 80.0, h: 18.0}, + sprite8: {x: 336.0, y: 0.0, w: 80.0, h: 18.0}, + sprite9: {x: 464.0, y: 0.0, w: 16.0, h: 20.0}, + sprite10: {x: 464.0, y: 0.0, w: 0.0, h: 20.0}, + sprite11: {x: 480.0, y: 0.0, w: 16.0, h: 20.0}, + sprite12: {x: 496.0, y: 0.0, w: 16.0, h: 20.0}, + sprite13: {x: 464.0, y: 20.0, w: 16.0, h: 20.0}, + sprite14: {x: 480.0, y: 20.0, w: 16.0, h: 20.0}, + sprite15: {x: 464.0, y: 20.0, w: 16.0, h: 20.0}, + sprite16: {x: 336.0, y: 20.0, w: 16.0, h: 20.0}, + sprite17: {x: 384.0, y: 496.0, w: 8.0, h: 8.0}, + sprite18: {x: 392.0, y: 496.0, w: 8.0, h: 8.0}, + sprite19: {x: 400.0, y: 496.0, w: 8.0, h: 8.0}, + sprite20: {x: 384.0, y: 504.0, w: 8.0, h: 8.0}, + sprite21: {x: 392.0, y: 504.0, w: 8.0, h: 8.0}, + sprite22: {x: 400.0, y: 504.0, w: 8.0, h: 8.0}, + sprite23: {x: 384.0, y: 500.0, w: 8.0, h: 8.0}, + sprite24: {x: 400.0, y: 500.0, w: 8.0, h: 8.0}, + sprite25: {x: 464.0, y: 160.0, w: 48.0, h: 352.0}, + sprite26: {x: 256.0, y: 80.0, w: 16.0, h: 16.0}, + sprite27: {x: 272.0, y: 80.0, w: 8.0, h: 9.0}, + sprite28: {x: 280.0, y: 80.0, w: 8.0, h: 9.0}, + sprite29: {x: 288.0, y: 80.0, w: 8.0, h: 9.0}, + sprite30: {x: 296.0, y: 80.0, w: 8.0, h: 9.0}, + sprite31: {x: 304.0, y: 80.0, w: 8.0, h: 9.0}, + sprite32: {x: 312.0, y: 80.0, w: 8.0, h: 9.0}, + sprite33: {x: 320.0, y: 80.0, w: 8.0, h: 9.0}, + sprite34: {x: 328.0, y: 80.0, w: 8.0, h: 9.0}, + sprite35: {x: 336.0, y: 80.0, w: 8.0, h: 9.0}, + sprite36: {x: 344.0, y: 80.0, w: 8.0, h: 9.0}, + sprite37: {x: 352.0, y: 80.0, w: 8.0, h: 9.0}, + sprite38: {x: 360.0, y: 80.0, w: 32.0, h: 9.0}, + sprite39: {x: 392.0, y: 80.0, w: 11.0, h: 12.0}, + sprite40: {x: 256.0, y: 96.0, w: 256.0, h: 32.0}, + sprite41: {x: 256.0, y: 386.0, w: 160.0, h: 32.0}, + sprite42: {x: 256.0, y: 160.0, w: 160.0, h: 32.0}, + sprite43: {x: 256.0, y: 192.0, w: 96.0, h: 32.0}, + sprite44: {x: 256.0, y: 224.0, w: 96.0, h: 32.0}, + sprite45: {x: 256.0, y: 256.0, w: 192.0, h: 32.0}, + sprite46: {x: 256.0, y: 128.0, w: 256.0, h: 32.0}, + sprite47: {x: 264.0, y: 288.0, w: 112.0, h: 8.0}, + sprite48: {x: 256.0, y: 304.0, w: 80.0, h: 16.0}, + sprite49: {x: 256.0, y: 320.0, w: 80.0, h: 16.0}, + sprite50: {x: 256.0, y: 336.0, w: 80.0, h: 16.0}, + sprite51: {x: 256.0, y: 352.0, w: 80.0, h: 16.0}, + sprite52: {x: 256.0, y: 368.0, w: 80.0, h: 16.0}, + sprite53: {x: 385.0, y: 481.0, w: 8.0, h: 8.0}, + sprite54: {x: 432.0, y: 480.0, w: 32.0, h: 32.0}, + sprite55: {x: 256.0, y: 416.0, w: 192.0, h: 64.0}, + sprite56: {x: 336.0, y: 304.0, w: 64.0, h: 32.0}, + sprite57: {x: 416.0, y: 16.0, w: 48.0, h: 16.0}, + sprite58: {x: 416.0, y: 0.0, w: 48.0, h: 16.0}, + sprite59: {x: 416.0, y: 0.0, w: 48.0, h: 16.0}, + }, +} + + +script 0 script0 { + scriptNew(script1); + scriptNew(script2); + scriptNew(script3); + scriptNew(script4); + scriptNew(script5); + scriptNew(script6); + scriptNew(script7); + scriptNew(script8); + scriptNew(script9); + stop(); +} + + +script 1 script1 { + sprite(sprite0); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(20); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); +} + + +script 2 script2 { + sprite(sprite1); + ins_85(1); + randMode(1); + pos(416.0, 0.0, 0.0); + anchor(1, 1); + layer(20); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); +} + + +script 3 script3 { + sprite(sprite2); + ins_85(1); + randMode(1); + pos(32.0, 0.0, 0.0); + anchor(1, 1); + layer(20); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); +} + + +script 4 script4 { + sprite(sprite3); + ins_85(1); + randMode(1); + pos(32.0, 464.0, 0.0); + anchor(1, 1); + layer(20); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); +} + + +script 5 script5 { + sprite(sprite4); + resampleMode(1); + ins_85(1); + randMode(1); + color(255, 255, 255); + pos(428.0, 46.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); +} + + +script 6 script6 { + sprite(sprite5); + resampleMode(1); + ins_85(1); + randMode(1); + pos(428.0, 70.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); +} + + +script 7 script7 { + sprite(sprite6); + resampleMode(1); + ins_85(1); + randMode(1); + pos(428.0, 102.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); +} + + +script 8 script8 { + sprite(sprite7); + resampleMode(1); + ins_85(1); + randMode(1); + pos(428.0, 126.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); +} + + +script 9 script9 { + sprite(sprite8); + resampleMode(1); + ins_85(1); + randMode(1); + pos(428.0, 150.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); +} + + +script 10 script10 { + ins_85(1); + randMode(1); + pos(522.0, 102.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); + +interrupt[2]: + sprite(sprite9); + color(255, 255, 255); + caseReturn(); + +interrupt[7]: + sprite(sprite10); + caseReturn(); + +interrupt[8]: + sprite(sprite11); + color(128, 128, 255); + caseReturn(); + +interrupt[9]: + sprite(sprite12); + color(128, 128, 255); + caseReturn(); + +interrupt[10]: + sprite(sprite13); + color(144, 144, 255); + caseReturn(); + +interrupt[11]: + sprite(sprite14); + color(160, 160, 255); + caseReturn(); + +interrupt[12]: + sprite(sprite15); + color(192, 192, 255); + caseReturn(); +} + + +script 11 script11 { + ins_85(1); + randMode(1); + pos(534.0, 102.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); + +interrupt[2]: + sprite(sprite9); + color(255, 255, 255); + caseReturn(); + +interrupt[7]: + sprite(sprite10); + caseReturn(); + +interrupt[8]: + sprite(sprite11); + color(128, 128, 255); + caseReturn(); + +interrupt[9]: + sprite(sprite12); + color(128, 128, 255); + caseReturn(); + +interrupt[10]: + sprite(sprite13); + color(144, 144, 255); + caseReturn(); + +interrupt[11]: + sprite(sprite14); + color(160, 160, 255); + caseReturn(); + +interrupt[12]: + sprite(sprite15); + color(192, 192, 255); + caseReturn(); +} + + +script 12 script12 { + ins_85(1); + randMode(1); + pos(546.0, 102.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); + +interrupt[2]: + sprite(sprite9); + color(255, 255, 255); + caseReturn(); + +interrupt[7]: + sprite(sprite10); + caseReturn(); + +interrupt[8]: + sprite(sprite11); + color(128, 128, 255); + caseReturn(); + +interrupt[9]: + sprite(sprite12); + color(128, 128, 255); + caseReturn(); + +interrupt[10]: + sprite(sprite13); + color(144, 144, 255); + caseReturn(); + +interrupt[11]: + sprite(sprite14); + color(160, 160, 255); + caseReturn(); + +interrupt[12]: + sprite(sprite15); + color(192, 192, 255); + caseReturn(); +} + + +script 13 script13 { + ins_85(1); + randMode(1); + pos(558.0, 102.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); + +interrupt[2]: + sprite(sprite9); + color(255, 255, 255); + caseReturn(); + +interrupt[7]: + sprite(sprite10); + caseReturn(); + +interrupt[8]: + sprite(sprite11); + color(128, 128, 255); + caseReturn(); + +interrupt[9]: + sprite(sprite12); + color(128, 128, 255); + caseReturn(); + +interrupt[10]: + sprite(sprite13); + color(144, 144, 255); + caseReturn(); + +interrupt[11]: + sprite(sprite14); + color(160, 160, 255); + caseReturn(); + +interrupt[12]: + sprite(sprite15); + color(192, 192, 255); + caseReturn(); +} + + +script 14 script14 { + ins_85(1); + randMode(1); + pos(570.0, 102.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); + +interrupt[2]: + sprite(sprite9); + color(255, 255, 255); + caseReturn(); + +interrupt[7]: + sprite(sprite10); + caseReturn(); + +interrupt[8]: + sprite(sprite11); + color(128, 128, 255); + caseReturn(); + +interrupt[9]: + sprite(sprite12); + color(128, 128, 255); + caseReturn(); + +interrupt[10]: + sprite(sprite13); + color(144, 144, 255); + caseReturn(); + +interrupt[11]: + sprite(sprite14); + color(160, 160, 255); + caseReturn(); + +interrupt[12]: + sprite(sprite15); + color(192, 192, 255); + caseReturn(); +} + + +script 15 script15 { + ins_85(1); + randMode(1); + pos(582.0, 102.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); + +interrupt[2]: + sprite(sprite9); + color(255, 255, 255); + caseReturn(); + +interrupt[7]: + sprite(sprite10); + caseReturn(); + +interrupt[8]: + sprite(sprite11); + color(128, 128, 255); + caseReturn(); + +interrupt[9]: + sprite(sprite12); + color(128, 128, 255); + caseReturn(); + +interrupt[10]: + sprite(sprite13); + color(144, 144, 255); + caseReturn(); + +interrupt[11]: + sprite(sprite14); + color(160, 160, 255); + caseReturn(); + +interrupt[12]: + sprite(sprite15); + color(192, 192, 255); + caseReturn(); +} + + +script 16 script16 { + ins_85(1); + randMode(1); + pos(594.0, 102.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); + +interrupt[2]: + sprite(sprite9); + color(255, 255, 255); + caseReturn(); + +interrupt[7]: + sprite(sprite10); + caseReturn(); + +interrupt[8]: + sprite(sprite11); + color(128, 128, 255); + caseReturn(); + +interrupt[9]: + sprite(sprite12); + color(128, 128, 255); + caseReturn(); + +interrupt[10]: + sprite(sprite13); + color(144, 144, 255); + caseReturn(); + +interrupt[11]: + sprite(sprite14); + color(160, 160, 255); + caseReturn(); + +interrupt[12]: + sprite(sprite15); + color(192, 192, 255); + caseReturn(); +} + + +script 17 script17 { + ins_85(1); + randMode(1); + pos(606.0, 102.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); + +interrupt[2]: + sprite(sprite9); + color(255, 255, 255); + caseReturn(); + +interrupt[7]: + sprite(sprite10); + caseReturn(); + +interrupt[8]: + sprite(sprite11); + color(128, 128, 255); + caseReturn(); + +interrupt[9]: + sprite(sprite12); + color(128, 128, 255); + caseReturn(); + +interrupt[10]: + sprite(sprite13); + color(144, 144, 255); + caseReturn(); + +interrupt[11]: + sprite(sprite14); + color(160, 160, 255); + caseReturn(); + +interrupt[12]: + sprite(sprite15); + color(192, 192, 255); + caseReturn(); +} + + +script 18 script18 { + ins_85(1); + randMode(1); + pos(618.0, 102.0, 0.0); + anchor(1, 1); + layer(22); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); + +interrupt[2]: + sprite(sprite9); + color(255, 255, 255); + caseReturn(); + +interrupt[7]: + sprite(sprite10); + caseReturn(); + +interrupt[8]: + sprite(sprite11); + color(128, 128, 255); + caseReturn(); + +interrupt[9]: + sprite(sprite12); + color(128, 128, 255); + caseReturn(); + +interrupt[10]: + sprite(sprite13); + color(144, 144, 255); + caseReturn(); + +interrupt[11]: + sprite(sprite14); + color(160, 160, 255); + caseReturn(); + +interrupt[12]: + sprite(sprite15); + color(192, 192, 255); + caseReturn(); +} + + +script 19 script19 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(265.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 20 script20 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(272.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 21 script21 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(279.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 22 script22 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(286.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 23 script23 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(293.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 24 script24 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(300.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 25 script25 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(307.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 26 script26 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(314.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 27 script27 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(360.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 28 script28 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(367.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 29 script29 { + sprite(sprite37); + ins_85(1); + randMode(1); + pos(374.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 30 script30 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(381.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 31 script31 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(388.0, 51.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++90: // 90 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); +} + + +script 32 script32 { + layer(19); + sprite(sprite57); + randMode(1); + anchor(1, 2); + pos(42.0, 456.0, 0.0); + resampleMode(1); + alpha(0); + color(32, 32, 64); ++20: // 20 + alphaTime(20, 0, 255); + stop(); + +interrupt[2]: + alphaTime(30, 0, 255); + stop(); + +interrupt[3]: + alphaTime(10, 0, 64); + stop(); +} + + +script 33 script33 { + layer(18); + sprite(sprite58); + randMode(1); + anchor(1, 2); + pos(42.0, 456.0, 0.0); + resampleMode(1); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); + stop(); + +interrupt[8]: + loop { + color(255, 255, 0); ++5: // 25 + color(255, 0, 0); ++5: // 30 + } + +interrupt[9]: + loop { + color(255, 255, 0); ++3: // 33 + color(255, 0, 0); ++3: // 36 + } + +interrupt[10]: + loop { + color(255, 255, 0); ++2: // 38 + color(255, 0, 0); ++2: // 40 + } + +interrupt[11]: + loop { + color(0, 0, 255); ++2: // 42 + color(255, 0, 255); ++2: // 44 + } + +interrupt[7]: + color(255, 255, 255); + stop(); + +interrupt[2]: + alphaTime(30, 0, 255); + caseReturn(); + +interrupt[3]: + alphaTime(10, 0, 64); + caseReturn(); +} + + +script 34 script34 { + layer(18); + sprite(sprite59); + randMode(1); + anchor(1, 2); + pos(42.0, 456.0, 0.0); + resampleMode(1); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); + color(192, 192, 255); + stop(); + +interrupt[8]: + loop { + color(192, 192, 255); ++5: // 25 + color(255, 0, 255); ++5: // 30 + } + +interrupt[9]: + loop { + color(192, 192, 255); ++3: // 33 + color(255, 0, 255); ++3: // 36 + } + +interrupt[10]: + loop { + color(192, 192, 255); ++2: // 38 + color(255, 0, 255); ++2: // 40 + } + +interrupt[11]: + loop { + color(0, 0, 255); ++2: // 42 + color(255, 0, 255); ++2: // 44 + } + +interrupt[7]: + color(192, 192, 255); + stop(); + +interrupt[2]: + alphaTime(30, 0, 255); + caseReturn(); + +interrupt[3]: + alphaTime(10, 0, 64); + caseReturn(); +} + + +script 35 script35 { + layer(18); + sprite(sprite26); + randMode(1); + anchor(1, 2); + pos(30.0, 468.0, 0.0); + resampleMode(1); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); + stop(); + +interrupt[2]: + alphaTime(30, 0, 255); + stop(); + +interrupt[3]: + alphaTime(10, 0, 64); + stop(); +} + + +script 36 script36 { + sprite(sprite40); + randMode(1); + anchor(0, 0); + pos(232.0, 128.0, 0.0); + resampleMode(1); + layer(18); + color(255, 255, 255); ++2: // 2 + color(128, 128, 128); ++2: // 4 + color(255, 255, 255); ++2: // 6 + color(128, 128, 128); ++2: // 8 + color(255, 255, 255); ++2: // 10 + color(128, 128, 128); ++2: // 12 + color(255, 255, 255); ++2: // 14 + color(128, 128, 128); ++2: // 16 + color(255, 255, 255); ++2: // 18 + color(128, 128, 128); ++2: // 20 + color(255, 255, 255); ++2: // 22 + color(128, 128, 128); ++2: // 24 + color(255, 255, 255); ++110: // 134 + scaleTime(20, 4, 1.0, 0.0); + resampleMode(0); ++20: // 154 + delete(); +} + + +script 37 script37 { + sprite(sprite41); + randMode(1); + anchor(0, 0); + pos(224.0, 144.0, 0.0); + resampleMode(1); + layer(18); + alpha(0); + alphaTime(20, 0, 255); ++120: // 120 + alphaTime(20, 0, 0); ++20: // 140 + delete(); +} + + +script 38 script38 { + sprite(sprite42); + randMode(1); + anchor(0, 1); + pos(224.0, 32.0, 0.0); + resampleMode(1); + layer(18); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); ++90: // 90 + alphaTime(10, 0, 0); ++20: // 110 + delete(); +} + + +script 39 script39 { + sprite(sprite43); + randMode(1); + anchor(0, 1); + pos(224.0, 32.0, 0.0); + resampleMode(1); + layer(18); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); ++90: // 90 + alphaTime(10, 0, 0); ++20: // 110 + delete(); +} + + +script 40 script40 { + sprite(sprite44); + ins_85(1); + randMode(1); + anchor(0, 1); + pos(224.0, 32.0, 0.0); + resampleMode(1); + layer(18); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); ++90: // 90 + alphaTime(10, 0, 0); ++20: // 110 + delete(); +} + + +script 41 script41 { + sprite(sprite46); + randMode(1); + anchor(0, 0); + pos(224.0, 240.0, 0.0); + resampleMode(1); + layer(18); + loop { ++20: // 20 + color(192, 192, 192); ++20: // 40 + color(255, 255, 255); + } + +interrupt[1]: + color(255, 255, 255); ++60: // 100 + alphaTime(40, 0, 0); ++40: // 140 + delete(); +} + + +script 42 script42 { + blendMode(1); + sprite(sprite47); + ins_85(1); + randMode(1); + anchor(1, 0); + pos(32.0, 144.0, 0.0); + resampleMode(1); + layer(18); + alpha(0); + scale(1.0, 0.0); ++60: // 60 + scaleTime(10, 4, 1.0, 1.0); + alphaTime(10, 4, 64); ++8: // 68 + color(255, 128, 0); ++8: // 76 + color(255, 255, 255); ++8: // 84 + color(255, 128, 0); ++8: // 92 + color(255, 255, 255); ++8: // 100 + color(255, 128, 0); ++8: // 108 + color(255, 255, 255); ++8: // 116 + color(255, 128, 0); ++8: // 124 + color(255, 255, 255); ++8: // 132 + color(255, 128, 0); ++8: // 140 + color(255, 255, 255); ++8: // 148 + color(255, 128, 0); ++8: // 156 + color(255, 255, 255); ++8: // 164 + color(255, 128, 0); ++8: // 172 + color(255, 255, 255); ++8: // 180 + color(255, 128, 0); ++8: // 188 + color(255, 255, 255); + alphaTime(10, 0, 0); ++10: // 198 + delete(); +} + + +script 43 script43 { + blendMode(1); + sprite(sprite47); + ins_85(1); + randMode(1); + anchor(2, 0); + pos(416.0, 144.0, 0.0); + resampleMode(1); + layer(18); + alpha(0); + scale(1.0, 0.0); ++60: // 60 + scaleTime(10, 4, 1.0, 1.0); + alphaTime(10, 4, 64); ++8: // 68 + color(255, 128, 0); ++8: // 76 + color(255, 255, 255); ++8: // 84 + color(255, 128, 0); ++8: // 92 + color(255, 255, 255); ++8: // 100 + color(255, 128, 0); ++8: // 108 + color(255, 255, 255); ++8: // 116 + color(255, 128, 0); ++8: // 124 + color(255, 255, 255); ++8: // 132 + color(255, 128, 0); ++8: // 140 + color(255, 255, 255); ++8: // 148 + color(255, 128, 0); ++8: // 156 + color(255, 255, 255); ++8: // 164 + color(255, 128, 0); ++8: // 172 + color(255, 255, 255); ++8: // 180 + color(255, 128, 0); ++8: // 188 + color(255, 255, 255); + alphaTime(10, 0, 0); ++10: // 198 + delete(); +} + + +script 44 script44 { + blendMode(1); + scriptNew(script42); + scriptNew(script43); + sprite(sprite45); + ins_85(1); + randMode(1); + anchor(0, 0); + pos(224.0, 144.0, 0.0); + resampleMode(1); + layer(18); + alpha(0); + scale(1.0, 0.0); ++60: // 60 + scaleTime(10, 4, 1.0, 1.0); + alphaTime(10, 4, 192); ++8: // 68 + color(255, 128, 0); ++8: // 76 + color(255, 255, 255); ++8: // 84 + color(255, 128, 0); ++8: // 92 + color(255, 255, 255); ++8: // 100 + color(255, 128, 0); ++8: // 108 + color(255, 255, 255); ++8: // 116 + color(255, 128, 0); ++8: // 124 + color(255, 255, 255); ++8: // 132 + color(255, 128, 0); ++8: // 140 + color(255, 255, 255); ++8: // 148 + color(255, 128, 0); ++8: // 156 + color(255, 255, 255); ++8: // 164 + color(255, 128, 0); ++8: // 172 + color(255, 255, 255); ++8: // 180 + color(255, 128, 0); ++8: // 188 + color(255, 255, 255); + alphaTime(10, 0, 0); ++10: // 198 + delete(); +} + + +script 45 script45 { + sprite(sprite25); + ins_85(1); + randMode(1); + anchor(1, 2); + type(1); + resampleMode(1); + layer(18); + pos(176.0, 368.0, 0.0); + posTime(30, 4, 48.0, 368.0, 0.0); + alpha(0); + alphaTime(30, 4, 255); + rotate(0.0, 0.0, 1.5707964); ++30: // 30 + stop(); + +interrupt[2]: + colorTime(30, 0, 255, 128, 128); + stop(); + +interrupt[3]: + colorTime(30, 0, 128, 128, 255); + stop(); + +interrupt[8]: + colorTime(30, 0, 0, 0, 255); + stop(); + +interrupt[1]: + posTime(30, 4, 48.0, 464.0, 0.0); ++30: // 60 + delete(); +} + + +script 46 script46 { + sprite(sprite39); + pos(36.0, 37.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + scaleTime(20, 4, 2.0, 2.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 47 script47 { + sprite(sprite39); + pos(46.0, 37.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + scaleTime(20, 4, 2.0, 2.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 48 script48 { + sprite(sprite39); + pos(56.0, 37.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + scaleTime(20, 4, 2.0, 2.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 49 script49 { + sprite(sprite39); + pos(66.0, 37.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + scaleTime(20, 4, 2.0, 2.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 50 script50 { + sprite(sprite39); + pos(76.0, 37.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + scaleTime(20, 4, 2.0, 2.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 51 script51 { + sprite(sprite39); + pos(86.0, 37.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + scaleTime(20, 4, 2.0, 2.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 52 script52 { + sprite(sprite39); + pos(96.0, 37.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + scaleTime(20, 4, 2.0, 2.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 53 script53 { + sprite(sprite39); + pos(106.0, 37.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + scaleTime(20, 4, 2.0, 2.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 54 script54 { + sprite(sprite39); + pos(116.0, 37.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + scaleTime(20, 4, 2.0, 2.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 55 script55 { + sprite(sprite39); + pos(126.0, 37.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + scaleTime(20, 4, 2.0, 2.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 56 script56 { + sprite(sprite39); + pos(136.0, 37.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + scaleTime(20, 4, 2.0, 2.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 57 script57 { + sprite(sprite48); + pos(376.0, 456.0, 0.0); + resampleMode(1); + anchor(0, 0); + alpha(0); + alphaTime(10, 0, 255); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); + stop(); + +interrupt[3]: + layer(18); + pos(224.0, 32.0, 0.0); ++4: // 4 + color(128, 128, 128); ++4: // 8 + color(255, 255, 255); ++4: // 12 + color(128, 128, 128); ++4: // 16 + color(255, 255, 255); ++4: // 20 + color(128, 128, 128); ++4: // 24 + color(255, 255, 255); ++4: // 28 + color(128, 128, 128); ++4: // 32 + color(255, 255, 255); ++4: // 36 + color(128, 128, 128); ++4: // 40 + color(255, 255, 255); ++4: // 44 + color(128, 128, 128); ++4: // 48 + color(255, 255, 255); ++4: // 52 + color(128, 128, 128); ++4: // 56 + color(255, 255, 255); ++4: // 60 + color(128, 128, 128); ++4: // 64 + color(255, 255, 255); ++90: // 154 + scaleTime(10, 4, 1.0, 0.0); ++10: // 164 + delete(); + alphaTime(8, 1, 32); + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); + scaleTime(10, 4, 1.0, 0.0); ++8: // 172 + delete(); +} + + +script 58 script58 { + sprite(sprite49); + pos(376.0, 456.0, 0.0); + resampleMode(1); + anchor(0, 0); + alpha(0); + alphaTime(10, 0, 255); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); + stop(); + +interrupt[3]: + layer(18); + pos(224.0, 32.0, 0.0); ++4: // 4 + color(128, 128, 128); ++4: // 8 + color(255, 255, 255); ++4: // 12 + color(128, 128, 128); ++4: // 16 + color(255, 255, 255); ++4: // 20 + color(128, 128, 128); ++4: // 24 + color(255, 255, 255); ++4: // 28 + color(128, 128, 128); ++4: // 32 + color(255, 255, 255); ++4: // 36 + color(128, 128, 128); ++4: // 40 + color(255, 255, 255); ++4: // 44 + color(128, 128, 128); ++4: // 48 + color(255, 255, 255); ++4: // 52 + color(128, 128, 128); ++4: // 56 + color(255, 255, 255); ++4: // 60 + color(128, 128, 128); ++4: // 64 + color(255, 255, 255); ++90: // 154 + scaleTime(10, 4, 1.0, 0.0); ++10: // 164 + delete(); + alphaTime(8, 1, 32); + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); + scaleTime(10, 4, 1.0, 0.0); ++8: // 172 + delete(); +} + + +script 59 script59 { + sprite(sprite50); + pos(376.0, 456.0, 0.0); + resampleMode(1); + anchor(0, 0); + alpha(0); + alphaTime(10, 0, 255); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); + stop(); + +interrupt[3]: + layer(18); + pos(224.0, 32.0, 0.0); ++4: // 4 + color(128, 128, 128); ++4: // 8 + color(255, 255, 255); ++4: // 12 + color(128, 128, 128); ++4: // 16 + color(255, 255, 255); ++4: // 20 + color(128, 128, 128); ++4: // 24 + color(255, 255, 255); ++4: // 28 + color(128, 128, 128); ++4: // 32 + color(255, 255, 255); ++4: // 36 + color(128, 128, 128); ++4: // 40 + color(255, 255, 255); ++4: // 44 + color(128, 128, 128); ++4: // 48 + color(255, 255, 255); ++4: // 52 + color(128, 128, 128); ++4: // 56 + color(255, 255, 255); ++4: // 60 + color(128, 128, 128); ++4: // 64 + color(255, 255, 255); ++90: // 154 + scaleTime(10, 4, 1.0, 0.0); ++10: // 164 + delete(); + alphaTime(8, 1, 32); + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); + scaleTime(10, 4, 1.0, 0.0); ++8: // 172 + delete(); +} + + +script 60 script60 { + sprite(sprite51); + pos(376.0, 456.0, 0.0); + resampleMode(1); + anchor(0, 0); + alpha(0); + alphaTime(10, 0, 255); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); + stop(); + +interrupt[3]: + layer(18); + pos(224.0, 32.0, 0.0); ++4: // 4 + color(128, 128, 128); ++4: // 8 + color(255, 255, 255); ++4: // 12 + color(128, 128, 128); ++4: // 16 + color(255, 255, 255); ++4: // 20 + color(128, 128, 128); ++4: // 24 + color(255, 255, 255); ++4: // 28 + color(128, 128, 128); ++4: // 32 + color(255, 255, 255); ++4: // 36 + color(128, 128, 128); ++4: // 40 + color(255, 255, 255); ++4: // 44 + color(128, 128, 128); ++4: // 48 + color(255, 255, 255); ++4: // 52 + color(128, 128, 128); ++4: // 56 + color(255, 255, 255); ++4: // 60 + color(128, 128, 128); ++4: // 64 + color(255, 255, 255); ++90: // 154 + scaleTime(10, 4, 1.0, 0.0); ++10: // 164 + delete(); + alphaTime(8, 1, 32); + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); + scaleTime(10, 4, 1.0, 0.0); ++8: // 172 + delete(); +} + + +script 61 script61 { + sprite(sprite52); + pos(376.0, 456.0, 0.0); + resampleMode(1); + anchor(0, 0); + alpha(0); + alphaTime(10, 0, 255); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); + stop(); + +interrupt[3]: + layer(18); + pos(224.0, 32.0, 0.0); ++4: // 4 + color(128, 128, 128); ++4: // 8 + color(255, 255, 255); ++4: // 12 + color(128, 128, 128); ++4: // 16 + color(255, 255, 255); ++4: // 20 + color(128, 128, 128); ++4: // 24 + color(255, 255, 255); ++4: // 28 + color(128, 128, 128); ++4: // 32 + color(255, 255, 255); ++4: // 36 + color(128, 128, 128); ++4: // 40 + color(255, 255, 255); ++4: // 44 + color(128, 128, 128); ++4: // 48 + color(255, 255, 255); ++4: // 52 + color(128, 128, 128); ++4: // 56 + color(255, 255, 255); ++4: // 60 + color(128, 128, 128); ++4: // 64 + color(255, 255, 255); ++90: // 154 + scaleTime(10, 4, 1.0, 0.0); ++10: // 164 + delete(); + alphaTime(8, 1, 32); + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); + scaleTime(10, 4, 1.0, 0.0); ++8: // 172 + delete(); +} + + +script 62 script62 { + sprite(sprite48); + pos(528.0, 32.0, 0.0); + layer(22); + resampleMode(1); + anchor(0, 0); + alpha(0); ++160: // 160 + alphaTime(20, 0, 255); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); + scaleTime(10, 4, 1.0, 0.0); ++8: // 168 + delete(); +} + + +script 63 script63 { + sprite(sprite49); + pos(528.0, 32.0, 0.0); + layer(22); + resampleMode(1); + anchor(0, 0); + alpha(0); ++160: // 160 + alphaTime(20, 0, 255); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); + scaleTime(10, 4, 1.0, 0.0); ++8: // 168 + delete(); +} + + +script 64 script64 { + sprite(sprite50); + pos(528.0, 32.0, 0.0); + layer(22); + resampleMode(1); + anchor(0, 0); + alpha(0); ++160: // 160 + alphaTime(20, 0, 255); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); + scaleTime(10, 4, 1.0, 0.0); ++8: // 168 + delete(); +} + + +script 65 script65 { + sprite(sprite51); + pos(528.0, 32.0, 0.0); + layer(22); + resampleMode(1); + anchor(0, 0); + alpha(0); ++160: // 160 + alphaTime(20, 0, 255); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); + scaleTime(10, 4, 1.0, 0.0); ++8: // 168 + delete(); +} + + +script 66 script66 { + sprite(sprite52); + pos(528.0, 32.0, 0.0); + layer(22); + resampleMode(1); + anchor(0, 0); + alpha(0); ++160: // 160 + alphaTime(20, 0, 255); + scale(1.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); + scaleTime(10, 4, 1.0, 0.0); ++8: // 168 + delete(); +} + + +script 67 script67 { + layer(19); + type(1); + sprite(sprite53); + resampleMode(1); + anchor(0, 0); + alpha(192); + color(255, 0, 0); ++2: // 2 + delete(); +} + + +script 68 script68 { + layer(19); + type(1); + sprite(sprite53); + resampleMode(1); + anchor(0, 1); + alpha(192); + color(255, 0, 0); ++2: // 2 + delete(); +} + + +script 69 script69 { + layer(19); + type(1); + sprite(sprite54); + resampleMode(1); + anchor(0, 0); + alpha(192); + color(255, 0, 0); ++2: // 2 + delete(); +} + + +script 70 script70 { + sprite(sprite55); + ins_85(1); + randMode(1); + resampleMode(1); + pos(224.0, 240.0, 0.0); + anchor(0, 0); + layer(22); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); ++20: // 80 + nop(); + loop { + alphaTime(30, 0, 128); ++30: // 110 + alphaTime(30, 0, 255); ++30: // 140 + } +} + + +script 71 script71 { + sprite(sprite56); + ins_85(1); + randMode(1); + resampleMode(1); + pos(154.0, 192.0, 0.0); + anchor(1, 1); + layer(18); + alpha(0); ++30: // 30 + alphaTime(20, 0, 255); ++110: // 140 + alphaTime(20, 0, 0); ++30: // 170 + delete(); +} + + +entry { + path: "front/front01.png", + img_width: 256, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite60: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite61: {x: 96.0, y: 16.0, w: 256.0, h: 448.0}, + }, +} + + +script 72 script72 { + sprite(sprite60); + resampleMode(1); + ins_85(1); + randMode(1); + color(255, 255, 255); + pos(224.0, 160.0, 0.0); + layer(16); + alpha(0); ++20: // 20 + alphaTime(20, 0, 255); ++20: // 40 + stop(); + +interrupt[1]: + alphaTime(60, 0, 255); ++60: // 100 + delete(); +} + + +script 73 script73 { + anchor(0, 1); + layer(27); + color(255, 32, 32); + pos(224.0, 16.0, 0.0); + scale(0.0, 1.0); + scaleTime(60, 0, 1.0, 1.0); + stop(); +} + + +entry { + path: "ascii/pause.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite62: {x: 0.0, y: 0.0, w: 48.0, h: 208.0}, + sprite63: {x: 48.0, y: 0.0, w: 68.0, h: 32.0}, + sprite64: {x: 116.0, y: 0.0, w: 68.0, h: 32.0}, + sprite65: {x: 184.0, y: 0.0, w: 68.0, h: 32.0}, + sprite66: {x: 48.0, y: 32.0, w: 144.0, h: 32.0}, + sprite67: {x: 48.0, y: 64.0, w: 112.0, h: 32.0}, + sprite68: {x: 160.0, y: 64.0, w: 64.0, h: 32.0}, + sprite69: {x: 48.0, y: 96.0, w: 128.0, h: 32.0}, + sprite70: {x: 176.0, y: 96.0, w: 64.0, h: 32.0}, + sprite71: {x: 48.0, y: 128.0, w: 176.0, h: 32.0}, + sprite72: {x: 48.0, y: 160.0, w: 144.0, h: 32.0}, + sprite73: {x: 48.0, y: 192.0, w: 144.0, h: 32.0}, + sprite74: {x: 0.0, y: 224.0, w: 128.0, h: 32.0}, + sprite75: {x: 128.0, y: 224.0, w: 128.0, h: 32.0}, + }, +} + + +script 74 script74 { + sprite(sprite62); + ins_85(1); + randMode(1); + pos(-24.0, 0.0, 0.0); + posTime(8, 4, 0.0, 0.0, 0.0); + anchor(0, 1); + layer(21); + color(32, 32, 255); + alphaTime(10, 0, 192); + stop(); + +interrupt[14]: + layer(23); + posTime(8, 4, 192.0, 0.0, 0.0); + colorTime(8, 4, 255, 32, 255); + stop(); + +interrupt[7]: +interrupt[8]: +interrupt[9]: +interrupt[10]: + alphaTime(10, 0, 192); + posTime(8, 4, 0.0, 0.0, 0.0); + colorTime(8, 4, 128, 128, 255); + caseReturn(); + +interrupt[1]: + posTime(8, 4, -24.0, 0.0, 0.0); + alphaTime(8, 0, 0); ++8: // 8 + delete(); +} + + +script 75 script75 { + sprite(sprite63); + ins_85(1); + randMode(1); + alpha(0); + alphaTime(8, 4, 255); + pos(0.0, 0.0, 0.0); + posTime(8, 4, 0.0, 12.0, 0.0); + anchor(0, 1); + layer(23); + stop(); + +interrupt[14]: + colorTime(10, 0, 32, 32, 32); + alphaTime(10, 0, 128); + stop(); + +interrupt[7]: +interrupt[8]: +interrupt[9]: +interrupt[10]: + alphaTime(10, 0, 255); + colorTime(10, 0, 255, 255, 255); + caseReturn(); + +interrupt[1]: + posTime(8, 4, 0.0, 0.0, 0.0); + alphaTime(8, 0, 0); ++8: // 8 + delete(); +} + + +script 76 script76 { + sprite(sprite65); + ins_85(1); + randMode(1); + alpha(0); + alphaTime(8, 4, 255); + pos(0.0, 0.0, 0.0); + posTime(8, 4, 0.0, 12.0, 0.0); + anchor(0, 1); + layer(23); + stop(); + +interrupt[14]: + colorTime(10, 0, 32, 32, 32); + alphaTime(10, 0, 128); + stop(); + +interrupt[7]: +interrupt[8]: +interrupt[9]: +interrupt[10]: + alphaTime(10, 0, 255); + colorTime(10, 0, 255, 255, 255); + caseReturn(); + +interrupt[1]: + posTime(8, 4, 0.0, 0.0, 0.0); + alphaTime(8, 0, 0); ++8: // 8 + delete(); +} + + +script 77 script77 { + sprite(sprite66); + ins_85(1); + randMode(1); + pos(24.0, 64.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 64.0, 0.0); + stop(); + +interrupt[7]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 64.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 64.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 64.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 64.0, 0.0); + +interrupt[17]: + posTime(4, 4, -8.0, 64.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 64.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 64.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 78 script78 { + sprite(sprite67); + ins_85(1); + randMode(1); + pos(24.0, 94.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 94.0, 0.0); + stop(); + +interrupt[8]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 94.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 94.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 94.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 94.0, 0.0); + +interrupt[18]: + posTime(4, 4, -8.0, 94.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 94.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 94.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 79 script79 { + sprite(sprite71); + ins_85(1); + randMode(1); + pos(24.0, 124.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 124.0, 0.0); + stop(); + +interrupt[9]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 124.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 124.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 124.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 124.0, 0.0); + +interrupt[19]: + posTime(4, 4, -8.0, 124.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 124.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 124.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 80 script80 { + sprite(sprite69); + ins_85(1); + randMode(1); + pos(24.0, 154.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 154.0, 0.0); + stop(); + +interrupt[10]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 154.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 154.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 154.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 154.0, 0.0); + +interrupt[20]: + posTime(4, 4, -8.0, 154.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 154.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 154.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 81 script81 { + sprite(sprite66); + ins_85(1); + randMode(1); + pos(24.0, 64.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 64.0, 0.0); + stop(); + +interrupt[7]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 64.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 64.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 64.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 64.0, 0.0); + +interrupt[17]: + posTime(4, 4, -8.0, 64.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 64.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 64.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 82 script82 { + sprite(sprite67); + ins_85(1); + randMode(1); + pos(24.0, 99.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 99.0, 0.0); + stop(); + +interrupt[8]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 99.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 99.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 99.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 99.0, 0.0); + +interrupt[18]: + posTime(4, 4, -8.0, 99.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 99.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 99.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 83 script83 { + sprite(sprite74); + ins_85(1); + randMode(1); + pos(24.0, 134.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 134.0, 0.0); + stop(); + +interrupt[10]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 134.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 134.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 134.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 134.0, 0.0); + +interrupt[20]: + posTime(4, 4, -8.0, 134.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 134.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 134.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 84 script84 { + sprite(sprite67); + ins_85(1); + randMode(1); + pos(24.0, 80.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 80.0, 0.0); + stop(); + +interrupt[8]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 80.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 80.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 80.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 80.0, 0.0); + +interrupt[18]: + posTime(4, 4, -8.0, 80.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 80.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 80.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 85 script85 { + sprite(sprite74); + ins_85(1); + randMode(1); + pos(24.0, 130.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 130.0, 0.0); + stop(); + +interrupt[10]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 130.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 130.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 130.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 130.0, 0.0); + +interrupt[20]: + posTime(4, 4, -8.0, 130.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 130.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 130.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 86 script86 { + sprite(sprite72); + ins_85(1); + randMode(1); + pos(160.0, 48.0, 0.0); + alpha(0); + alphaTime(8, 4, 255); + posTime(8, 4, 160.0, 60.0, 0.0); + anchor(1, 1); + layer(23); + stop(); + +interrupt[7]: +interrupt[8]: +interrupt[9]: +interrupt[10]: +interrupt[1]: + posTime(8, 4, 160.0, 48.0, 0.0); + alphaTime(8, 0, 0); ++8: // 8 + delete(); +} + + +script 87 script87 { + sprite(sprite68); + ins_85(1); + randMode(1); + pos(216.0, 98.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, 184.0, 98.0, 0.0); + stop(); + +interrupt[15]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, 180.0, 98.0, 0.0); ++2: // 2 + posTime(2, 4, 184.0, 98.0, 0.0); ++2: // 4 + posTime(2, 4, 177.0, 98.0, 0.0); ++2: // 6 + posTime(2, 4, 180.0, 98.0, 0.0); + +interrupt[25]: + posTime(4, 4, 184.0, 98.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, 184.0, 98.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 216.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[7]: +interrupt[8]: +interrupt[9]: +interrupt[10]: +interrupt[1]: + posTime(10, 4, 216.0, 98.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); +} + + +script 88 script88 { + sprite(sprite70); + ins_85(1); + randMode(1); + pos(216.0, 128.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, 184.0, 128.0, 0.0); + stop(); + +interrupt[16]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, 180.0, 128.0, 0.0); ++2: // 2 + posTime(2, 4, 184.0, 128.0, 0.0); ++2: // 4 + posTime(2, 4, 177.0, 128.0, 0.0); ++2: // 6 + posTime(2, 4, 180.0, 128.0, 0.0); + +interrupt[26]: + posTime(4, 4, 184.0, 128.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, 184.0, 128.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 216.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[7]: +interrupt[8]: +interrupt[9]: +interrupt[10]: +interrupt[1]: + posTime(10, 4, 216.0, 128.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); +} + + +script 89 script89 { + layer(23); + alpha(0); + pos(80.0, 208.0, 0.0); + scriptNewUI(script74); + scriptNewUI(script75); + scriptNewUI(script77); + scriptNewUI(script78); + scriptNewUI(script79); + scriptNewUI(script80); + stop(); + +interrupt[14]: + scriptNewUI(script86); + scriptNewUI(script87); + scriptNewUI(script88); + stop(); +} + + +script 90 script90 { + layer(23); + alpha(0); + pos(80.0, 208.0, 0.0); + scriptNewUI(script74); + scriptNewUI(script75); + scriptNewUI(script81); + scriptNewUI(script82); + scriptNewUI(script83); + stop(); + +interrupt[14]: + scriptNewUI(script86); + scriptNewUI(script87); + scriptNewUI(script88); + stop(); +} + + +script 91 script91 { + layer(23); + alpha(0); + pos(80.0, 208.0, 0.0); + scriptNewUI(script74); + scriptNewUI(script76); + scriptNewUI(script84); + scriptNewUI(script85); + stop(); + +interrupt[14]: + scriptNewUI(script86); + scriptNewUI(script87); + scriptNewUI(script88); + stop(); +} + + +script 92 script92 { + sprite(sprite62); + ins_85(1); + randMode(1); + pos(-24.0, 0.0, 0.0); + posTime(8, 4, 0.0, 0.0, 0.0); + anchor(0, 1); + layer(21); + color(255, 32, 32); + alphaTime(10, 0, 192); + stop(); + +interrupt[14]: + layer(23); + posTime(8, 4, 192.0, 0.0, 0.0); + colorTime(8, 4, 255, 32, 255); + stop(); + +interrupt[7]: +interrupt[8]: +interrupt[9]: +interrupt[10]: + alphaTime(10, 0, 192); + posTime(8, 4, 0.0, 0.0, 0.0); + color(255, 32, 32); + caseReturn(); + +interrupt[1]: + posTime(8, 4, -24.0, 0.0, 0.0); + alphaTime(8, 0, 0); ++8: // 8 + delete(); +} + + +script 93 script93 { + sprite(sprite64); + ins_85(1); + randMode(1); + pos(224.0, 224.0, 0.0); + anchor(0, 1); + layer(23); + alpha(0); + alphaTime(8, 4, 255); + pos(0.0, 0.0, 0.0); + posTime(8, 4, 0.0, 12.0, 0.0); + color(255, 255, 255); + +interrupt[2]: + posTime(8, 4, 0.0, 12.0, 0.0); + stop(); + +interrupt[1]: + posTime(8, 4, 0.0, 0.0, 0.0); + alphaTime(8, 0, 0); ++10: // 10 + delete(); +} + + +script 94 script94 { + sprite(sprite75); + ins_85(1); + randMode(1); + pos(24.0, 64.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 64.0, 0.0); + stop(); + +interrupt[7]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 64.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 64.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 64.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 64.0, 0.0); + +interrupt[17]: + posTime(4, 4, -8.0, 64.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 64.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 64.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 95 script95 { + sprite(sprite67); + ins_85(1); + randMode(1); + pos(24.0, 94.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 94.0, 0.0); + stop(); + +interrupt[8]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 94.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 94.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 94.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 94.0, 0.0); + +interrupt[18]: + posTime(4, 4, -8.0, 94.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 94.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 94.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 96 script96 { + sprite(sprite73); + ins_85(1); + randMode(1); + pos(24.0, 124.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 124.0, 0.0); + stop(); + +interrupt[9]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 124.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 124.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 124.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 124.0, 0.0); + +interrupt[19]: + posTime(4, 4, -8.0, 124.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 124.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 124.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 97 script97 { + sprite(sprite69); + ins_85(1); + randMode(1); + pos(24.0, 154.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 154.0, 0.0); + stop(); + +interrupt[10]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 154.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 154.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 154.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 154.0, 0.0); + +interrupt[20]: + posTime(4, 4, -8.0, 154.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 154.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 154.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 98 script98 { + layer(23); + alpha(0); + pos(80.0, 208.0, 0.0); + scriptNewUI(script92); + scriptNewUI(script93); + +interrupt[2]: + scriptNewUI(script94); + scriptNewUI(script96); + scriptNewUI(script95); + scriptNewUI(script97); + stop(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 10 + delete(); +} + + +script 99 script99 { + layer(23); + alpha(0); + pos(80.0, 208.0, 0.0); + +interrupt[2]: + scriptNewUI(script97); + scriptNewUI(script96); + scriptNewUI(script95); + stop(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 10 + delete(); +} + + +script 100 script100 { + sprite(sprite67); + ins_85(1); + randMode(1); + pos(24.0, 64.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 64.0, 0.0); + stop(); + +interrupt[7]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 64.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 64.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 64.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 64.0, 0.0); + +interrupt[17]: + posTime(4, 4, -8.0, 64.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 64.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 64.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 101 script101 { + sprite(sprite73); + ins_85(1); + randMode(1); + pos(24.0, 99.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 99.0, 0.0); + stop(); + +interrupt[8]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 99.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 99.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 99.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 99.0, 0.0); + +interrupt[18]: + posTime(4, 4, -8.0, 99.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 99.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 99.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 102 script102 { + sprite(sprite69); + ins_85(1); + randMode(1); + pos(24.0, 134.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(64, 64, 64); + posTime(8, 4, -8.0, 134.0, 0.0); + stop(); + +interrupt[9]: + color(255, 192, 192); + alphaTime(5, 4, 255); + posTime(2, 4, -12.0, 134.0, 0.0); ++2: // 2 + posTime(2, 4, -8.0, 134.0, 0.0); ++2: // 4 + posTime(2, 4, -15.0, 134.0, 0.0); ++2: // 6 + posTime(2, 4, -12.0, 134.0, 0.0); + +interrupt[19]: + posTime(4, 4, -8.0, 134.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(40, 9, 255, 128, 128); ++40: // 46 + colorTime(40, 9, 255, 255, 255); ++40: // 86 + } + stop(); + +interrupt[-1]: +interrupt[3]: + posTime(5, 4, -8.0, 134.0, 0.0); + alphaTime(5, 4, 255); + colorTime(5, 9, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); ++2: // 102 + color(64, 64, 64); ++2: // 104 + color(255, 255, 255); ++2: // 106 + color(64, 64, 64); ++2: // 108 + color(255, 255, 255); ++2: // 110 + color(64, 64, 64); ++2: // 112 + color(255, 255, 255); ++2: // 114 + color(64, 64, 64); ++2: // 116 + color(255, 255, 255); + posTime(10, 4, 24.0, 160.0, 0.0); ++10: // 126 + stop(); + +interrupt[1]: + posTime(10, 4, 24.0, 134.0, 0.0); + alphaTime(10, 0, 0); ++10: // 136 + delete(); + +interrupt[14]: +interrupt[15]: +interrupt[16]: + alphaTime(10, 0, 64); ++10: // 146 + stop(); +} + + +script 103 script103 { + layer(23); + alpha(0); + pos(80.0, 208.0, 0.0); + scriptNewUI(script92); + +interrupt[2]: + scriptNewUI(script100); + scriptNewUI(script101); + scriptNewUI(script102); + stop(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 10 + delete(); +} + + +script 104 script104 { + layer(23); + alpha(0); + pos(80.0, 208.0, 0.0); + scriptNewUI(script92); + scriptNewUI(script93); + +interrupt[2]: + scriptNewUI(script100); + scriptNewUI(script101); + scriptNewUI(script102); + stop(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 10 + delete(); +} + + +entry { + path: "front/ename.png", + img_width: 128, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite76: {x: 0.0, y: 0.0, w: 128.0, h: 16.0}, + sprite77: {x: 0.0, y: 16.0, w: 128.0, h: 16.0}, + sprite78: {x: 0.0, y: 32.0, w: 128.0, h: 16.0}, + sprite79: {x: 0.0, y: 48.0, w: 128.0, h: 16.0}, + sprite80: {x: 0.0, y: 64.0, w: 128.0, h: 16.0}, + sprite81: {x: 0.0, y: 80.0, w: 128.0, h: 16.0}, + sprite82: {x: 0.0, y: 96.0, w: 128.0, h: 16.0}, + sprite83: {x: 0.0, y: 112.0, w: 128.0, h: 16.0}, + sprite84: {x: 0.0, y: 128.0, w: 128.0, h: 16.0}, + sprite85: {x: 0.0, y: 144.0, w: 128.0, h: 16.0}, + sprite86: {x: 0.0, y: 160.0, w: 128.0, h: 16.0}, + sprite87: {x: 0.0, y: 176.0, w: 128.0, h: 16.0}, + sprite88: {x: 0.0, y: 192.0, w: 128.0, h: 16.0}, + sprite89: {x: 0.0, y: 208.0, w: 128.0, h: 16.0}, + sprite90: {x: 0.0, y: 224.0, w: 128.0, h: 16.0}, + sprite91: {x: 0.0, y: 240.0, w: 128.0, h: 16.0}, + }, +} + + +script 105 script105 { + sprite(sprite76); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 106 script106 { + sprite(sprite77); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 107 script107 { + sprite(sprite78); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 108 script108 { + sprite(sprite79); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 109 script109 { + sprite(sprite80); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 110 script110 { + sprite(sprite81); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 111 script111 { + sprite(sprite82); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 112 script112 { + sprite(sprite83); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 113 script113 { + sprite(sprite84); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 114 script114 { + sprite(sprite85); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 115 script115 { + sprite(sprite86); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 116 script116 { + sprite(sprite87); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 117 script117 { + sprite(sprite88); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 118 script118 { + sprite(sprite89); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 119 script119 { + sprite(sprite90); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} + + +script 120 script120 { + sprite(sprite91); + pos(36.0, 28.0, 0.0); + resampleMode(1); + anchor(1, 1); + layer(16); + alpha(0); ++60: // 60 + alphaTime(20, 0, 255); + stop(); + +interrupt[3]: + alphaTime(8, 1, 32); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + alphaTime(8, 1, 0); ++8: // 68 + delete(); +} diff --git a/research/pl00.raw.tanm b/research/pl00.raw.tanm new file mode 100644 index 0000000..3f65565 --- /dev/null +++ b/research/pl00.raw.tanm @@ -0,0 +1,1737 @@ +entry { + path: "player/pl00/pl00.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 1.0, y: 1.0, w: 30.0, h: 46.0}, + sprite1: {x: 33.0, y: 1.0, w: 30.0, h: 46.0}, + sprite2: {x: 65.0, y: 1.0, w: 30.0, h: 46.0}, + sprite3: {x: 97.0, y: 1.0, w: 30.0, h: 46.0}, + sprite4: {x: 129.0, y: 1.0, w: 30.0, h: 46.0}, + sprite5: {x: 161.0, y: 1.0, w: 30.0, h: 46.0}, + sprite6: {x: 193.0, y: 1.0, w: 30.0, h: 46.0}, + sprite7: {x: 225.0, y: 1.0, w: 30.0, h: 46.0}, + sprite8: {x: 1.0, y: 49.0, w: 30.0, h: 46.0}, + sprite9: {x: 33.0, y: 49.0, w: 30.0, h: 46.0}, + sprite10: {x: 65.0, y: 49.0, w: 30.0, h: 46.0}, + sprite11: {x: 97.0, y: 49.0, w: 30.0, h: 46.0}, + sprite12: {x: 129.0, y: 49.0, w: 30.0, h: 46.0}, + sprite13: {x: 161.0, y: 49.0, w: 30.0, h: 46.0}, + sprite14: {x: 193.0, y: 49.0, w: 30.0, h: 46.0}, + sprite15: {x: 225.0, y: 49.0, w: 30.0, h: 46.0}, + sprite16: {x: 1.0, y: 97.0, w: 30.0, h: 46.0}, + sprite17: {x: 33.0, y: 97.0, w: 30.0, h: 46.0}, + sprite18: {x: 65.0, y: 97.0, w: 30.0, h: 46.0}, + sprite19: {x: 97.0, y: 97.0, w: 30.0, h: 46.0}, + sprite20: {x: 129.0, y: 97.0, w: 30.0, h: 46.0}, + sprite21: {x: 161.0, y: 97.0, w: 30.0, h: 46.0}, + sprite22: {x: 193.0, y: 97.0, w: 30.0, h: 46.0}, + sprite23: {x: 225.0, y: 97.0, w: 30.0, h: 46.0}, + sprite24: {x: 0.0, y: 176.0, w: 64.0, h: 16.0}, + sprite25: {x: 16.0, y: 144.0, w: 16.0, h: 16.0}, + sprite26: {x: 32.0, y: 144.0, w: 16.0, h: 16.0}, + sprite27: {x: 48.0, y: 144.0, w: 16.0, h: 16.0}, + sprite28: {x: 64.0, y: 176.0, w: 64.0, h: 8.0}, + sprite29: {x: 0.0, y: 192.0, w: 32.0, h: 32.0}, + sprite30: {x: 32.0, y: 192.0, w: 32.0, h: 32.0}, + sprite31: {x: 64.0, y: 192.0, w: 48.0, h: 32.0}, + sprite32: {x: 112.0, y: 192.0, w: 48.0, h: 32.0}, + sprite33: {x: 64.0, y: 144.0, w: 16.0, h: 16.0}, + sprite34: {x: 80.0, y: 144.0, w: 16.0, h: 16.0}, + sprite35: {x: 96.0, y: 144.0, w: 16.0, h: 16.0}, + }, +} + + +script 0 script0 { + ins_3(@blob="00000000"); ++5: // 5 + ins_3(@blob="01000000"); ++5: // 10 + ins_3(@blob="02000000"); ++5: // 15 + ins_3(@blob="03000000"); ++5: // 20 + ins_3(@blob="04000000"); ++5: // 25 + ins_3(@blob="05000000"); ++5: // 30 + ins_3(@blob="06000000"); ++5: // 35 + ins_3(@blob="07000000"); ++5: // 40 + ins_4(@blob="00000000 00000000"); +} + + +script 1 script1 { + ins_3(@blob="08000000"); ++1: // 1 + ins_3(@blob="09000000"); ++1: // 2 + ins_3(@blob="0a000000"); ++1: // 3 + ins_3(@blob="0b000000"); ++1: // 4 + ins_3(@blob="0c000000"); ++5: // 9 + ins_3(@blob="0d000000"); ++5: // 14 + ins_3(@blob="0e000000"); ++5: // 19 + ins_3(@blob="0f000000"); ++4: // 23 + ins_4(@blob="30000000 03000000"); +} + + +script 2 script2 { + ins_3(@blob="0b000000"); ++1: // 1 + ins_3(@blob="0a000000"); ++1: // 2 + ins_3(@blob="09000000"); ++1: // 3 + ins_3(@blob="08000000"); + ins_3(@blob="00000000"); ++5: // 8 + ins_3(@blob="01000000"); ++5: // 13 + ins_3(@blob="02000000"); ++5: // 18 + ins_3(@blob="03000000"); ++5: // 23 + ins_3(@blob="04000000"); ++5: // 28 + ins_3(@blob="05000000"); ++5: // 33 + ins_3(@blob="06000000"); ++5: // 38 + ins_3(@blob="07000000"); ++5: // 43 + ins_4(@blob="30000000 03000000"); +} + + +script 3 script3 { + ins_3(@blob="10000000"); ++1: // 1 + ins_3(@blob="11000000"); ++1: // 2 + ins_3(@blob="12000000"); ++1: // 3 + ins_3(@blob="13000000"); ++1: // 4 + ins_3(@blob="14000000"); ++5: // 9 + ins_3(@blob="15000000"); ++5: // 14 + ins_3(@blob="16000000"); ++5: // 19 + ins_3(@blob="17000000"); ++4: // 23 + ins_4(@blob="3c000000 04000000"); +} + + +script 4 script4 { + ins_3(@blob="13000000"); ++1: // 1 + ins_3(@blob="12000000"); ++1: // 2 + ins_3(@blob="11000000"); ++1: // 3 + ins_3(@blob="10000000"); + ins_3(@blob="00000000"); ++5: // 8 + ins_3(@blob="01000000"); ++5: // 13 + ins_3(@blob="02000000"); ++5: // 18 + ins_3(@blob="03000000"); ++5: // 23 + ins_3(@blob="04000000"); ++5: // 28 + ins_3(@blob="05000000"); ++5: // 33 + ins_3(@blob="06000000"); ++5: // 38 + ins_3(@blob="07000000"); ++5: // 43 + ins_4(@blob="30000000 03000000"); +} + + +script 5 script5 { + ins_68(@blob="0a000000"); + ins_3(@blob="18000000"); + ins_67(@blob="01000000"); + ins_51(@blob="80000000"); + ins_73(@blob="01000000"); + ins_82(@blob="01000000"); ++10000: // 10000 + ins_2(@blob=""); +} + + +script 6 script6 { + ins_68(@blob="0a000000"); + ins_53(@blob="00000000 00000000 cdcc4c3e"); + ins_51(@blob="c0000000"); + ins_58(@blob="1e000000 00000000 00000000"); + ins_66(@blob="01000000"); + ins_67(@blob="01000000"); + ins_3(@blob="19000000"); ++10: // 10 + ins_3(@blob="1a000000"); ++10: // 20 + ins_3(@blob="1b000000"); ++10: // 30 + ins_1(@blob=""); +} + + +script 7 script7 { + ins_68(@blob="0a000000"); + ins_3(@blob="1c000000"); + ins_67(@blob="01000000"); + ins_51(@blob="80000000"); + ins_73(@blob="01000000"); + ins_82(@blob="01000000"); ++10000: // 10000 + ins_2(@blob=""); +} + + +script 8 script8 { + ins_68(@blob="0a000000"); + ins_25(@mask=0b11, @blob="00501c46 00681c46 00008041"); + ins_53(@mask=0b100, @blob="00000000 00000000 00501c46"); + ins_82(@blob="01000000"); + ins_3(@blob="1c000000"); + ins_67(@blob="01000000"); + ins_66(@blob="01000000"); + ins_51(@blob="c0000000"); ++10: // 10 + ins_58(@blob="0a000000 00000000 00000000"); ++10: // 20 + ins_1(@blob=""); +} + + +script 9 script9 { + ins_68(@blob="0a000000"); + ins_66(@blob="01000000"); + ins_3(@blob="1d000000"); + ins_67(@blob="01000000"); + ins_51(@blob="ff000000"); + ins_73(@blob="01000000"); + ins_95(@blob="0b000000"); ++2: // 2 + ins_4(@blob="48000000 00000000"); ++9998: // 10000 + ins_2(@blob=""); +} + + +script 10 script10 { + ins_68(@blob="0a000000"); + ins_82(@blob="01000000"); + ins_3(@blob="1d000000"); + ins_60(@blob="14000000 01000000 00008040 00008040"); + ins_67(@blob="01000000"); + ins_66(@blob="01000000"); + ins_51(@blob="c0000000"); ++10: // 10 + ins_58(@blob="0a000000 00000000 00000000"); ++10: // 20 + ins_1(@blob=""); +} + + +script 11 script11 { + ins_68(@blob="0a000000"); + ins_66(@blob="01000000"); + ins_3(@blob="1e000000"); + ins_67(@blob="01000000"); + ins_51(@blob="40000000"); + ins_49(@mask=0b100, @blob="00000000 00000000 00681c46"); + ins_73(@blob="01000000"); + ins_60(@blob="0a000000 01000000 00002040 00002040"); + ins_58(@blob="0a000000 01000000 00000000"); ++10: // 10 + ins_1(@blob=""); +} + + +script 12 script12 { + ins_68(@blob="0a000000"); + ins_82(@blob="01000000"); + ins_3(@blob="1e000000"); + ins_60(@blob="14000000 01000000 0000c040 0000c040"); + ins_49(@mask=0b100, @blob="00000000 00000000 00681c46"); + ins_67(@blob="01000000"); + ins_66(@blob="01000000"); + ins_51(@blob="c0000000"); ++10: // 10 + ins_58(@blob="0a000000 00000000 00000000"); ++10: // 20 + ins_1(@blob=""); +} + + +script 13 script13 { + ins_68(@blob="0a000000"); + ins_66(@blob="01000000"); + ins_3(@blob="1d000000"); + ins_67(@blob="01000000"); + ins_51(@blob="ff000000"); + ins_73(@blob="01000000"); + ins_95(@blob="0b000000"); ++3: // 3 + ins_4(@blob="48000000 00000000"); ++9997: // 10000 + ins_2(@blob=""); +} + + +script 14 script14 { + ins_68(@blob="0a000000"); + ins_82(@blob="01000000"); + ins_3(@blob="1d000000"); + ins_60(@blob="14000000 01000000 00008040 00008040"); + ins_67(@blob="01000000"); + ins_66(@blob="01000000"); + ins_51(@blob="c0000000"); ++10: // 10 + ins_58(@blob="0a000000 00000000 00000000"); ++10: // 20 + ins_1(@blob=""); +} + + +script 15 script15 { + ins_68(@blob="0a000000"); + ins_3(@blob="1f000000"); + ins_67(@blob="01000000"); + ins_66(@blob="01000000"); + ins_51(@blob="c0000000"); + ins_73(@blob="01000000"); + ins_82(@blob="01000000"); ++10000: // 10000 + ins_2(@blob=""); +} + + +script 16 script16 { + ins_68(@blob="0a000000"); + ins_82(@blob="01000000"); + ins_3(@blob="1f000000"); + ins_60(@blob="14000000 01000000 00008040 00000000"); + ins_67(@blob="01000000"); + ins_66(@blob="01000000"); + ins_51(@blob="c0000000"); ++10: // 10 + ins_58(@blob="0a000000 00000000 00000000"); ++10: // 20 + ins_1(@blob=""); +} + + +script 17 script17 { + ins_68(@blob="0a000000"); + ins_3(@blob="20000000"); + ins_67(@blob="01000000"); + ins_66(@blob="01000000"); + ins_51(@blob="ff000000"); + ins_73(@blob="01000000"); + ins_82(@blob="01000000"); ++10000: // 10000 + ins_2(@blob=""); +} + + +script 18 script18 { + ins_68(@blob="0a000000"); + ins_82(@blob="01000000"); + ins_3(@blob="20000000"); + ins_60(@blob="14000000 01000000 00008040 00000000"); + ins_67(@blob="01000000"); + ins_66(@blob="01000000"); + ins_51(@blob="c0000000"); ++10: // 10 + ins_58(@blob="0a000000 00000000 00000000"); ++10: // 20 + ins_1(@blob=""); +} + + +script 19 script19 { + ins_68(@blob="05000000"); + ins_67(@blob="00000000"); + ins_3(@blob="00000000"); + ins_66(@blob="01000000"); + ins_52(@blob="ff000000 40000000 40000000"); + ins_57(@blob="0f000000 00000000 40000000 40000000 ff000000"); + ins_58(@blob="80000000 00000000 00000000"); + ins_58(@blob="0f000000 00000000 00000000"); ++15: // 15 + ins_1(@blob=""); +} + + +script 20 script20 { + ins_68(@blob="0a000000"); + ins_66(@blob="01000000"); + ins_67(@blob="01000000"); + ins_64(@blob="02000000"); + ins_50(@blob="00000000 00000000"); + ins_60(@blob="0a000000 04000000 3333b33f 3333b33f"); + ins_3(@blob="23000000"); + ins_53(@blob="00000000 00000000 7cd9a03e"); ++10: // 10 + ins_60(@blob="06000000 01000000 0000803f 0000803f"); ++6: // 16 + ins_53(@blob="00000000 00000000 5077d63d"); + ins_66(@blob="00000000"); + ins_63(@blob=""); + ins_64(@blob="03000000"); + ins_60(@blob="14000000 04000000 00000000 00000000"); ++20: // 36 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_66(@blob="01000000"); + ins_60(@blob="14000000 04000000 00000000 00004040"); ++20: // 56 + ins_1(@blob=""); +} + + +script 21 script21 { + ins_68(@blob="0a000000"); + ins_66(@blob="01000000"); + ins_67(@blob="01000000"); + ins_64(@blob="02000000"); + ins_50(@blob="00000000 00000000"); + ins_60(@blob="0a000000 04000000 3333b33f 3333b33f"); + ins_3(@blob="21000000"); + ins_53(@blob="00000000 00000000 7cd9a03e"); ++10: // 10 + ins_60(@blob="06000000 01000000 0000803f 0000803f"); ++6: // 16 + ins_53(@blob="00000000 00000000 5077d63d"); + ins_66(@blob="00000000"); + ins_63(@blob=""); + ins_64(@blob="03000000"); + ins_60(@blob="14000000 04000000 00000000 00000000"); ++20: // 36 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_66(@blob="01000000"); + ins_60(@blob="14000000 04000000 00000000 00004040"); ++20: // 56 + ins_1(@blob=""); +} + + +script 22 script22 { + ins_68(@blob="0a000000"); + ins_66(@blob="01000000"); + ins_67(@blob="01000000"); + ins_64(@blob="02000000"); + ins_50(@blob="00000000 00000000"); + ins_60(@blob="0a000000 04000000 3333b33f 3333b33f"); + ins_3(@blob="22000000"); + ins_53(@blob="00000000 00000000 7cd9a03e"); ++10: // 10 + ins_60(@blob="06000000 01000000 0000803f 0000803f"); ++6: // 16 + ins_53(@blob="00000000 00000000 5077d63d"); + ins_66(@blob="00000000"); + ins_63(@blob=""); + ins_64(@blob="03000000"); + ins_60(@blob="14000000 04000000 00000000 00000000"); ++20: // 36 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_66(@blob="01000000"); + ins_60(@blob="14000000 04000000 00000000 00004040"); ++20: // 56 + ins_1(@blob=""); +} + + +script 23 script23 { + ins_68(@blob="0a000000"); + ins_67(@blob="01000000"); + ins_66(@blob="01000000"); + ins_51(@blob="00000000"); + ins_64(@blob="02000000"); + ins_3(@blob="23000000"); + ins_60(@blob="0a000000 00000000 0000c03f 0000c03f"); + ins_58(@blob="0a000000 00000000 80000000"); + ins_53(@blob="00000000 00000000 5077d6bd"); + ins_63(@blob=""); + ins_64(@blob="03000000"); + ins_60(@blob="14000000 04000000 00000000 00000000"); ++20: // 20 + ins_63(@blob=""); + ins_64(@blob="01000000"); ++10: // 30 + ins_1(@blob=""); +} + + +script 24 script24 { + ins_68(@blob="0a000000"); + ins_67(@blob="01000000"); + ins_66(@blob="01000000"); + ins_51(@blob="00000000"); + ins_64(@blob="02000000"); + ins_3(@blob="21000000"); + ins_60(@blob="0a000000 00000000 0000c03f 0000c03f"); + ins_58(@blob="0a000000 00000000 80000000"); + ins_53(@blob="00000000 00000000 5077d6bd"); + ins_63(@blob=""); + ins_64(@blob="03000000"); + ins_60(@blob="14000000 04000000 00000000 00000000"); ++20: // 20 + ins_63(@blob=""); + ins_64(@blob="01000000"); ++10: // 30 + ins_1(@blob=""); +} + + +script 25 script25 { + ins_68(@blob="0a000000"); + ins_67(@blob="01000000"); + ins_66(@blob="01000000"); + ins_51(@blob="00000000"); + ins_64(@blob="02000000"); + ins_3(@blob="22000000"); + ins_60(@blob="0a000000 00000000 0000c03f 0000c03f"); + ins_58(@blob="0a000000 00000000 80000000"); + ins_53(@blob="00000000 00000000 5077d6bd"); + ins_63(@blob=""); + ins_64(@blob="03000000"); + ins_60(@blob="14000000 04000000 00000000 00000000"); ++20: // 20 + ins_63(@blob=""); + ins_64(@blob="01000000"); ++10: // 30 + ins_1(@blob=""); +} + + +entry { + path: "player/pl00/pl00b.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: { + sprite36: {x: 1.0, y: 1.0, w: 30.0, h: 46.0}, + sprite37: {x: 33.0, y: 1.0, w: 30.0, h: 46.0}, + sprite38: {x: 65.0, y: 1.0, w: 30.0, h: 46.0}, + sprite39: {x: 97.0, y: 1.0, w: 30.0, h: 46.0}, + sprite40: {x: 129.0, y: 1.0, w: 30.0, h: 46.0}, + sprite41: {x: 161.0, y: 1.0, w: 30.0, h: 46.0}, + sprite42: {x: 193.0, y: 1.0, w: 30.0, h: 46.0}, + sprite43: {x: 225.0, y: 1.0, w: 30.0, h: 46.0}, + sprite44: {x: 1.0, y: 49.0, w: 30.0, h: 46.0}, + sprite45: {x: 33.0, y: 49.0, w: 30.0, h: 46.0}, + sprite46: {x: 65.0, y: 49.0, w: 30.0, h: 46.0}, + sprite47: {x: 97.0, y: 49.0, w: 30.0, h: 46.0}, + sprite48: {x: 129.0, y: 49.0, w: 30.0, h: 46.0}, + sprite49: {x: 161.0, y: 49.0, w: 30.0, h: 46.0}, + sprite50: {x: 193.0, y: 49.0, w: 30.0, h: 46.0}, + sprite51: {x: 225.0, y: 49.0, w: 30.0, h: 46.0}, + sprite52: {x: 1.0, y: 97.0, w: 30.0, h: 46.0}, + sprite53: {x: 33.0, y: 97.0, w: 30.0, h: 46.0}, + sprite54: {x: 65.0, y: 97.0, w: 30.0, h: 46.0}, + sprite55: {x: 97.0, y: 97.0, w: 30.0, h: 46.0}, + sprite56: {x: 129.0, y: 97.0, w: 30.0, h: 46.0}, + sprite57: {x: 161.0, y: 97.0, w: 30.0, h: 46.0}, + sprite58: {x: 193.0, y: 97.0, w: 30.0, h: 46.0}, + sprite59: {x: 225.0, y: 97.0, w: 30.0, h: 46.0}, + sprite60: {x: 1.0, y: 193.0, w: 62.0, h: 62.0}, + }, +} + + +script 26 script26 { + ins_3(@blob="24000000"); ++5: // 5 + ins_3(@blob="25000000"); ++5: // 10 + ins_3(@blob="26000000"); ++5: // 15 + ins_3(@blob="27000000"); ++5: // 20 + ins_3(@blob="28000000"); ++5: // 25 + ins_3(@blob="29000000"); ++5: // 30 + ins_3(@blob="2a000000"); ++5: // 35 + ins_3(@blob="2b000000"); ++5: // 40 + ins_4(@blob="00000000 00000000"); +} + + +script 27 script27 { + ins_3(@blob="2c000000"); ++1: // 1 + ins_3(@blob="2d000000"); ++1: // 2 + ins_3(@blob="2e000000"); ++1: // 3 + ins_3(@blob="2f000000"); ++1: // 4 + ins_3(@blob="30000000"); ++5: // 9 + ins_3(@blob="31000000"); ++5: // 14 + ins_3(@blob="32000000"); ++5: // 19 + ins_3(@blob="33000000"); ++4: // 23 + ins_4(@blob="30000000 03000000"); +} + + +script 28 script28 { + ins_3(@blob="2f000000"); ++1: // 1 + ins_3(@blob="2e000000"); ++1: // 2 + ins_3(@blob="2d000000"); ++1: // 3 + ins_3(@blob="2c000000"); + ins_3(@blob="24000000"); ++5: // 8 + ins_3(@blob="25000000"); ++5: // 13 + ins_3(@blob="26000000"); ++5: // 18 + ins_3(@blob="27000000"); ++5: // 23 + ins_3(@blob="28000000"); ++5: // 28 + ins_3(@blob="29000000"); ++5: // 33 + ins_3(@blob="2a000000"); ++5: // 38 + ins_3(@blob="2b000000"); ++5: // 43 + ins_4(@blob="30000000 03000000"); +} + + +script 29 script29 { + ins_3(@blob="34000000"); ++1: // 1 + ins_3(@blob="35000000"); ++1: // 2 + ins_3(@blob="36000000"); ++1: // 3 + ins_3(@blob="37000000"); ++1: // 4 + ins_3(@blob="38000000"); ++5: // 9 + ins_3(@blob="39000000"); ++5: // 14 + ins_3(@blob="3a000000"); ++5: // 19 + ins_3(@blob="3b000000"); ++4: // 23 + ins_4(@blob="3c000000 04000000"); +} + + +script 30 script30 { + ins_3(@blob="37000000"); ++1: // 1 + ins_3(@blob="36000000"); ++1: // 2 + ins_3(@blob="35000000"); ++1: // 3 + ins_3(@blob="34000000"); + ins_3(@blob="24000000"); ++5: // 8 + ins_3(@blob="25000000"); ++5: // 13 + ins_3(@blob="26000000"); ++5: // 18 + ins_3(@blob="27000000"); ++5: // 23 + ins_3(@blob="28000000"); ++5: // 28 + ins_3(@blob="29000000"); ++5: // 33 + ins_3(@blob="2a000000"); ++5: // 38 + ins_3(@blob="2b000000"); ++5: // 43 + ins_4(@blob="30000000 03000000"); +} + + +script 31 script31 { + ins_3(@blob="3c000000"); + ins_68(@blob="0a000000"); + ins_67(@blob="01000000"); + ins_50(@blob="9a99993e 9a99993e"); + ins_49(@blob="00000000 00000000 00000000"); + ins_53(@blob="00000000 00000000 5077563d"); + ins_60(@blob="14000000 09000000 cdcc8c3f cdcc8c3f"); ++20: // 20 + ins_60(@blob="14000000 09000000 0000803f 0000803f"); ++20: // 40 + ins_4(@blob="5c000000 00000000"); + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_60(@blob="08000000 04000000 00000000 00000000"); ++8: // 48 + ins_1(@blob=""); +} + + +script 32 script32 { + ins_3(@blob="3c000000"); + ins_68(@blob="0a000000"); + ins_67(@blob="01000000"); + ins_50(@blob="9a99993e 9a99993e"); + ins_49(@blob="00000000 00000000 00000000"); + ins_53(@blob="00000000 00000000 507756bd"); + ins_60(@blob="14000000 09000000 cdcc8c3f cdcc8c3f"); ++20: // 20 + ins_60(@blob="14000000 09000000 0000803f 0000803f"); ++20: // 40 + ins_4(@blob="5c000000 00000000"); + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_60(@blob="08000000 04000000 00000000 00000000"); ++8: // 48 + ins_1(@blob=""); +} + + +script 33 script33 { + ins_51(@blob="00000000"); + ins_25(@mask=0b1, @blob="00581c46 db0f49c0 00000040"); + ins_43(@mask=0b11, @blob="00501c46 00581c46"); + ins_42(@mask=0b11, @blob="00541c46 00581c46"); + ins_23(@mask=0b11, @blob="00501c46 00501c46 0000c042"); + ins_23(@mask=0b11, @blob="00541c46 00541c46 0000c042"); + ins_88(@blob="22000000"); + ins_96(@mask=0b110, @blob="1f000000 00501c46 00541c46"); + ins_6(@mask=0b1, @blob="10270000 0a000000"); ++2: // 2 + ins_9(@mask=0b1, @blob="00581c46 7cd9a03e"); + ins_43(@mask=0b11, @blob="00501c46 00581c46"); + ins_42(@mask=0b11, @blob="00541c46 00581c46"); + ins_23(@mask=0b11, @blob="00501c46 00501c46 0000c042"); + ins_23(@mask=0b11, @blob="00541c46 00541c46 0000c042"); + ins_96(@mask=0b110, @blob="1f000000 00501c46 00541c46"); + ins_21(@mask=0b101, @blob="00501c46 00000000 00501c46"); + ins_96(@mask=0b110, @blob="20000000 00501c46 00541c46"); + ins_5(@mask=0b1, @blob="10270000 98000000 00000000"); + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_60(@blob="08000000 04000000 00000000 00000000"); ++8: // 10 + ins_1(@blob=""); +} + + +script 34 script34 { + ins_6(@mask=0b1, @blob="10270000 20000000"); + ins_6(@mask=0b1, @blob="11270000 08000000"); + ins_84(@mask=0b1, @blob="10270000"); + ins_52(@blob="80000000 80000000 ff000000"); + ins_68(@blob="03000000"); + ins_3(@blob="3e000000"); + ins_50(@blob="00008041 00008041"); + ins_60(@blob="3c000000 06000000 0000c042 00004042"); + ins_70(@blob="0ad7233d"); + ins_51(@blob="ff000000"); ++240: // 240 + ins_64(@blob="01000000"); + ins_60(@blob="14000000 06000000 0000803f 0000803f"); + ins_93(@blob="14000000 00000000 cdcc4cbe"); ++20: // 260 + ins_1(@blob=""); +} + + +entry { + path: "player/pl00/pl00c.png", + img_width: 128, + img_height: 128, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite61: {x: 0.0, y: 0.0, w: 128.0, h: 128.0}}, +} + + +script 35 script35 { + ins_6(@mask=0b1, @blob="10270000 20000000"); + ins_6(@mask=0b1, @blob="11270000 08000000"); + ins_84(@mask=0b1, @blob="10270000"); + ins_68(@blob="05000000"); + ins_3(@blob="3d000000"); + ins_48(@blob="00006043 00007043 00000000"); + ins_50(@blob="00009443 00001443"); + ins_60(@blob="3c000000 06000000 00009443 00001443"); + ins_70(@blob="cdccccbd"); + ins_93(@blob="b4000000 00000000 00000080"); + ins_51(@blob="ff000000"); + ins_53(@blob="00000000 00000000 a6922bbc"); ++180: // 180 + ins_0(@blob=""); + ins_58(@blob="1e000000 01000000 00000000"); + ins_93(@blob="1e000000 00000000 cdcc4c3e"); ++30: // 210 + ins_1(@blob=""); +} + + +entry { + path: "player/pl00/pl00d.png", + img_width: 128, + img_height: 128, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite62: {x: 0.0, y: 0.0, w: 128.0, h: 128.0}}, +} + + +script 36 script36 { + ins_6(@mask=0b1, @blob="10270000 30000000"); + ins_6(@mask=0b1, @blob="11270000 08000000"); + ins_66(@blob="01000000"); + ins_84(@mask=0b1, @blob="10270000"); + ins_68(@blob="05000000"); + ins_3(@blob="3e000000"); + ins_52(@blob="60000000 00000000 00000000"); + ins_48(@blob="00006043 00007043 00000000"); + ins_50(@blob="00009443 00001443"); + ins_60(@blob="3c000000 06000000 00009443 00001443"); + ins_70(@blob="0ad7233d"); + ins_93(@blob="b4000000 00000000 cdcc4c3d"); + ins_51(@blob="ff000000"); + ins_53(@blob="00000000 00000000 5077563e"); ++180: // 180 + ins_0(@blob=""); + ins_58(@blob="1e000000 01000000 00000000"); + ins_93(@blob="1e000000 00000000 cdcc4cbe"); ++30: // 210 + ins_1(@blob=""); +} + + +entry { + path: "player/pl00/pl00e.png", + img_width: 32, + img_height: 256, + memory_priority: 0, + sprites: {sprite63: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}}, +} + + +script 37 script37 { + ins_66(@blob="01000000"); + ins_6(@mask=0b1, @blob="10270000 40000000"); + ins_6(@mask=0b1, @blob="11270000 03000000"); + ins_88(@blob="26000000"); + ins_84(@mask=0b1, @blob="10270000"); + ins_68(@blob="0f000000"); + ins_3(@blob="3f000000"); + ins_53(@blob="00000000 00000000 7cd9a0be"); + ins_50(@blob="00008041 00008041"); + ins_60(@blob="3c000000 06000000 00000042 00000043"); ++240: // 240 + ins_58(@blob="14000000 00000000 00000000"); + ins_60(@blob="14000000 06000000 00000041 00000041"); ++20: // 260 + ins_1(@blob=""); +} + + +script 38 script38 { + ins_6(@mask=0b1, @blob="10270000 20000000"); + ins_6(@mask=0b1, @blob="11270000 08000000"); + ins_52(@blob="80000000 80000000 80000000"); + ins_84(@mask=0b1, @blob="10270000"); + ins_68(@blob="05000000"); + ins_3(@blob="3e000000"); + ins_50(@blob="00008041 00008041"); + ins_60(@blob="3c000000 06000000 00000043 00008042"); + ins_70(@blob="0ad7233d"); + ins_51(@blob="ff000000"); ++240: // 240 + ins_0(@blob=""); + ins_60(@blob="14000000 06000000 00000041 00000041"); + ins_93(@blob="14000000 00000000 cdcc4cbe"); ++20: // 260 + ins_1(@blob=""); +} + + +entry { + path: "face/pl00/face_pl00no.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite64: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +script 39 script39 { + ins_85(@blob="01000000"); + ins_87(@blob="01000000"); + ins_65(@blob="00000200"); + ins_51(@blob="00000000"); + ins_58(@blob="0f000000 00000000 ff000000"); + ins_48(@blob="00009cc3 0000a043 00000000"); + ins_68(@blob="10000000"); + ins_89(@blob="01000000"); + ins_3(@blob="40000000"); + ins_64(@blob="03000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000b0c2 00008443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 60000000"); ++15: // 15 + ins_63(@blob=""); + ins_64(@blob="02000000"); + ins_68(@blob="10000000"); + ins_56(@blob="0f000000 05000000 000060c2 00008043 00000000"); + ins_57(@blob="0f000000 00000000 ff000000 ff000000 ff000000"); ++15: // 30 + ins_63(@blob=""); + ins_64(@blob="07000000"); + ins_56(@blob="02000000 00000000 000070c2 0000be43 00000000"); ++2: // 32 + ins_56(@blob="02000000 00000000 000068c2 0000c143 00000000"); ++2: // 34 + ins_56(@blob="02000000 00000000 000050c2 0000bf43 00000000"); ++2: // 36 + ins_56(@blob="02000000 00000000 000058c2 0000c243 00000000"); ++2: // 38 + ins_56(@blob="02000000 00000000 000060c2 0000be43 00000000"); ++2: // 40 + ins_56(@blob="02000000 00000000 000070c2 0000c143 00000000"); ++2: // 42 + ins_56(@blob="02000000 00000000 000068c2 0000bf43 00000000"); ++2: // 44 + ins_56(@blob="02000000 00000000 000050c2 0000c243 00000000"); ++2: // 46 + ins_56(@blob="02000000 00000000 000068c2 0000bf43 00000000"); ++2: // 48 + ins_56(@blob="02000000 00000000 000060c2 0000c143 00000000"); ++15: // 63 + ins_63(@blob=""); + ins_64(@blob="08000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000b0c2 00008443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 f0000000"); ++15: // 78 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_56(@blob="1e000000 06000000 00009cc3 0000a043 00000000"); ++30: // 108 + ins_1(@blob=""); +} + + +script 40 script40 { + ins_85(@blob="01000000"); + ins_87(@blob="01000000"); + ins_65(@blob="00000200"); + ins_51(@blob="00000000"); + ins_58(@blob="0f000000 00000000 ff000000"); + ins_48(@blob="00009c43 0000a043 00000000"); + ins_68(@blob="10000000"); + ins_89(@blob="01000000"); + ins_3(@blob="40000000"); + ins_64(@blob="03000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000b042 00008443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 60000000"); ++15: // 15 + ins_63(@blob=""); + ins_64(@blob="02000000"); + ins_68(@blob="10000000"); + ins_56(@blob="0f000000 05000000 00006042 00008043 00000000"); + ins_57(@blob="0f000000 00000000 ff000000 ff000000 ff000000"); ++15: // 30 + ins_63(@blob=""); + ins_64(@blob="07000000"); + ins_56(@blob="02000000 00000000 00005042 0000be43 00000000"); ++2: // 32 + ins_56(@blob="02000000 00000000 00005842 0000c143 00000000"); ++2: // 34 + ins_56(@blob="02000000 00000000 00007042 0000bf43 00000000"); ++2: // 36 + ins_56(@blob="02000000 00000000 00006842 0000c243 00000000"); ++2: // 38 + ins_56(@blob="02000000 00000000 00006042 0000be43 00000000"); ++2: // 40 + ins_56(@blob="02000000 00000000 00005042 0000c143 00000000"); ++2: // 42 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 44 + ins_56(@blob="02000000 00000000 00007042 0000c243 00000000"); ++2: // 46 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 48 + ins_56(@blob="02000000 00000000 00006042 0000c143 00000000"); ++15: // 63 + ins_63(@blob=""); + ins_64(@blob="08000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000b042 00008443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 f0000000"); ++15: // 78 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_56(@blob="1e000000 06000000 00009c43 0000a043 00000000"); ++30: // 108 + ins_1(@blob=""); +} + + +script 41 script41 { + ins_85(@blob="01000000"); + ins_87(@blob="01000000"); + ins_65(@blob="00000200"); + ins_51(@blob="00000000"); + ins_58(@blob="0f000000 00000000 ff000000"); + ins_48(@blob="00009c43 0000a043 00000000"); + ins_68(@blob="10000000"); + ins_89(@blob="01000000"); + ins_3(@blob="40000000"); + ins_64(@blob="03000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000c041 00008443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 60000000"); ++15: // 15 + ins_63(@blob=""); + ins_64(@blob="02000000"); + ins_68(@blob="10000000"); + ins_56(@blob="0f000000 05000000 000000c1 00008043 00000000"); + ins_57(@blob="0f000000 00000000 ff000000 ff000000 ff000000"); ++15: // 30 + ins_63(@blob=""); + ins_64(@blob="07000000"); + ins_56(@blob="02000000 00000000 00005042 0000be43 00000000"); ++2: // 32 + ins_56(@blob="02000000 00000000 00005842 0000c143 00000000"); ++2: // 34 + ins_56(@blob="02000000 00000000 00007042 0000bf43 00000000"); ++2: // 36 + ins_56(@blob="02000000 00000000 00006842 0000c243 00000000"); ++2: // 38 + ins_56(@blob="02000000 00000000 00006042 0000be43 00000000"); ++2: // 40 + ins_56(@blob="02000000 00000000 00005042 0000c143 00000000"); ++2: // 42 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 44 + ins_56(@blob="02000000 00000000 00007042 0000c243 00000000"); ++2: // 46 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 48 + ins_56(@blob="02000000 00000000 00006042 0000c143 00000000"); ++15: // 63 + ins_63(@blob=""); + ins_64(@blob="08000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000c041 00008443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 f0000000"); ++15: // 78 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_56(@blob="1e000000 06000000 00007843 0000a043 00000000"); ++30: // 108 + ins_1(@blob=""); +} + + +script 42 script42 { + ins_85(@blob="01000000"); + ins_87(@blob="01000000"); + ins_65(@blob="02000200"); + ins_51(@blob="00000000"); + ins_58(@blob="0f000000 00000000 ff000000"); + ins_48(@blob="0000e043 00000043 00000000"); + ins_68(@blob="10000000"); + ins_89(@blob="01000000"); + ins_3(@blob="40000000"); + ins_64(@blob="03000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 00006043 00009042 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 60000000"); + ins_58(@blob="0f000000 00000000 c0000000"); ++15: // 15 + ins_63(@blob=""); + ins_64(@blob="02000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 05000000 00004043 00008042 00000000"); + ins_57(@blob="0f000000 00000000 ff000000 ff000000 ff000000"); + ins_58(@blob="0f000000 00000000 ff000000"); ++15: // 30 + ins_63(@blob=""); + ins_64(@blob="07000000"); + ins_56(@blob="02000000 00000000 00005042 0000be43 00000000"); ++2: // 32 + ins_56(@blob="02000000 00000000 00005842 0000c143 00000000"); ++2: // 34 + ins_56(@blob="02000000 00000000 00007042 0000bf43 00000000"); ++2: // 36 + ins_56(@blob="02000000 00000000 00006842 0000c243 00000000"); ++2: // 38 + ins_56(@blob="02000000 00000000 00006042 0000be43 00000000"); ++2: // 40 + ins_56(@blob="02000000 00000000 00005042 0000c143 00000000"); ++2: // 42 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 44 + ins_56(@blob="02000000 00000000 00007042 0000c243 00000000"); ++2: // 46 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 48 + ins_56(@blob="02000000 00000000 00006042 0000c143 00000000"); ++15: // 63 + ins_63(@blob=""); + ins_64(@blob="08000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 00006043 00009042 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 f0000000"); + ins_58(@blob="0f000000 00000000 c0000000"); ++15: // 78 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_56(@blob="1e000000 06000000 00002844 00000043 00000000"); ++30: // 108 + ins_1(@blob=""); +} + + +entry { + path: "face/pl00/face_pl00n2.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite65: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00hp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite66: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00an.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite67: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00sw.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite68: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00dp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite69: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00pr.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite70: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00sp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite71: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00no.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite72: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite73: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite74: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite75: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite76: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite77: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite78: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite79: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + }, +} + + +script 43 script43 { + ins_85(@blob="01000000"); + ins_87(@blob="01000000"); + ins_65(@blob="00000200"); + ins_51(@blob="00000000"); + ins_58(@blob="0f000000 00000000 ff000000"); + ins_48(@blob="00009cc3 0000e043 00000000"); + ins_68(@blob="10000000"); + ins_89(@blob="01000000"); + ins_3(@blob="48000000"); + ins_64(@blob="03000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000b0c2 0000c443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 60000000"); ++15: // 15 + ins_63(@blob=""); + ins_64(@blob="02000000"); + ins_68(@blob="10000000"); + ins_56(@blob="0f000000 05000000 000060c2 0000c043 00000000"); + ins_57(@blob="0f000000 00000000 ff000000 ff000000 ff000000"); ++15: // 30 + ins_63(@blob=""); + ins_64(@blob="07000000"); + ins_56(@blob="02000000 00000000 000070c2 0000be43 00000000"); ++2: // 32 + ins_56(@blob="02000000 00000000 000068c2 0000c143 00000000"); ++2: // 34 + ins_56(@blob="02000000 00000000 000050c2 0000bf43 00000000"); ++2: // 36 + ins_56(@blob="02000000 00000000 000058c2 0000c243 00000000"); ++2: // 38 + ins_56(@blob="02000000 00000000 000060c2 0000be43 00000000"); ++2: // 40 + ins_56(@blob="02000000 00000000 000070c2 0000c143 00000000"); ++2: // 42 + ins_56(@blob="02000000 00000000 000068c2 0000bf43 00000000"); ++2: // 44 + ins_56(@blob="02000000 00000000 000050c2 0000c243 00000000"); ++2: // 46 + ins_56(@blob="02000000 00000000 000068c2 0000bf43 00000000"); ++2: // 48 + ins_56(@blob="02000000 00000000 000060c2 0000c143 00000000"); ++15: // 63 + ins_63(@blob=""); + ins_64(@blob="08000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000b0c2 0000c443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 f0000000"); ++15: // 78 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_56(@blob="1e000000 06000000 00009cc3 0000e043 00000000"); ++30: // 108 + ins_1(@blob=""); +} + + +script 44 script44 { + ins_85(@blob="01000000"); + ins_87(@blob="01000000"); + ins_65(@blob="00000200"); + ins_51(@blob="00000000"); + ins_58(@blob="0f000000 00000000 ff000000"); + ins_48(@blob="00009c43 0000e043 00000000"); + ins_68(@blob="10000000"); + ins_89(@blob="01000000"); + ins_3(@blob="48000000"); + ins_64(@blob="03000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000b042 0000c443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 60000000"); ++15: // 15 + ins_63(@blob=""); + ins_64(@blob="02000000"); + ins_68(@blob="10000000"); + ins_56(@blob="0f000000 05000000 00006042 0000c043 00000000"); + ins_57(@blob="0f000000 00000000 ff000000 ff000000 ff000000"); ++15: // 30 + ins_63(@blob=""); + ins_64(@blob="07000000"); + ins_56(@blob="02000000 00000000 00005042 0000be43 00000000"); ++2: // 32 + ins_56(@blob="02000000 00000000 00005842 0000c143 00000000"); ++2: // 34 + ins_56(@blob="02000000 00000000 00007042 0000bf43 00000000"); ++2: // 36 + ins_56(@blob="02000000 00000000 00006842 0000c243 00000000"); ++2: // 38 + ins_56(@blob="02000000 00000000 00006042 0000be43 00000000"); ++2: // 40 + ins_56(@blob="02000000 00000000 00005042 0000c143 00000000"); ++2: // 42 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 44 + ins_56(@blob="02000000 00000000 00007042 0000c243 00000000"); ++2: // 46 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 48 + ins_56(@blob="02000000 00000000 00006042 0000c143 00000000"); ++15: // 63 + ins_63(@blob=""); + ins_64(@blob="08000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000b042 0000c443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 f0000000"); ++15: // 78 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_56(@blob="1e000000 06000000 00009c43 0000e043 00000000"); ++30: // 108 + ins_1(@blob=""); +} + + +script 45 script45 { + ins_85(@blob="01000000"); + ins_87(@blob="01000000"); + ins_65(@blob="00000200"); + ins_51(@blob="00000000"); + ins_58(@blob="0f000000 00000000 ff000000"); + ins_48(@blob="00009c43 0000e043 00000000"); + ins_68(@blob="10000000"); + ins_89(@blob="01000000"); + ins_3(@blob="48000000"); + ins_64(@blob="03000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000c041 0000c443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 60000000"); ++15: // 15 + ins_63(@blob=""); + ins_64(@blob="02000000"); + ins_68(@blob="10000000"); + ins_56(@blob="0f000000 05000000 000000c1 0000c043 00000000"); + ins_57(@blob="0f000000 00000000 ff000000 ff000000 ff000000"); ++15: // 30 + ins_63(@blob=""); + ins_64(@blob="07000000"); + ins_56(@blob="02000000 00000000 00005042 0000be43 00000000"); ++2: // 32 + ins_56(@blob="02000000 00000000 00005842 0000c143 00000000"); ++2: // 34 + ins_56(@blob="02000000 00000000 00007042 0000bf43 00000000"); ++2: // 36 + ins_56(@blob="02000000 00000000 00006842 0000c243 00000000"); ++2: // 38 + ins_56(@blob="02000000 00000000 00006042 0000be43 00000000"); ++2: // 40 + ins_56(@blob="02000000 00000000 00005042 0000c143 00000000"); ++2: // 42 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 44 + ins_56(@blob="02000000 00000000 00007042 0000c243 00000000"); ++2: // 46 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 48 + ins_56(@blob="02000000 00000000 00006042 0000c143 00000000"); ++15: // 63 + ins_63(@blob=""); + ins_64(@blob="08000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000c041 0000c443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 f0000000"); ++15: // 78 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_56(@blob="1e000000 06000000 00007843 0000e043 00000000"); ++30: // 108 + ins_1(@blob=""); +} + + +script 46 script46 { + ins_85(@blob="01000000"); + ins_87(@blob="01000000"); + ins_65(@blob="02000200"); + ins_51(@blob="00000000"); + ins_58(@blob="0f000000 00000000 ff000000"); + ins_48(@blob="0000e043 0000c043 00000000"); + ins_68(@blob="10000000"); + ins_89(@blob="01000000"); + ins_3(@blob="48000000"); + ins_64(@blob="03000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 00006043 0000a443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 60000000"); + ins_58(@blob="0f000000 00000000 c0000000"); ++15: // 15 + ins_63(@blob=""); + ins_64(@blob="02000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 05000000 00004043 0000a043 00000000"); + ins_57(@blob="0f000000 00000000 ff000000 ff000000 ff000000"); + ins_58(@blob="0f000000 00000000 ff000000"); ++15: // 30 + ins_63(@blob=""); + ins_64(@blob="07000000"); + ins_56(@blob="02000000 00000000 00005042 0000be43 00000000"); ++2: // 32 + ins_56(@blob="02000000 00000000 00005842 0000c143 00000000"); ++2: // 34 + ins_56(@blob="02000000 00000000 00007042 0000bf43 00000000"); ++2: // 36 + ins_56(@blob="02000000 00000000 00006842 0000c243 00000000"); ++2: // 38 + ins_56(@blob="02000000 00000000 00006042 0000be43 00000000"); ++2: // 40 + ins_56(@blob="02000000 00000000 00005042 0000c143 00000000"); ++2: // 42 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 44 + ins_56(@blob="02000000 00000000 00007042 0000c243 00000000"); ++2: // 46 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 48 + ins_56(@blob="02000000 00000000 00006042 0000c143 00000000"); ++15: // 63 + ins_63(@blob=""); + ins_64(@blob="08000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 00006043 0000a443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 f0000000"); + ins_58(@blob="0f000000 00000000 c0000000"); ++15: // 78 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_56(@blob="1e000000 06000000 00002844 0000c043 00000000"); ++30: // 108 + ins_1(@blob=""); +} + + +entry { + path: "face/pl00/face_pl00no.png", + img_width: 256, + img_height: 64, + offset_y: 256, + memory_priority: 0, + sprites: { + sprite80: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite81: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite82: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite83: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite84: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite85: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite86: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite87: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + }, +} + + +script 47 script47 { + ins_85(@blob="01000000"); + ins_87(@blob="01000000"); + ins_65(@blob="00000200"); + ins_51(@blob="00000000"); + ins_58(@blob="0f000000 00000000 ff000000"); + ins_48(@blob="00009cc3 00000044 00000000"); + ins_68(@blob="10000000"); + ins_89(@blob="01000000"); + ins_3(@blob="50000000"); + ins_64(@blob="03000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000b0c2 0000e443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 60000000"); ++15: // 15 + ins_63(@blob=""); + ins_64(@blob="02000000"); + ins_68(@blob="10000000"); + ins_56(@blob="0f000000 05000000 000060c2 0000e043 00000000"); + ins_57(@blob="0f000000 00000000 ff000000 ff000000 ff000000"); ++15: // 30 + ins_63(@blob=""); + ins_64(@blob="07000000"); + ins_56(@blob="02000000 00000000 000070c2 0000be43 00000000"); ++2: // 32 + ins_56(@blob="02000000 00000000 000068c2 0000c143 00000000"); ++2: // 34 + ins_56(@blob="02000000 00000000 000050c2 0000bf43 00000000"); ++2: // 36 + ins_56(@blob="02000000 00000000 000058c2 0000c243 00000000"); ++2: // 38 + ins_56(@blob="02000000 00000000 000060c2 0000be43 00000000"); ++2: // 40 + ins_56(@blob="02000000 00000000 000070c2 0000c143 00000000"); ++2: // 42 + ins_56(@blob="02000000 00000000 000068c2 0000bf43 00000000"); ++2: // 44 + ins_56(@blob="02000000 00000000 000050c2 0000c243 00000000"); ++2: // 46 + ins_56(@blob="02000000 00000000 000068c2 0000bf43 00000000"); ++2: // 48 + ins_56(@blob="02000000 00000000 000060c2 0000c143 00000000"); ++15: // 63 + ins_63(@blob=""); + ins_64(@blob="08000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000b0c2 0000e443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 f0000000"); ++15: // 78 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_56(@blob="1e000000 06000000 00009cc3 00000044 00000000"); ++30: // 108 + ins_1(@blob=""); +} + + +script 48 script48 { + ins_85(@blob="01000000"); + ins_87(@blob="01000000"); + ins_65(@blob="00000200"); + ins_51(@blob="00000000"); + ins_58(@blob="0f000000 00000000 ff000000"); + ins_48(@blob="00009c43 00000044 00000000"); + ins_68(@blob="10000000"); + ins_89(@blob="01000000"); + ins_3(@blob="50000000"); + ins_64(@blob="03000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000b042 0000e443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 60000000"); ++15: // 15 + ins_63(@blob=""); + ins_64(@blob="02000000"); + ins_68(@blob="10000000"); + ins_56(@blob="0f000000 05000000 00006042 0000e043 00000000"); + ins_57(@blob="0f000000 00000000 ff000000 ff000000 ff000000"); ++15: // 30 + ins_63(@blob=""); + ins_64(@blob="07000000"); + ins_56(@blob="02000000 00000000 00005042 0000be43 00000000"); ++2: // 32 + ins_56(@blob="02000000 00000000 00005842 0000c143 00000000"); ++2: // 34 + ins_56(@blob="02000000 00000000 00007042 0000bf43 00000000"); ++2: // 36 + ins_56(@blob="02000000 00000000 00006842 0000c243 00000000"); ++2: // 38 + ins_56(@blob="02000000 00000000 00006042 0000be43 00000000"); ++2: // 40 + ins_56(@blob="02000000 00000000 00005042 0000c143 00000000"); ++2: // 42 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 44 + ins_56(@blob="02000000 00000000 00007042 0000c243 00000000"); ++2: // 46 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 48 + ins_56(@blob="02000000 00000000 00006042 0000c143 00000000"); ++15: // 63 + ins_63(@blob=""); + ins_64(@blob="08000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000b042 0000e443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 f0000000"); ++15: // 78 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_56(@blob="1e000000 06000000 00009c43 00000044 00000000"); ++30: // 108 + ins_1(@blob=""); +} + + +script 49 script49 { + ins_85(@blob="01000000"); + ins_87(@blob="01000000"); + ins_65(@blob="00000200"); + ins_51(@blob="00000000"); + ins_58(@blob="0f000000 00000000 ff000000"); + ins_48(@blob="00009c43 00000044 00000000"); + ins_68(@blob="10000000"); + ins_89(@blob="01000000"); + ins_3(@blob="50000000"); + ins_64(@blob="03000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000c041 0000e443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 60000000"); ++15: // 15 + ins_63(@blob=""); + ins_64(@blob="02000000"); + ins_68(@blob="10000000"); + ins_56(@blob="0f000000 05000000 000000c1 0000e043 00000000"); + ins_57(@blob="0f000000 00000000 ff000000 ff000000 ff000000"); ++15: // 30 + ins_63(@blob=""); + ins_64(@blob="07000000"); + ins_56(@blob="02000000 00000000 00005042 0000be43 00000000"); ++2: // 32 + ins_56(@blob="02000000 00000000 00005842 0000c143 00000000"); ++2: // 34 + ins_56(@blob="02000000 00000000 00007042 0000bf43 00000000"); ++2: // 36 + ins_56(@blob="02000000 00000000 00006842 0000c243 00000000"); ++2: // 38 + ins_56(@blob="02000000 00000000 00006042 0000be43 00000000"); ++2: // 40 + ins_56(@blob="02000000 00000000 00005042 0000c143 00000000"); ++2: // 42 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 44 + ins_56(@blob="02000000 00000000 00007042 0000c243 00000000"); ++2: // 46 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 48 + ins_56(@blob="02000000 00000000 00006042 0000c143 00000000"); ++15: // 63 + ins_63(@blob=""); + ins_64(@blob="08000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 0000c041 0000e443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 f0000000"); ++15: // 78 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_56(@blob="1e000000 06000000 00007843 00000044 00000000"); ++30: // 108 + ins_1(@blob=""); +} + + +script 50 script50 { + ins_85(@blob="01000000"); + ins_87(@blob="01000000"); + ins_65(@blob="02000200"); + ins_51(@blob="00000000"); + ins_58(@blob="0f000000 00000000 ff000000"); + ins_48(@blob="0000e043 00000044 00000000"); + ins_68(@blob="10000000"); + ins_89(@blob="01000000"); + ins_3(@blob="50000000"); + ins_64(@blob="03000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 00006043 0000e443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 60000000"); + ins_58(@blob="0f000000 00000000 c0000000"); ++15: // 15 + ins_63(@blob=""); + ins_64(@blob="02000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 05000000 00004043 0000e043 00000000"); + ins_57(@blob="0f000000 00000000 ff000000 ff000000 ff000000"); + ins_58(@blob="0f000000 00000000 ff000000"); ++15: // 30 + ins_63(@blob=""); + ins_64(@blob="07000000"); + ins_56(@blob="02000000 00000000 00005042 0000be43 00000000"); ++2: // 32 + ins_56(@blob="02000000 00000000 00005842 0000c143 00000000"); ++2: // 34 + ins_56(@blob="02000000 00000000 00007042 0000bf43 00000000"); ++2: // 36 + ins_56(@blob="02000000 00000000 00006842 0000c243 00000000"); ++2: // 38 + ins_56(@blob="02000000 00000000 00006042 0000be43 00000000"); ++2: // 40 + ins_56(@blob="02000000 00000000 00005042 0000c143 00000000"); ++2: // 42 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 44 + ins_56(@blob="02000000 00000000 00007042 0000c243 00000000"); ++2: // 46 + ins_56(@blob="02000000 00000000 00005842 0000bf43 00000000"); ++2: // 48 + ins_56(@blob="02000000 00000000 00006042 0000c143 00000000"); ++15: // 63 + ins_63(@blob=""); + ins_64(@blob="08000000"); + ins_68(@blob="0f000000"); + ins_56(@blob="0f000000 02000000 00006043 0000e443 00000000"); + ins_57(@blob="0f000000 00000000 60000000 60000000 f0000000"); + ins_58(@blob="0f000000 00000000 c0000000"); ++15: // 78 + ins_63(@blob=""); + ins_64(@blob="01000000"); + ins_56(@blob="1e000000 06000000 00002844 00000044 00000000"); ++30: // 108 + ins_1(@blob=""); +} + + +script 51 script51 { + ins_51(@blob="00000000"); + ins_48(@blob="00004043 00008041 00000000"); + ins_91(@blob="27000000"); + ins_91(@blob="2b000000"); + ins_91(@blob="2f000000"); + ins_63(@blob=""); + ins_64(@blob="01000000"); ++30: // 30 + ins_1(@blob=""); +} + + +script 52 script52 { + ins_51(@blob="00000000"); + ins_48(@blob="00008043 00008041 00000000"); + ins_91(@blob="28000000"); + ins_91(@blob="2c000000"); + ins_91(@blob="30000000"); + ins_63(@blob=""); + ins_64(@blob="01000000"); ++30: // 30 + ins_1(@blob=""); +} + + +script 53 script53 { + ins_51(@blob="00000000"); + ins_48(@blob="00008043 00008041 00000000"); + ins_91(@blob="29000000"); + ins_91(@blob="2d000000"); + ins_91(@blob="31000000"); + ins_63(@blob=""); + ins_64(@blob="01000000"); ++30: // 30 + ins_1(@blob=""); +} + + +script 54 script54 { + ins_51(@blob="00000000"); + ins_48(@blob="00006043 00008041 00000000"); + ins_91(@blob="2a000000"); + ins_91(@blob="2e000000"); + ins_91(@blob="32000000"); + ins_63(@blob=""); + ins_64(@blob="01000000"); ++30: // 30 + ins_1(@blob=""); +} diff --git a/research/pl00.tanm b/research/pl00.tanm new file mode 100644 index 0000000..64f14ad --- /dev/null +++ b/research/pl00.tanm @@ -0,0 +1,1840 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "player/pl00/pl00.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 1.0, y: 1.0, w: 30.0, h: 46.0}, + sprite1: {x: 33.0, y: 1.0, w: 30.0, h: 46.0}, + sprite2: {x: 65.0, y: 1.0, w: 30.0, h: 46.0}, + sprite3: {x: 97.0, y: 1.0, w: 30.0, h: 46.0}, + sprite4: {x: 129.0, y: 1.0, w: 30.0, h: 46.0}, + sprite5: {x: 161.0, y: 1.0, w: 30.0, h: 46.0}, + sprite6: {x: 193.0, y: 1.0, w: 30.0, h: 46.0}, + sprite7: {x: 225.0, y: 1.0, w: 30.0, h: 46.0}, + sprite8: {x: 1.0, y: 49.0, w: 30.0, h: 46.0}, + sprite9: {x: 33.0, y: 49.0, w: 30.0, h: 46.0}, + sprite10: {x: 65.0, y: 49.0, w: 30.0, h: 46.0}, + sprite11: {x: 97.0, y: 49.0, w: 30.0, h: 46.0}, + sprite12: {x: 129.0, y: 49.0, w: 30.0, h: 46.0}, + sprite13: {x: 161.0, y: 49.0, w: 30.0, h: 46.0}, + sprite14: {x: 193.0, y: 49.0, w: 30.0, h: 46.0}, + sprite15: {x: 225.0, y: 49.0, w: 30.0, h: 46.0}, + sprite16: {x: 1.0, y: 97.0, w: 30.0, h: 46.0}, + sprite17: {x: 33.0, y: 97.0, w: 30.0, h: 46.0}, + sprite18: {x: 65.0, y: 97.0, w: 30.0, h: 46.0}, + sprite19: {x: 97.0, y: 97.0, w: 30.0, h: 46.0}, + sprite20: {x: 129.0, y: 97.0, w: 30.0, h: 46.0}, + sprite21: {x: 161.0, y: 97.0, w: 30.0, h: 46.0}, + sprite22: {x: 193.0, y: 97.0, w: 30.0, h: 46.0}, + sprite23: {x: 225.0, y: 97.0, w: 30.0, h: 46.0}, + sprite24: {x: 0.0, y: 176.0, w: 64.0, h: 16.0}, + sprite25: {x: 16.0, y: 144.0, w: 16.0, h: 16.0}, + sprite26: {x: 32.0, y: 144.0, w: 16.0, h: 16.0}, + sprite27: {x: 48.0, y: 144.0, w: 16.0, h: 16.0}, + sprite28: {x: 64.0, y: 176.0, w: 64.0, h: 8.0}, + sprite29: {x: 0.0, y: 192.0, w: 32.0, h: 32.0}, + sprite30: {x: 32.0, y: 192.0, w: 32.0, h: 32.0}, + sprite31: {x: 64.0, y: 192.0, w: 48.0, h: 32.0}, + sprite32: {x: 112.0, y: 192.0, w: 48.0, h: 32.0}, + sprite33: {x: 64.0, y: 144.0, w: 16.0, h: 16.0}, + sprite34: {x: 80.0, y: 144.0, w: 16.0, h: 16.0}, + sprite35: {x: 96.0, y: 144.0, w: 16.0, h: 16.0}, + }, +} + + +script 0 script0 { + loop { + sprite(sprite0); ++5: // 5 + sprite(sprite1); ++5: // 10 + sprite(sprite2); ++5: // 15 + sprite(sprite3); ++5: // 20 + sprite(sprite4); ++5: // 25 + sprite(sprite5); ++5: // 30 + sprite(sprite6); ++5: // 35 + sprite(sprite7); ++5: // 40 + } +} + + +script 1 script1 { + sprite(sprite8); ++1: // 1 + sprite(sprite9); ++1: // 2 + sprite(sprite10); ++1: // 3 + sprite(sprite11); + loop { ++1: // 4 + sprite(sprite12); ++5: // 9 + sprite(sprite13); ++5: // 14 + sprite(sprite14); ++5: // 19 + sprite(sprite15); ++4: // 23 + } +} + + +script 2 script2 { + sprite(sprite11); ++1: // 1 + sprite(sprite10); ++1: // 2 + sprite(sprite9); ++1: // 3 + sprite(sprite8); + loop { + sprite(sprite0); ++5: // 8 + sprite(sprite1); ++5: // 13 + sprite(sprite2); ++5: // 18 + sprite(sprite3); ++5: // 23 + sprite(sprite4); ++5: // 28 + sprite(sprite5); ++5: // 33 + sprite(sprite6); ++5: // 38 + sprite(sprite7); ++5: // 43 + } +} + + +script 3 script3 { + sprite(sprite16); ++1: // 1 + sprite(sprite17); ++1: // 2 + sprite(sprite18); ++1: // 3 + sprite(sprite19); ++1: // 4 + sprite(sprite20); + loop { ++5: // 9 + sprite(sprite21); ++5: // 14 + sprite(sprite22); ++5: // 19 + sprite(sprite23); ++4: // 23 + } +} + + +script 4 script4 { + sprite(sprite19); ++1: // 1 + sprite(sprite18); ++1: // 2 + sprite(sprite17); ++1: // 3 + sprite(sprite16); + loop { + sprite(sprite0); ++5: // 8 + sprite(sprite1); ++5: // 13 + sprite(sprite2); ++5: // 18 + sprite(sprite3); ++5: // 23 + sprite(sprite4); ++5: // 28 + sprite(sprite5); ++5: // 33 + sprite(sprite6); ++5: // 38 + sprite(sprite7); ++5: // 43 + } +} + + +script 5 script5 { + layer(10); + sprite(sprite24); + type(1); + alpha(128); + zWriteDisable(1); + ins_82(1); ++10000: // 10000 + static(); +} + + +script 6 script6 { + layer(10); + angleVel(0.0, 0.0, 0.2); + alpha(192); + alphaTime(30, 0, 0); + blendMode(1); + type(1); + sprite(sprite25); ++10: // 10 + sprite(sprite26); ++10: // 20 + sprite(sprite27); ++10: // 30 + delete(); +} + + +script 7 script7 { + layer(10); + sprite(sprite28); + type(1); + alpha(128); + zWriteDisable(1); + ins_82(1); ++10000: // 10000 + static(); +} + + +script 8 script8 { + layer(10); + F0 = RANDRAD / 16.0; + angleVel(0.0, 0.0, F0); + ins_82(1); + sprite(sprite28); + type(1); + blendMode(1); + alpha(192); ++10: // 10 + alphaTime(10, 0, 0); ++10: // 20 + delete(); +} + + +script 9 script9 { + layer(10); + blendMode(1); + sprite(sprite29); + type(1); + alpha(255); + zWriteDisable(1); + loop { + scriptNewRoot(script11); ++2: // 2 + } ++9998: // 10000 + static(); +} + + +script 10 script10 { + layer(10); + ins_82(1); + sprite(sprite29); + scaleTime(20, 1, 4.0, 4.0); + type(1); + blendMode(1); + alpha(192); ++10: // 10 + alphaTime(10, 0, 0); ++10: // 20 + delete(); +} + + +script 11 script11 { + layer(10); + blendMode(1); + sprite(sprite30); + type(1); + alpha(64); + rotate(0.0, 0.0, RANDRAD); + zWriteDisable(1); + scaleTime(10, 1, 2.5, 2.5); + alphaTime(10, 1, 0); ++10: // 10 + delete(); +} + + +script 12 script12 { + layer(10); + ins_82(1); + sprite(sprite30); + scaleTime(20, 1, 6.0, 6.0); + rotate(0.0, 0.0, RANDRAD); + type(1); + blendMode(1); + alpha(192); ++10: // 10 + alphaTime(10, 0, 0); ++10: // 20 + delete(); +} + + +script 13 script13 { + layer(10); + blendMode(1); + sprite(sprite29); + type(1); + alpha(255); + zWriteDisable(1); + loop { + scriptNewRoot(script11); ++3: // 3 + } ++9997: // 10000 + static(); +} + + +script 14 script14 { + layer(10); + ins_82(1); + sprite(sprite29); + scaleTime(20, 1, 4.0, 4.0); + type(1); + blendMode(1); + alpha(192); ++10: // 10 + alphaTime(10, 0, 0); ++10: // 20 + delete(); +} + + +script 15 script15 { + layer(10); + sprite(sprite31); + type(1); + blendMode(1); + alpha(192); + zWriteDisable(1); + ins_82(1); ++10000: // 10000 + static(); +} + + +script 16 script16 { + layer(10); + ins_82(1); + sprite(sprite31); + scaleTime(20, 1, 4.0, 0.0); + type(1); + blendMode(1); + alpha(192); ++10: // 10 + alphaTime(10, 0, 0); ++10: // 20 + delete(); +} + + +script 17 script17 { + layer(10); + sprite(sprite32); + type(1); + blendMode(1); + alpha(255); + zWriteDisable(1); + ins_82(1); ++10000: // 10000 + static(); +} + + +script 18 script18 { + layer(10); + ins_82(1); + sprite(sprite32); + scaleTime(20, 1, 4.0, 0.0); + type(1); + blendMode(1); + alpha(192); ++10: // 10 + alphaTime(10, 0, 0); ++10: // 20 + delete(); +} + + +script 19 script19 { + layer(5); + type(0); + sprite(sprite0); + blendMode(1); + color(255, 64, 64); + colorTime(15, 0, 64, 64, 255); + alphaTime(128, 0, 0); + alphaTime(15, 0, 0); ++15: // 15 + delete(); +} + + +script 20 script20 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite35); + angleVel(0.0, 0.0, 0.31415927); ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + angleVel(0.0, 0.0, 0.10471976); + blendMode(0); + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 36 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 56 + delete(); +} + + +script 21 script21 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite33); + angleVel(0.0, 0.0, 0.31415927); ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + angleVel(0.0, 0.0, 0.10471976); + blendMode(0); + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 36 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 56 + delete(); +} + + +script 22 script22 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite34); + angleVel(0.0, 0.0, 0.31415927); ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + angleVel(0.0, 0.0, 0.10471976); + blendMode(0); + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 36 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 56 + delete(); +} + + +script 23 script23 { + layer(10); + type(1); + blendMode(1); + alpha(0); + +interrupt[2]: + sprite(sprite35); + scaleTime(10, 0, 1.5, 1.5); + alphaTime(10, 0, 128); + angleVel(0.0, 0.0, -0.10471976); + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: ++10: // 30 + delete(); +} + + +script 24 script24 { + layer(10); + type(1); + blendMode(1); + alpha(0); + +interrupt[2]: + sprite(sprite33); + scaleTime(10, 0, 1.5, 1.5); + alphaTime(10, 0, 128); + angleVel(0.0, 0.0, -0.10471976); + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: ++10: // 30 + delete(); +} + + +script 25 script25 { + layer(10); + type(1); + blendMode(1); + alpha(0); + +interrupt[2]: + sprite(sprite34); + scaleTime(10, 0, 1.5, 1.5); + alphaTime(10, 0, 128); + angleVel(0.0, 0.0, -0.10471976); + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: ++10: // 30 + delete(); +} + + +entry { + path: "player/pl00/pl00b.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: { + sprite36: {x: 1.0, y: 1.0, w: 30.0, h: 46.0}, + sprite37: {x: 33.0, y: 1.0, w: 30.0, h: 46.0}, + sprite38: {x: 65.0, y: 1.0, w: 30.0, h: 46.0}, + sprite39: {x: 97.0, y: 1.0, w: 30.0, h: 46.0}, + sprite40: {x: 129.0, y: 1.0, w: 30.0, h: 46.0}, + sprite41: {x: 161.0, y: 1.0, w: 30.0, h: 46.0}, + sprite42: {x: 193.0, y: 1.0, w: 30.0, h: 46.0}, + sprite43: {x: 225.0, y: 1.0, w: 30.0, h: 46.0}, + sprite44: {x: 1.0, y: 49.0, w: 30.0, h: 46.0}, + sprite45: {x: 33.0, y: 49.0, w: 30.0, h: 46.0}, + sprite46: {x: 65.0, y: 49.0, w: 30.0, h: 46.0}, + sprite47: {x: 97.0, y: 49.0, w: 30.0, h: 46.0}, + sprite48: {x: 129.0, y: 49.0, w: 30.0, h: 46.0}, + sprite49: {x: 161.0, y: 49.0, w: 30.0, h: 46.0}, + sprite50: {x: 193.0, y: 49.0, w: 30.0, h: 46.0}, + sprite51: {x: 225.0, y: 49.0, w: 30.0, h: 46.0}, + sprite52: {x: 1.0, y: 97.0, w: 30.0, h: 46.0}, + sprite53: {x: 33.0, y: 97.0, w: 30.0, h: 46.0}, + sprite54: {x: 65.0, y: 97.0, w: 30.0, h: 46.0}, + sprite55: {x: 97.0, y: 97.0, w: 30.0, h: 46.0}, + sprite56: {x: 129.0, y: 97.0, w: 30.0, h: 46.0}, + sprite57: {x: 161.0, y: 97.0, w: 30.0, h: 46.0}, + sprite58: {x: 193.0, y: 97.0, w: 30.0, h: 46.0}, + sprite59: {x: 225.0, y: 97.0, w: 30.0, h: 46.0}, + sprite60: {x: 1.0, y: 193.0, w: 62.0, h: 62.0}, + }, +} + + +script 26 script26 { + loop { + sprite(sprite36); ++5: // 5 + sprite(sprite37); ++5: // 10 + sprite(sprite38); ++5: // 15 + sprite(sprite39); ++5: // 20 + sprite(sprite40); ++5: // 25 + sprite(sprite41); ++5: // 30 + sprite(sprite42); ++5: // 35 + sprite(sprite43); ++5: // 40 + } +} + + +script 27 script27 { + sprite(sprite44); ++1: // 1 + sprite(sprite45); ++1: // 2 + sprite(sprite46); ++1: // 3 + sprite(sprite47); + loop { ++1: // 4 + sprite(sprite48); ++5: // 9 + sprite(sprite49); ++5: // 14 + sprite(sprite50); ++5: // 19 + sprite(sprite51); ++4: // 23 + } +} + + +script 28 script28 { + sprite(sprite47); ++1: // 1 + sprite(sprite46); ++1: // 2 + sprite(sprite45); ++1: // 3 + sprite(sprite44); + loop { + sprite(sprite36); ++5: // 8 + sprite(sprite37); ++5: // 13 + sprite(sprite38); ++5: // 18 + sprite(sprite39); ++5: // 23 + sprite(sprite40); ++5: // 28 + sprite(sprite41); ++5: // 33 + sprite(sprite42); ++5: // 38 + sprite(sprite43); ++5: // 43 + } +} + + +script 29 script29 { + sprite(sprite52); ++1: // 1 + sprite(sprite53); ++1: // 2 + sprite(sprite54); ++1: // 3 + sprite(sprite55); ++1: // 4 + sprite(sprite56); + loop { ++5: // 9 + sprite(sprite57); ++5: // 14 + sprite(sprite58); ++5: // 19 + sprite(sprite59); ++4: // 23 + } +} + + +script 30 script30 { + sprite(sprite55); ++1: // 1 + sprite(sprite54); ++1: // 2 + sprite(sprite53); ++1: // 3 + sprite(sprite52); + loop { + sprite(sprite36); ++5: // 8 + sprite(sprite37); ++5: // 13 + sprite(sprite38); ++5: // 18 + sprite(sprite39); ++5: // 23 + sprite(sprite40); ++5: // 28 + sprite(sprite41); ++5: // 33 + sprite(sprite42); ++5: // 38 + sprite(sprite43); ++5: // 43 + } +} + + +script 31 script31 { + sprite(sprite60); + layer(10); + type(1); + scale(0.3, 0.3); + rotate(0.0, 0.0, 0.0); + angleVel(0.0, 0.0, 0.05235988); + loop { + scaleTime(20, 9, 1.1, 1.1); ++20: // 20 + scaleTime(20, 9, 1.0, 1.0); ++20: // 40 + } + stop(); + +interrupt[1]: + scaleTime(8, 4, 0.0, 0.0); ++8: // 48 + delete(); +} + + +script 32 script32 { + sprite(sprite60); + layer(10); + type(1); + scale(0.3, 0.3); + rotate(0.0, 0.0, 0.0); + angleVel(0.0, 0.0, -0.05235988); + loop { + scaleTime(20, 9, 1.1, 1.1); ++20: // 20 + scaleTime(20, 9, 1.0, 1.0); ++20: // 40 + } + stop(); + +interrupt[1]: + scaleTime(8, 4, 0.0, 0.0); ++8: // 48 + delete(); +} + + +script 33 script33 { + alpha(0); + F2 = -3.1415927 / 2.0; + F0 = cos(F2); + F1 = sin(F2); + F0 = F0 * 96.0; + F1 = F1 * 96.0; + scriptNew(script34); + scriptNewPos(script31, F0, F1); + I0 = 10; + do { ++2: // 2 + F2 += 0.31415927; + F0 = cos(F2); + F1 = sin(F2); + F0 = F0 * 96.0; + F1 = F1 * 96.0; + scriptNewPos(script31, F0, F1); + F0 = 0.0 - F0; + scriptNewPos(script32, F0, F1); + } while (--I0); + stop(); + +interrupt[1]: + scaleTime(8, 4, 0.0, 0.0); ++8: // 10 + delete(); +} + + +script 34 script34 { + I0 = 32; + I1 = 8; + texCircle(I0); + color(128, 128, 255); + layer(3); + sprite(sprite62); + scale(16.0, 16.0); + scaleTime(60, 6, 96.0, 48.0); + scrollX(0.04); + alpha(255); ++240: // 240 + +interrupt[1]: + scaleTime(20, 6, 1.0, 1.0); + scrollXTime(20, 0, -0.2); ++20: // 260 + delete(); +} + + +entry { + path: "player/pl00/pl00c.png", + img_width: 128, + img_height: 128, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite61: {x: 0.0, y: 0.0, w: 128.0, h: 128.0}}, +} + + +script 35 script35 { + I0 = 32; + I1 = 8; + texCircle(I0); + layer(5); + sprite(sprite61); + pos(224.0, 240.0, 0.0); + scale(296.0, 148.0); + scaleTime(60, 6, 296.0, 148.0); + scrollX(-0.1); + scrollXTime(180, 0, -0.0); + alpha(255); + angleVel(0.0, 0.0, -0.010471975); ++180: // 180 + nop(); + alphaTime(30, 1, 0); + scrollXTime(30, 0, 0.2); ++30: // 210 + delete(); +} + + +entry { + path: "player/pl00/pl00d.png", + img_width: 128, + img_height: 128, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite62: {x: 0.0, y: 0.0, w: 128.0, h: 128.0}}, +} + + +script 36 script36 { + I0 = 48; + I1 = 8; + blendMode(1); + texCircle(I0); + layer(5); + sprite(sprite62); + color(96, 0, 0); + pos(224.0, 240.0, 0.0); + scale(296.0, 148.0); + scaleTime(60, 6, 296.0, 148.0); + scrollX(0.04); + scrollXTime(180, 0, 0.05); + alpha(255); + angleVel(0.0, 0.0, 0.20943952); ++180: // 180 + nop(); + alphaTime(30, 1, 0); + scrollXTime(30, 0, -0.2); ++30: // 210 + delete(); +} + + +entry { + path: "player/pl00/pl00e.png", + img_width: 32, + img_height: 256, + memory_priority: 0, + sprites: {sprite63: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}}, +} + + +script 37 script37 { + blendMode(1); + I0 = 64; + I1 = 3; + scriptNew(script38); + texCircle(I0); + layer(15); + sprite(sprite63); + angleVel(0.0, 0.0, -0.31415927); + scale(16.0, 16.0); + scaleTime(60, 6, 32.0, 128.0); ++240: // 240 + alphaTime(20, 0, 0); + scaleTime(20, 6, 8.0, 8.0); ++20: // 260 + delete(); +} + + +script 38 script38 { + I0 = 32; + I1 = 8; + color(128, 128, 128); + texCircle(I0); + layer(5); + sprite(sprite62); + scale(16.0, 16.0); + scaleTime(60, 6, 128.0, 64.0); + scrollX(0.04); + alpha(255); ++240: // 240 + nop(); + scaleTime(20, 6, 8.0, 8.0); + scrollXTime(20, 0, -0.2); ++20: // 260 + delete(); +} + + +entry { + path: "face/pl00/face_pl00no.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite64: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +script 39 script39 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(-312.0, 320.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite64); + +interrupt[3]: + layer(15); + posTime(15, 2, -88.0, 264.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, -56.0, 256.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, -60.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, -58.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, -52.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, -54.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, -56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, -60.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, -58.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, -52.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, -58.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, -56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, -88.0, 264.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, -312.0, 320.0, 0.0); ++30: // 108 + delete(); +} + + +script 40 script40 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(312.0, 320.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite64); + +interrupt[3]: + layer(15); + posTime(15, 2, 88.0, 264.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, 56.0, 256.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 88.0, 264.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 312.0, 320.0, 0.0); ++30: // 108 + delete(); +} + + +script 41 script41 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(312.0, 320.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite64); + +interrupt[3]: + layer(15); + posTime(15, 2, 24.0, 264.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, -8.0, 256.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 24.0, 264.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 248.0, 320.0, 0.0); ++30: // 108 + delete(); +} + + +script 42 script42 { + ins_85(1); + randMode(1); + anchor(2, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(448.0, 128.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite64); + +interrupt[3]: + layer(15); + posTime(15, 2, 224.0, 72.0, 0.0); + colorTime(15, 0, 96, 96, 96); + alphaTime(15, 0, 192); ++15: // 15 + stop(); + +interrupt[2]: + layer(15); + posTime(15, 5, 192.0, 64.0, 0.0); + colorTime(15, 0, 255, 255, 255); + alphaTime(15, 0, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 224.0, 72.0, 0.0); + colorTime(15, 0, 96, 96, 240); + alphaTime(15, 0, 192); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 672.0, 128.0, 0.0); ++30: // 108 + delete(); +} + + +entry { + path: "face/pl00/face_pl00n2.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite65: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00hp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite66: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00an.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite67: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00sw.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite68: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00dp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite69: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00pr.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite70: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00sp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite71: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl00/face_pl00no.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite72: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite73: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite74: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite75: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite76: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite77: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite78: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite79: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + }, +} + + +script 43 script43 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(-312.0, 448.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite72); + +interrupt[3]: + layer(15); + posTime(15, 2, -88.0, 392.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, -56.0, 384.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, -60.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, -58.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, -52.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, -54.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, -56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, -60.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, -58.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, -52.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, -58.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, -56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, -88.0, 392.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, -312.0, 448.0, 0.0); ++30: // 108 + delete(); +} + + +script 44 script44 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(312.0, 448.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite72); + +interrupt[3]: + layer(15); + posTime(15, 2, 88.0, 392.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, 56.0, 384.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 88.0, 392.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 312.0, 448.0, 0.0); ++30: // 108 + delete(); +} + + +script 45 script45 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(312.0, 448.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite72); + +interrupt[3]: + layer(15); + posTime(15, 2, 24.0, 392.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, -8.0, 384.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 24.0, 392.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 248.0, 448.0, 0.0); ++30: // 108 + delete(); +} + + +script 46 script46 { + ins_85(1); + randMode(1); + anchor(2, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(448.0, 384.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite72); + +interrupt[3]: + layer(15); + posTime(15, 2, 224.0, 328.0, 0.0); + colorTime(15, 0, 96, 96, 96); + alphaTime(15, 0, 192); ++15: // 15 + stop(); + +interrupt[2]: + layer(15); + posTime(15, 5, 192.0, 320.0, 0.0); + colorTime(15, 0, 255, 255, 255); + alphaTime(15, 0, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 224.0, 328.0, 0.0); + colorTime(15, 0, 96, 96, 240); + alphaTime(15, 0, 192); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 672.0, 384.0, 0.0); ++30: // 108 + delete(); +} + + +entry { + path: "face/pl00/face_pl00no.png", + img_width: 256, + img_height: 64, + offset_y: 256, + memory_priority: 0, + sprites: { + sprite80: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite81: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite82: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite83: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite84: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite85: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite86: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite87: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + }, +} + + +script 47 script47 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(-312.0, 512.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite80); + +interrupt[3]: + layer(15); + posTime(15, 2, -88.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, -56.0, 448.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, -60.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, -58.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, -52.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, -54.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, -56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, -60.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, -58.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, -52.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, -58.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, -56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, -88.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, -312.0, 512.0, 0.0); ++30: // 108 + delete(); +} + + +script 48 script48 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(312.0, 512.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite80); + +interrupt[3]: + layer(15); + posTime(15, 2, 88.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, 56.0, 448.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 88.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 312.0, 512.0, 0.0); ++30: // 108 + delete(); +} + + +script 49 script49 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(312.0, 512.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite80); + +interrupt[3]: + layer(15); + posTime(15, 2, 24.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, -8.0, 448.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 24.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 248.0, 512.0, 0.0); ++30: // 108 + delete(); +} + + +script 50 script50 { + ins_85(1); + randMode(1); + anchor(2, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(448.0, 512.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite80); + +interrupt[3]: + layer(15); + posTime(15, 2, 224.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 96); + alphaTime(15, 0, 192); ++15: // 15 + stop(); + +interrupt[2]: + layer(15); + posTime(15, 5, 192.0, 448.0, 0.0); + colorTime(15, 0, 255, 255, 255); + alphaTime(15, 0, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 224.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 240); + alphaTime(15, 0, 192); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 672.0, 512.0, 0.0); ++30: // 108 + delete(); +} + + +script 51 script51 { + alpha(0); + pos(192.0, 16.0, 0.0); + scriptNewFront(script39); + scriptNewFront(script43); + scriptNewFront(script47); + stop(); + +interrupt[1]: ++30: // 30 + delete(); +} + + +script 52 script52 { + alpha(0); + pos(256.0, 16.0, 0.0); + scriptNewFront(script40); + scriptNewFront(script44); + scriptNewFront(script48); + stop(); + +interrupt[1]: ++30: // 30 + delete(); +} + + +script 53 script53 { + alpha(0); + pos(256.0, 16.0, 0.0); + scriptNewFront(script41); + scriptNewFront(script45); + scriptNewFront(script49); + stop(); + +interrupt[1]: ++30: // 30 + delete(); +} + + +script 54 script54 { + alpha(0); + pos(224.0, 16.0, 0.0); + scriptNewFront(script42); + scriptNewFront(script46); + scriptNewFront(script50); + stop(); + +interrupt[1]: ++30: // 30 + delete(); +} diff --git a/research/pl01.tanm b/research/pl01.tanm new file mode 100644 index 0000000..4fa0ced --- /dev/null +++ b/research/pl01.tanm @@ -0,0 +1,2576 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "player/pl01/pl01.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 1.0, y: 1.0, w: 30.0, h: 46.0}, + sprite1: {x: 33.0, y: 1.0, w: 30.0, h: 46.0}, + sprite2: {x: 65.0, y: 1.0, w: 30.0, h: 46.0}, + sprite3: {x: 97.0, y: 1.0, w: 30.0, h: 46.0}, + sprite4: {x: 129.0, y: 1.0, w: 30.0, h: 46.0}, + sprite5: {x: 161.0, y: 1.0, w: 30.0, h: 46.0}, + sprite6: {x: 193.0, y: 1.0, w: 30.0, h: 46.0}, + sprite7: {x: 225.0, y: 1.0, w: 30.0, h: 46.0}, + sprite8: {x: 1.0, y: 49.0, w: 30.0, h: 46.0}, + sprite9: {x: 33.0, y: 49.0, w: 30.0, h: 46.0}, + sprite10: {x: 65.0, y: 49.0, w: 30.0, h: 46.0}, + sprite11: {x: 97.0, y: 49.0, w: 30.0, h: 46.0}, + sprite12: {x: 129.0, y: 49.0, w: 30.0, h: 46.0}, + sprite13: {x: 161.0, y: 49.0, w: 30.0, h: 46.0}, + sprite14: {x: 193.0, y: 49.0, w: 30.0, h: 46.0}, + sprite15: {x: 225.0, y: 49.0, w: 30.0, h: 46.0}, + sprite16: {x: 1.0, y: 97.0, w: 30.0, h: 46.0}, + sprite17: {x: 33.0, y: 97.0, w: 30.0, h: 46.0}, + sprite18: {x: 65.0, y: 97.0, w: 30.0, h: 46.0}, + sprite19: {x: 97.0, y: 97.0, w: 30.0, h: 46.0}, + sprite20: {x: 129.0, y: 97.0, w: 30.0, h: 46.0}, + sprite21: {x: 161.0, y: 97.0, w: 30.0, h: 46.0}, + sprite22: {x: 193.0, y: 97.0, w: 30.0, h: 46.0}, + sprite23: {x: 225.0, y: 97.0, w: 30.0, h: 46.0}, + sprite24: {x: 0.0, y: 144.0, w: 32.0, h: 16.0}, + sprite25: {x: 32.0, y: 144.0, w: 32.0, h: 16.0}, + sprite26: {x: 64.0, y: 144.0, w: 32.0, h: 16.0}, + sprite27: {x: 96.0, y: 144.0, w: 32.0, h: 16.0}, + sprite28: {x: 32.0, y: 160.0, w: 32.0, h: 8.0}, + sprite29: {x: 16.0, y: 160.0, w: 16.0, h: 16.0}, + sprite30: {x: 0.0, y: 192.0, w: 64.0, h: 64.0}, + sprite31: {x: 0.0, y: 160.0, w: 16.0, h: 16.0}, + sprite32: {x: 96.0, y: 192.0, w: 32.0, h: 32.0}, + sprite33: {x: 128.0, y: 192.0, w: 32.0, h: 32.0}, + sprite34: {x: 160.0, y: 192.0, w: 32.0, h: 32.0}, + sprite35: {x: 192.0, y: 192.0, w: 32.0, h: 32.0}, + sprite36: {x: 0.0, y: 178.0, w: 480.0, h: 14.0}, + sprite37: {x: 128.0, y: 144.0, w: 16.0, h: 16.0}, + sprite38: {x: 64.0, y: 160.0, w: 16.0, h: 16.0}, + sprite39: {x: 80.0, y: 160.0, w: 16.0, h: 16.0}, + sprite40: {x: 96.0, y: 160.0, w: 16.0, h: 16.0}, + sprite41: {x: 112.0, y: 160.0, w: 16.0, h: 16.0}, + sprite42: {x: 128.0, y: 160.0, w: 16.0, h: 16.0}, + sprite43: {x: 160.0, y: 144.0, w: 16.0, h: 16.0}, + sprite44: {x: 176.0, y: 144.0, w: 16.0, h: 16.0}, + sprite45: {x: 0.0, y: 192.0, w: 32.0, h: 16.0}, + sprite46: {x: 32.0, y: 192.0, w: 32.0, h: 16.0}, + sprite47: {x: 64.0, y: 192.0, w: 32.0, h: 16.0}, + sprite48: {x: 96.0, y: 192.0, w: 32.0, h: 16.0}, + sprite49: {x: 0.0, y: 208.0, w: 32.0, h: 16.0}, + sprite50: {x: 32.0, y: 208.0, w: 32.0, h: 16.0}, + sprite51: {x: 64.0, y: 208.0, w: 32.0, h: 16.0}, + sprite52: {x: 96.0, y: 208.0, w: 32.0, h: 16.0}, + sprite53: {x: 0.0, y: 224.0, w: 32.0, h: 16.0}, + sprite54: {x: 32.0, y: 224.0, w: 32.0, h: 16.0}, + sprite55: {x: 64.0, y: 224.0, w: 32.0, h: 16.0}, + sprite56: {x: 96.0, y: 224.0, w: 32.0, h: 16.0}, + sprite57: {x: 0.0, y: 240.0, w: 32.0, h: 16.0}, + sprite58: {x: 32.0, y: 240.0, w: 32.0, h: 16.0}, + sprite59: {x: 64.0, y: 240.0, w: 32.0, h: 16.0}, + sprite60: {x: 96.0, y: 240.0, w: 32.0, h: 16.0}, + sprite61: {x: 129.0, y: 193.0, w: 30.0, h: 14.0}, + sprite62: {x: 161.0, y: 193.0, w: 30.0, h: 14.0}, + sprite63: {x: 192.0, y: 192.0, w: 16.0, h: 16.0}, + sprite64: {x: 128.0, y: 224.0, w: 32.0, h: 32.0}, + sprite65: {x: 160.0, y: 224.0, w: 32.0, h: 32.0}, + sprite66: {x: 192.0, y: 224.0, w: 32.0, h: 32.0}, + sprite67: {x: 224.0, y: 224.0, w: 32.0, h: 32.0}, + sprite68: {x: 192.0, y: 144.0, w: 32.0, h: 32.0}, + sprite69: {x: 224.0, y: 144.0, w: 32.0, h: 32.0}, + }, +} + + +script 0 script0 { + loop { + sprite(sprite0); ++5: // 5 + sprite(sprite1); ++5: // 10 + sprite(sprite2); ++5: // 15 + sprite(sprite3); ++5: // 20 + sprite(sprite4); ++5: // 25 + sprite(sprite5); ++5: // 30 + sprite(sprite6); ++5: // 35 + sprite(sprite7); ++5: // 40 + } +} + + +script 1 script1 { + sprite(sprite8); ++1: // 1 + sprite(sprite9); ++1: // 2 + sprite(sprite10); ++1: // 3 + sprite(sprite11); + loop { ++1: // 4 + sprite(sprite12); ++5: // 9 + sprite(sprite13); ++5: // 14 + sprite(sprite14); ++5: // 19 + sprite(sprite15); ++4: // 23 + } +} + + +script 2 script2 { + sprite(sprite11); ++1: // 1 + sprite(sprite10); ++1: // 2 + sprite(sprite9); ++1: // 3 + sprite(sprite8); + loop { + sprite(sprite0); ++5: // 8 + sprite(sprite1); ++5: // 13 + sprite(sprite2); ++5: // 18 + sprite(sprite3); ++5: // 23 + sprite(sprite4); ++5: // 28 + sprite(sprite5); ++5: // 33 + sprite(sprite6); ++5: // 38 + sprite(sprite7); ++5: // 43 + } +} + + +script 3 script3 { + sprite(sprite16); ++1: // 1 + sprite(sprite17); ++1: // 2 + sprite(sprite18); ++1: // 3 + sprite(sprite19); ++1: // 4 + sprite(sprite20); + loop { ++5: // 9 + sprite(sprite21); ++5: // 14 + sprite(sprite22); ++5: // 19 + sprite(sprite23); ++4: // 23 + } +} + + +script 4 script4 { + sprite(sprite19); ++1: // 1 + sprite(sprite18); ++1: // 2 + sprite(sprite17); ++1: // 3 + sprite(sprite16); + loop { + sprite(sprite0); ++5: // 8 + sprite(sprite1); ++5: // 13 + sprite(sprite2); ++5: // 18 + sprite(sprite3); ++5: // 23 + sprite(sprite4); ++5: // 28 + sprite(sprite5); ++5: // 33 + sprite(sprite6); ++5: // 38 + sprite(sprite7); ++5: // 43 + } +} + + +script 5 script5 { + layer(10); + sprite(sprite24); + type(1); + alpha(128); + zWriteDisable(1); + ins_82(1); ++10000: // 10000 + static(); +} + + +script 6 script6 { + layer(10); + alpha(192); + alphaTime(30, 0, 0); + blendMode(1); + type(1); + sprite(sprite25); ++10: // 10 + sprite(sprite26); ++10: // 20 + sprite(sprite27); ++10: // 30 + delete(); +} + + +script 7 script7 { + layer(10); + sprite(sprite28); + type(1); + blendMode(1); + alpha(224); + zWriteDisable(1); + ins_82(1); + color(255, 64, 64); + colorTime(8, 0, 255, 255, 64); ++8: // 8 + colorTime(8, 0, 64, 255, 64); ++8: // 16 + colorTime(8, 0, 64, 255, 255); ++8: // 24 + colorTime(8, 0, 64, 64, 255); ++8: // 32 + colorTime(8, 0, 255, 64, 255); ++9968: // 10000 + static(); +} + + +script 8 script8 { + layer(10); + alpha(192); + alphaTime(30, 0, 0); + blendMode(1); + type(1); + sprite(sprite28); + scaleTime(20, 0, 5.0, 0.0); + F0 = RANDRAD / 16.0; + angleVel(0.0, 0.0, F0); ++20: // 20 + delete(); +} + + +script 9 script9 { + layer(10); + sprite(sprite45); + type(1); + alpha(128); + zWriteDisable(1); + ins_82(1); ++10000: // 10000 + static(); +} + + +script 10 script10 { + layer(10); + alpha(192); + alphaTime(30, 0, 0); + blendMode(1); + type(1); + sprite(sprite46); ++10: // 10 + sprite(sprite47); ++10: // 20 + sprite(sprite48); ++10: // 30 + delete(); +} + + +script 11 script11 { + layer(10); + sprite(sprite49); + type(1); + alpha(128); + zWriteDisable(1); + ins_82(1); ++10000: // 10000 + static(); +} + + +script 12 script12 { + layer(10); + alpha(192); + alphaTime(30, 0, 0); + blendMode(1); + type(1); + sprite(sprite50); ++10: // 10 + sprite(sprite51); ++10: // 20 + sprite(sprite52); ++10: // 30 + delete(); +} + + +script 13 script13 { + layer(10); + sprite(sprite53); + type(1); + alpha(128); + zWriteDisable(1); + ins_82(1); ++10000: // 10000 + static(); +} + + +script 14 script14 { + layer(10); + alpha(192); + alphaTime(30, 0, 0); + blendMode(1); + type(1); + sprite(sprite54); ++10: // 10 + sprite(sprite55); ++10: // 20 + sprite(sprite56); ++10: // 30 + delete(); +} + + +script 15 script15 { + layer(10); + sprite(sprite57); + type(1); + alpha(128); + zWriteDisable(1); + ins_82(1); ++10000: // 10000 + static(); +} + + +script 16 script16 { + layer(10); + alpha(192); + alphaTime(30, 0, 0); + blendMode(1); + type(1); + sprite(sprite58); ++10: // 10 + sprite(sprite59); ++10: // 20 + sprite(sprite60); ++10: // 30 + delete(); +} + + +script 17 script17 { + layer(10); + type(1); + alpha(255); + zWriteDisable(1); + ins_82(1); + loop { + scriptNewRoot(script20); + sprite(sprite61); ++1: // 1 + scriptNewRoot(script20); ++1: // 2 + sprite(sprite62); + scriptNewRoot(script20); ++1: // 3 + scriptNewRoot(script20); ++1: // 4 + } +} + + +script 18 script18 { + layer(10); + anchor(0, 0); + type(1); + blendMode(1); + alpha(192); + zWriteDisable(1); + scale(0.4, 0.4); + scaleTime(32, 6, 1.0, 1.0); + sprite(sprite64); ++5: // 5 + sprite(sprite65); ++5: // 10 + sprite(sprite66); ++5: // 15 + sprite(sprite67); + alphaTime(5, 0, 0); ++5: // 20 + delete(); +} + + +script 19 script19 { + layer(10); + anchor(0, 0); + type(1); + blendMode(1); + alpha(192); + zWriteDisable(1); + scale(0.4, 0.4); + scaleTime(32, 6, 2.0, 2.0); + sprite(sprite64); ++5: // 5 + sprite(sprite65); ++5: // 10 + sprite(sprite66); ++5: // 15 + sprite(sprite67); + alphaTime(5, 0, 0); ++5: // 20 + delete(); +} + + +script 20 script20 { + layer(6); + type(1); + sprite(sprite63); + zWriteDisable(1); + blendMode(1); + color(32, 32, 255); + rotate(0.0, 0.0, RANDRAD); + scale(0.5, 0.5); + scaleTime(7, 0, 2.0, 2.0); + alpha(255); ++4: // 4 + alphaTime(3, 0, 0); ++3: // 7 + delete(); +} + + +script 21 script21 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -1.5707964; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.19634955); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, -0.19634955); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 22 script22 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -1.6231562; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.14398967); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, -0.24870943); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 23 script23 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -1.5184364; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.24870943); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, -0.14398967); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 24 script24 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -1.727876; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.03926991); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, -0.35342917); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 25 script25 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -1.4137167; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.35342917); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, -0.03926991); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 26 script26 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -1.9634954; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, -0.19634955); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, -0.5890486); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 27 script27 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -1.1780972; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.5890486); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, 0.19634955); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 28 script28 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -1.6755161; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.09162979); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, -0.3010693); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 29 script29 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -1.4660766; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.3010693); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, -0.09162979); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 30 script30 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -1.7671459; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, -0.0000000000000013322676); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, -0.3926991); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 31 script31 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -1.3744467; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.3926991); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, 0.000000000000004440892); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 32 script32 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -2.0195954; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, -0.25244942); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, -0.6451485); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 33 script33 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite37); + F0 = -1.1219974; ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + rotateTime(20, 9, 0.0, 0.0, 0.6451485); ++20: // 36 + rotateTime(20, 9, 0.0, 0.0, 0.25244942); ++20: // 56 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 76 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 96 + delete(); +} + + +script 34 script34 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite38); ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + scaleTime(15, 9, 0.8, 0.8); ++15: // 31 + scaleTime(15, 9, 1.0, 1.0); ++15: // 46 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 66 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 86 + delete(); +} + + +script 35 script35 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite39); ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + scaleTime(15, 9, 0.8, 0.8); ++15: // 31 + scaleTime(15, 9, 1.0, 1.0); ++15: // 46 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 66 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 86 + delete(); +} + + +script 36 script36 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite40); ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + scaleTime(15, 9, 0.8, 0.8); ++15: // 31 + scaleTime(15, 9, 1.0, 1.0); ++15: // 46 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 66 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 86 + delete(); +} + + +script 37 script37 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite41); ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + scaleTime(15, 9, 0.8, 0.8); ++15: // 31 + scaleTime(15, 9, 1.0, 1.0); ++15: // 46 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 66 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 86 + delete(); +} + + +script 38 script38 { + layer(10); + blendMode(1); + type(1); + +interrupt[2]: + scale(0.0, 0.0); + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite42); ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + loop { + scaleTime(15, 9, 0.8, 0.8); ++15: // 31 + scaleTime(15, 9, 1.0, 1.0); ++15: // 46 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 66 + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 86 + delete(); +} + + +script 39 script39 { + layer(10); + blendMode(1); + type(1); + scale(0.0, 0.0); + +interrupt[2]: + scaleTime(10, 4, 1.4, 1.4); + sprite(sprite43); ++10: // 10 + scaleTime(6, 1, 1.0, 1.0); ++6: // 16 + blendMode(0); + sprite(sprite43); + loop { + scaleTime(15, 9, 0.8, 0.8); ++15: // 31 + scaleTime(15, 9, 1.0, 1.0); ++15: // 46 + } + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 66 + stop(); + +interrupt[6]: + blendMode(0); + scaleTime(6, 1, 1.0, 1.0); + sprite(sprite43); ++2: // 68 + sprite(sprite44); ++2: // 70 + sprite(sprite43); ++2: // 72 + sprite(sprite44); ++2: // 74 + sprite(sprite43); ++2: // 76 + sprite(sprite44); ++2: // 78 + sprite(sprite43); ++2: // 80 + sprite(sprite44); ++2: // 82 + sprite(sprite43); ++2: // 84 + sprite(sprite44); ++2: // 86 + sprite(sprite43); ++2: // 88 + sprite(sprite44); ++2: // 90 + sprite(sprite43); ++2: // 92 + sprite(sprite44); ++2: // 94 + sprite(sprite43); + loop { + scaleTime(15, 9, 0.8, 0.8); ++15: // 109 + scaleTime(15, 9, 1.0, 1.0); ++15: // 124 + } + stop(); + +interrupt[1]: + blendMode(1); + scaleTime(20, 4, 0.0, 3.0); ++20: // 144 + delete(); +} + + +script 40 script40 { + layer(10); + type(1); + blendMode(1); + +interrupt[2]: + alpha(0); + sprite(sprite38); + scaleTime(10, 0, 1.5, 1.5); + alphaTime(10, 0, 128); + angleVel(0.0, 0.0, -0.10471976); + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: ++10: // 30 + delete(); +} + + +script 41 script41 { + layer(10); + type(1); + +interrupt[2]: + blendMode(1); + alpha(0); + sprite(sprite38); + scaleTime(10, 0, 1.5, 1.5); + alphaTime(10, 0, 128); + angleVel(0.0, 0.0, -0.10471976); + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: ++10: // 30 + delete(); +} + + +script 42 script42 { + layer(10); + type(1); + +interrupt[2]: + blendMode(1); + alpha(0); + sprite(sprite43); + scaleTime(10, 0, 1.5, 1.5); + alphaTime(10, 0, 128); + angleVel(0.0, 0.0, -0.10471976); + stop(); + +interrupt[3]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: ++10: // 30 + delete(); +} + + +script 43 script43 { + layer(19); + type(1); + sprite(sprite68); + scale(4.0, 4.0); + scaleTime(8, 0, 1.0, 1.0); + alpha(0); + alphaTime(8, 0, 255); + scriptNew(script45); + scriptNew(script46); ++8: // 8 + nop(); + scaleTime(8, 9, 0.8, 0.8); + do { + scriptNew(script44); ++1: // 9 + } while (--I0); + scaleTime(8, 9, 1.0, 1.0); + loop { + do { + scriptNew(script44); ++1: // 10 + } while (--I0); + } + stop(); + +interrupt[1]: + posTime(16, 1, 0.0, 16.0, 0.0); + angleVel(0.0, 0.0, 0.19634955); + alphaTime(16, 0, 0); ++16: // 26 + delete(); +} + + +script 44 script44 { + layer(18); + type(1); + blendMode(1); + sprite(sprite69); + F0 = RANDF * 0.6; + F0 += 0.4; + scale(F0, F0); + F0 = RANDRAD; + F1 = cos(F0); + F2 = sin(F0); + F3 = F1 * 64.0; + F0 = F2 * 64.0; + pos(F3, F0, 0.0); + posTime(20, 4, 0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 4, 255); ++10: // 10 + alphaTime(10, 1, 0); + scaleTime(10, 1, 0.0, 0.0); ++10: // 20 + delete(); +} + + +script 45 script45 { + layer(10); + anchor(1, 0); + sprite(sprite36); + alpha(255); + anchor(1, 0); + blendMode(1); + type(1); + rotate(0.0, 0.0, -1.5707964); + scrollX(-0.02); + scale(1.0, 0.0); + scaleTime(8, 0, 1.0, 0.8); + +interrupt[3]: + colorTime(4, 0, 255, 255, 255); + stop(); + +interrupt[2]: + loop { + colorTime(4, 0, 255, 0, 0); ++4: // 4 + colorTime(4, 0, 255, 255, 0); ++4: // 8 + } + +interrupt[1]: + rotate(0.0, 0.0, -1.5707964); + scrollX(0.02); + scale(1.0, 0.8); + scaleTime(8, 0, 1.0, 0.0); ++8: // 16 + delete(); +} + + +script 46 script46 { + layer(18); + anchor(1, 0); + sprite(sprite36); + alpha(255); + anchor(1, 0); + blendMode(1); + type(1); + rotate(0.0, 0.0, -1.5707964); + scrollX(-0.02); + scale(1.0, 0.0); + scaleTime(8, 0, 1.0, 0.8); + +interrupt[3]: + colorTime(4, 0, 255, 255, 255); + stop(); + +interrupt[2]: + loop { + colorTime(4, 0, 255, 0, 0); ++4: // 4 + colorTime(4, 0, 255, 255, 0); ++4: // 8 + } + +interrupt[1]: + rotate(0.0, 0.0, -1.5707964); + scrollX(0.02); + scale(1.0, 0.8); + scaleTime(8, 0, 1.0, 0.0); ++8: // 16 + delete(); +} + + +entry { + path: "player/pl00/pl00c.png", + img_width: 128, + img_height: 128, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite70: {x: 0.0, y: 0.0, w: 128.0, h: 128.0}}, +} + + +entry { + path: "player/pl01/pl01b.png", + img_width: 256, + img_height: 256, + memory_priority: 0, + sprites: { + sprite71: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}, + sprite72: {x: 32.0, y: 0.0, w: 32.0, h: 256.0}, + sprite73: {x: 64.0, y: 0.0, w: 32.0, h: 256.0}, + sprite74: {x: 96.0, y: 0.0, w: 32.0, h: 256.0}, + sprite75: {x: 128.0, y: 0.0, w: 32.0, h: 256.0}, + }, +} + + +script 47 script47 { ++1: // 1 + scriptNewPos(script48, 0.0000000000000039187403, -64.0); + scriptNewPos(script49, 0.0000000000000039187403, -64.0); ++10: // 11 + scriptNewPos(script50, -37.618256, 51.77709); + scriptNewPos(script51, -37.618256, 51.77709); ++10: // 21 + scriptNewPos(script52, 60.86762, -19.777088); + scriptNewPos(script53, 60.86762, -19.777088); ++10: // 31 + scriptNewPos(script54, -60.86762, -19.777088); + scriptNewPos(script55, -60.86762, -19.777088); ++10: // 41 + scriptNewPos(script56, 37.618256, 51.77709); + scriptNewPos(script57, 37.618256, 51.77709); ++120: // 161 + nop(); ++20: // 181 + delete(); +} + + +script 48 script48 { + blendMode(1); + I0 = 64; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite71); + angleVel(0.0, 0.0, -0.31415927); + scale(16.0, 16.0); + scaleTime(60, 6, 32.0, 80.0); ++120: // 120 + alphaTime(20, 0, 0); + scaleTime(20, 6, 8.0, 8.0); ++20: // 140 + delete(); +} + + +script 49 script49 { + I0 = 32; + I1 = 8; + color(255, 0, 0); + texCircle(I0); + layer(3); + sprite(sprite70); + scale(16.0, 16.0); + scaleTime(60, 6, 80.0, 40.0); + scrollX(0.04); + alpha(255); ++120: // 120 + nop(); + scaleTime(20, 6, 8.0, 8.0); + scrollXTime(20, 0, -0.2); ++20: // 140 + delete(); +} + + +script 50 script50 { + blendMode(1); + I0 = 64; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite72); + angleVel(0.0, 0.0, -0.31415927); + scale(16.0, 16.0); + scaleTime(60, 6, 32.0, 80.0); ++120: // 120 + alphaTime(20, 0, 0); + scaleTime(20, 6, 8.0, 8.0); ++20: // 140 + delete(); +} + + +script 51 script51 { + I0 = 32; + I1 = 8; + color(0, 0, 255); + texCircle(I0); + layer(3); + sprite(sprite70); + scale(16.0, 16.0); + scaleTime(60, 6, 80.0, 40.0); + scrollX(0.04); + alpha(255); ++120: // 120 + nop(); + scaleTime(20, 6, 8.0, 8.0); + scrollXTime(20, 0, -0.2); ++20: // 140 + delete(); +} + + +script 52 script52 { + blendMode(1); + I0 = 64; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite73); + angleVel(0.0, 0.0, -0.31415927); + scale(16.0, 16.0); + scaleTime(60, 6, 32.0, 80.0); ++120: // 120 + alphaTime(20, 0, 0); + scaleTime(20, 6, 8.0, 8.0); ++20: // 140 + delete(); +} + + +script 53 script53 { + I0 = 32; + I1 = 8; + color(0, 255, 0); + texCircle(I0); + layer(3); + sprite(sprite70); + scale(16.0, 16.0); + scaleTime(60, 6, 80.0, 40.0); + scrollX(0.04); + alpha(255); ++120: // 120 + nop(); + scaleTime(20, 6, 8.0, 8.0); + scrollXTime(20, 0, -0.2); ++20: // 140 + delete(); +} + + +script 54 script54 { + blendMode(1); + I0 = 64; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite74); + angleVel(0.0, 0.0, -0.31415927); + scale(16.0, 16.0); + scaleTime(60, 6, 32.0, 80.0); ++120: // 120 + alphaTime(20, 0, 0); + scaleTime(20, 6, 8.0, 8.0); ++20: // 140 + delete(); +} + + +script 55 script55 { + I0 = 32; + I1 = 8; + color(255, 255, 0); + texCircle(I0); + layer(3); + sprite(sprite70); + scale(16.0, 16.0); + scaleTime(60, 6, 80.0, 40.0); + scrollX(0.04); + alpha(255); ++120: // 120 + nop(); + scaleTime(20, 6, 8.0, 8.0); + scrollXTime(20, 0, -0.2); ++20: // 140 + delete(); +} + + +script 56 script56 { + blendMode(1); + I0 = 64; + I1 = 3; + texCircle(I0); + layer(15); + sprite(sprite75); + angleVel(0.0, 0.0, -0.31415927); + scale(16.0, 16.0); + scaleTime(60, 6, 32.0, 80.0); ++120: // 120 + alphaTime(20, 0, 0); + scaleTime(20, 6, 8.0, 8.0); ++20: // 140 + delete(); +} + + +script 57 script57 { + I0 = 32; + I1 = 8; + color(255, 128, 32); + texCircle(I0); + layer(3); + sprite(sprite70); + scale(16.0, 16.0); + scaleTime(60, 6, 80.0, 40.0); + scrollX(0.04); + alpha(255); ++120: // 120 + nop(); + scaleTime(20, 6, 8.0, 8.0); + scrollXTime(20, 0, -0.2); ++20: // 140 + delete(); +} + + +entry { + path: "player/pl01/pl01c.png", + img_width: 256, + img_height: 256, + memory_priority: 0, + sprites: {sprite76: {x: 1.0, y: 1.0, w: 254.0, h: 254.0}}, +} + + +script 58 script58 { + layer(5); + blendMode(1); + type(1); + sprite(sprite76); + angleVel(0.0, 0.0, -0.05235988); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 0.0); + scaleTime(20, 0, 1.0, 1.0); ++20: // 20 + scaleTime(900, 0, 0.1, 0.1); ++900: // 920 + delete(); + +interrupt[1]: + scaleTime(30, 0, 3.0, 3.0); + alphaTime(30, 1, 0); ++30: // 950 + delete(); +} + + +entry { + path: "face/pl01/face_pl01no.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite77: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +script 59 script59 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(-312.0, 320.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite77); + +interrupt[3]: + layer(15); + posTime(15, 2, -88.0, 264.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, -56.0, 256.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, -60.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, -58.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, -52.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, -54.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, -56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, -60.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, -58.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, -52.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, -58.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, -56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, -88.0, 264.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, -312.0, 320.0, 0.0); ++30: // 108 + delete(); +} + + +script 60 script60 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(312.0, 320.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite77); + +interrupt[3]: + layer(15); + posTime(15, 2, 88.0, 264.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, 56.0, 256.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 88.0, 264.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 312.0, 320.0, 0.0); ++30: // 108 + delete(); +} + + +script 61 script61 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(312.0, 320.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite77); + +interrupt[3]: + layer(15); + posTime(15, 2, 24.0, 264.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, -8.0, 256.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 24.0, 264.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 248.0, 320.0, 0.0); ++30: // 108 + delete(); +} + + +script 62 script62 { + ins_85(1); + randMode(1); + anchor(2, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(448.0, 128.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite77); + +interrupt[3]: + layer(15); + posTime(15, 2, 224.0, 72.0, 0.0); + colorTime(15, 0, 96, 96, 96); + alphaTime(15, 0, 192); ++15: // 15 + stop(); + +interrupt[2]: + layer(15); + posTime(15, 5, 192.0, 64.0, 0.0); + colorTime(15, 0, 255, 255, 255); + alphaTime(15, 0, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 224.0, 72.0, 0.0); + colorTime(15, 0, 96, 96, 240); + alphaTime(15, 0, 192); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 672.0, 128.0, 0.0); ++30: // 108 + delete(); +} + + +entry { + path: "face/pl01/face_pl01n2.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite78: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl01/face_pl01hp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite79: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl01/face_pl01an.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite80: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl01/face_pl01sw.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite81: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl01/face_pl01dp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite82: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl01/face_pl01pr.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite83: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl01/face_pl01sp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite84: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl01/face_pl01no.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite85: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite86: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite87: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite88: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite89: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + }, +} + + +script 63 script63 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(-312.0, 448.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite85); + +interrupt[3]: + layer(15); + posTime(15, 2, -88.0, 392.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, -56.0, 384.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, -60.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, -58.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, -52.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, -54.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, -56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, -60.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, -58.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, -52.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, -58.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, -56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, -88.0, 392.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, -312.0, 448.0, 0.0); ++30: // 108 + delete(); +} + + +script 64 script64 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(312.0, 448.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite85); + +interrupt[3]: + layer(15); + posTime(15, 2, 88.0, 392.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, 56.0, 384.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 88.0, 392.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 312.0, 448.0, 0.0); ++30: // 108 + delete(); +} + + +script 65 script65 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(312.0, 448.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite85); + +interrupt[3]: + layer(15); + posTime(15, 2, 24.0, 392.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, -8.0, 384.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 24.0, 392.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 248.0, 448.0, 0.0); ++30: // 108 + delete(); +} + + +script 66 script66 { + ins_85(1); + randMode(1); + anchor(2, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(448.0, 384.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite85); + +interrupt[3]: + layer(15); + posTime(15, 2, 224.0, 328.0, 0.0); + colorTime(15, 0, 96, 96, 96); + alphaTime(15, 0, 192); ++15: // 15 + stop(); + +interrupt[2]: + layer(15); + posTime(15, 5, 192.0, 320.0, 0.0); + colorTime(15, 0, 255, 255, 255); + alphaTime(15, 0, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 224.0, 328.0, 0.0); + colorTime(15, 0, 96, 96, 240); + alphaTime(15, 0, 192); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 672.0, 384.0, 0.0); ++30: // 108 + delete(); +} + + +entry { + path: "face/pl01/face_pl01dp.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: {sprite90: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/pl01/face_pl01no.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite91: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite92: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + }, +} + + +entry { + path: "face/pl01/face_pl01no.png", + img_width: 256, + img_height: 64, + offset_y: 256, + memory_priority: 0, + sprites: { + sprite93: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite94: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite95: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite96: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite97: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite98: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite99: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite100: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + }, +} + + +script 67 script67 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(-312.0, 512.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite93); + +interrupt[3]: + layer(15); + posTime(15, 2, -88.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, -56.0, 448.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, -60.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, -58.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, -52.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, -54.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, -56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, -60.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, -58.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, -52.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, -58.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, -56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, -88.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, -312.0, 512.0, 0.0); ++30: // 108 + delete(); +} + + +script 68 script68 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(312.0, 512.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite93); + +interrupt[3]: + layer(15); + posTime(15, 2, 88.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, 56.0, 448.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 88.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 312.0, 512.0, 0.0); ++30: // 108 + delete(); +} + + +script 69 script69 { + ins_85(1); + randMode(1); + anchor(0, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(312.0, 512.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite93); + +interrupt[3]: + layer(15); + posTime(15, 2, 24.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 96); ++15: // 15 + stop(); + +interrupt[2]: + layer(16); + posTime(15, 5, -8.0, 448.0, 0.0); + colorTime(15, 0, 255, 255, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 24.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 240); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 248.0, 512.0, 0.0); ++30: // 108 + delete(); +} + + +script 70 script70 { + ins_85(1); + randMode(1); + anchor(2, 2); + alpha(0); + alphaTime(15, 0, 255); + pos(448.0, 512.0, 0.0); + layer(16); + resampleMode(1); + sprite(sprite93); + +interrupt[3]: + layer(15); + posTime(15, 2, 224.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 96); + alphaTime(15, 0, 192); ++15: // 15 + stop(); + +interrupt[2]: + layer(15); + posTime(15, 5, 192.0, 448.0, 0.0); + colorTime(15, 0, 255, 255, 255); + alphaTime(15, 0, 255); ++15: // 30 + stop(); + +interrupt[7]: + posTime(2, 0, 52.0, 380.0, 0.0); ++2: // 32 + posTime(2, 0, 54.0, 386.0, 0.0); ++2: // 34 + posTime(2, 0, 60.0, 382.0, 0.0); ++2: // 36 + posTime(2, 0, 58.0, 388.0, 0.0); ++2: // 38 + posTime(2, 0, 56.0, 380.0, 0.0); ++2: // 40 + posTime(2, 0, 52.0, 386.0, 0.0); ++2: // 42 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 44 + posTime(2, 0, 60.0, 388.0, 0.0); ++2: // 46 + posTime(2, 0, 54.0, 382.0, 0.0); ++2: // 48 + posTime(2, 0, 56.0, 386.0, 0.0); ++15: // 63 + stop(); + +interrupt[8]: + layer(15); + posTime(15, 2, 224.0, 456.0, 0.0); + colorTime(15, 0, 96, 96, 240); + alphaTime(15, 0, 192); ++15: // 78 + stop(); + +interrupt[1]: + posTime(30, 6, 672.0, 512.0, 0.0); ++30: // 108 + delete(); +} + + +script 71 script71 { + alpha(0); + pos(192.0, 16.0, 0.0); + scriptNew(script59); + scriptNew(script63); + scriptNew(script67); + stop(); + +interrupt[1]: ++30: // 30 + delete(); +} + + +script 72 script72 { + alpha(0); + pos(256.0, 16.0, 0.0); + scriptNew(script60); + scriptNew(script64); + scriptNew(script68); + stop(); + +interrupt[1]: ++30: // 30 + delete(); +} + + +script 73 script73 { + alpha(0); + pos(256.0, 16.0, 0.0); + scriptNewFront(script61); + scriptNewFront(script65); + scriptNewFront(script69); + stop(); + +interrupt[1]: ++30: // 30 + delete(); +} + + +script 74 script74 { + alpha(0); + pos(224.0, 16.0, 0.0); + scriptNewFront(script62); + scriptNewFront(script66); + scriptNewFront(script70); + stop(); + +interrupt[1]: ++30: // 30 + delete(); +} diff --git a/research/sig.tanm b/research/sig.tanm new file mode 100644 index 0000000..e633f79 --- /dev/null +++ b/research/sig.tanm @@ -0,0 +1,46 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "loading/sig.png", + img_width: 512, + img_height: 480, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script 0 script0 { + scriptNew(script1); + sprite(sprite0); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(22); + color(0, 0, 0); + colorTime(10, 0, 255, 255, 255); ++10: // 10 + stop(); +} + + +entry { + path: "loading/sig.png", + img_width: 128, + img_height: 480, + offset_x: 512, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script 1 script1 { + sprite(sprite1); + ins_85(1); + randMode(1); + pos(512.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + color(0, 0, 0); + colorTime(10, 0, 255, 255, 255); ++10: // 10 + stop(); +} diff --git a/research/st01logo.tanm b/research/st01logo.tanm new file mode 100644 index 0000000..cda5174 --- /dev/null +++ b/research/st01logo.tanm @@ -0,0 +1,115 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "front/st01logo.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 384.0, h: 32.0}, + sprite1: {x: 0.0, y: 32.0, w: 384.0, h: 16.0}, + sprite2: {x: 0.0, y: 48.0, w: 384.0, h: 32.0}, + sprite3: {x: 0.0, y: 80.0, w: 384.0, h: 16.0}, + sprite4: {x: 0.0, y: 96.0, w: 384.0, h: 16.0}, + }, +} + + +script 0 script0 { + wait(900); + scriptNew(script4); + scriptNew(script3); + scriptNew(script5); ++340: // 340 + delete(); +} + + +script 1 script1 { + layer(19); + resampleMode(1); + sprite(sprite3); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 2 script2 { + layer(19); + resampleMode(1); + sprite(sprite4); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 3 script3 { + layer(19); + resampleMode(1); + sprite(sprite0); + ins_85(1); + randMode(1); + alpha(0); ++60: // 60 + alphaTime(50, 0, 255); + pos(224.0, 192.0, 0.0); ++260: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} + + +script 4 script4 { + layer(19); + type(2); + sprite(sprite2); + ins_85(1); + randMode(1); + alpha(0); + alphaTime(50, 0, 255); + pos(224.0, 200.0, 0.0); + scale(2.0, 0.0); + scaleTime(60, 4, 1.0, 1.0); ++280: // 280 + scaleTime(60, 4, 1.0, 0.0); ++60: // 340 + delete(); +} + + +script 5 script5 { + layer(19); + resampleMode(1); + sprite(sprite1); + ins_85(1); + randMode(1); + pos(224.0, 216.0, 0.0); + alpha(0); ++90: // 90 + alphaTime(10, 0, 255); ++230: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} diff --git a/research/st02logo.tanm b/research/st02logo.tanm new file mode 100644 index 0000000..f179798 --- /dev/null +++ b/research/st02logo.tanm @@ -0,0 +1,115 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "front/st02logo.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 384.0, h: 32.0}, + sprite1: {x: 0.0, y: 32.0, w: 384.0, h: 16.0}, + sprite2: {x: 0.0, y: 48.0, w: 384.0, h: 32.0}, + sprite3: {x: 0.0, y: 80.0, w: 384.0, h: 16.0}, + sprite4: {x: 0.0, y: 96.0, w: 384.0, h: 16.0}, + }, +} + + +script 0 script0 { + wait(860); + scriptNew(script4); + scriptNew(script3); + scriptNew(script5); ++340: // 340 + delete(); +} + + +script 1 script1 { + layer(19); + resampleMode(1); + sprite(sprite3); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 2 script2 { + layer(19); + resampleMode(1); + sprite(sprite4); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 3 script3 { + layer(19); + resampleMode(1); + sprite(sprite0); + ins_85(1); + randMode(1); + alpha(0); ++60: // 60 + alphaTime(50, 0, 255); + pos(224.0, 192.0, 0.0); ++260: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} + + +script 4 script4 { + layer(19); + type(2); + sprite(sprite2); + ins_85(1); + randMode(1); + alpha(0); + alphaTime(50, 0, 255); + pos(224.0, 200.0, 0.0); + scale(2.0, 0.0); + scaleTime(60, 4, 1.0, 1.0); ++280: // 280 + scaleTime(60, 4, 1.0, 0.0); ++60: // 340 + delete(); +} + + +script 5 script5 { + layer(19); + resampleMode(1); + sprite(sprite1); + ins_85(1); + randMode(1); + pos(224.0, 216.0, 0.0); + alpha(0); ++90: // 90 + alphaTime(10, 0, 255); ++230: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} diff --git a/research/st03logo.tanm b/research/st03logo.tanm new file mode 100644 index 0000000..1c522a9 --- /dev/null +++ b/research/st03logo.tanm @@ -0,0 +1,115 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "front/st03logo.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 384.0, h: 32.0}, + sprite1: {x: 0.0, y: 32.0, w: 384.0, h: 16.0}, + sprite2: {x: 0.0, y: 48.0, w: 384.0, h: 32.0}, + sprite3: {x: 0.0, y: 80.0, w: 384.0, h: 16.0}, + sprite4: {x: 0.0, y: 96.0, w: 384.0, h: 16.0}, + }, +} + + +script 0 script0 { + wait(700); + scriptNew(script4); + scriptNew(script3); + scriptNew(script5); ++340: // 340 + delete(); +} + + +script 1 script1 { + layer(19); + resampleMode(1); + sprite(sprite3); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 2 script2 { + layer(19); + resampleMode(1); + sprite(sprite4); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 3 script3 { + layer(19); + resampleMode(1); + sprite(sprite0); + ins_85(1); + randMode(1); + alpha(0); ++60: // 60 + alphaTime(50, 0, 255); + pos(224.0, 192.0, 0.0); ++260: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} + + +script 4 script4 { + layer(19); + type(2); + sprite(sprite2); + ins_85(1); + randMode(1); + alpha(0); + alphaTime(50, 0, 255); + pos(224.0, 200.0, 0.0); + scale(2.0, 0.0); + scaleTime(60, 4, 1.0, 1.0); ++280: // 280 + scaleTime(60, 4, 1.0, 0.0); ++60: // 340 + delete(); +} + + +script 5 script5 { + layer(19); + resampleMode(1); + sprite(sprite1); + ins_85(1); + randMode(1); + pos(224.0, 216.0, 0.0); + alpha(0); ++90: // 90 + alphaTime(10, 0, 255); ++230: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} diff --git a/research/st04logo.tanm b/research/st04logo.tanm new file mode 100644 index 0000000..9b33ccb --- /dev/null +++ b/research/st04logo.tanm @@ -0,0 +1,115 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "front/st04logo.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 384.0, h: 32.0}, + sprite1: {x: 0.0, y: 32.0, w: 384.0, h: 16.0}, + sprite2: {x: 0.0, y: 48.0, w: 384.0, h: 32.0}, + sprite3: {x: 0.0, y: 80.0, w: 384.0, h: 16.0}, + sprite4: {x: 0.0, y: 96.0, w: 384.0, h: 16.0}, + }, +} + + +script 0 script0 { + wait(360); + scriptNew(script4); + scriptNew(script3); + scriptNew(script5); ++340: // 340 + delete(); +} + + +script 1 script1 { + layer(19); + resampleMode(1); + sprite(sprite3); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 2 script2 { + layer(19); + resampleMode(1); + sprite(sprite4); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 3 script3 { + layer(19); + resampleMode(1); + sprite(sprite0); + ins_85(1); + randMode(1); + alpha(0); ++60: // 60 + alphaTime(50, 0, 255); + pos(224.0, 192.0, 0.0); ++260: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} + + +script 4 script4 { + layer(19); + type(2); + sprite(sprite2); + ins_85(1); + randMode(1); + alpha(0); + alphaTime(50, 0, 255); + pos(224.0, 200.0, 0.0); + scale(2.0, 0.0); + scaleTime(60, 4, 1.0, 1.0); ++280: // 280 + scaleTime(60, 4, 1.0, 0.0); ++60: // 340 + delete(); +} + + +script 5 script5 { + layer(19); + resampleMode(1); + sprite(sprite1); + ins_85(1); + randMode(1); + pos(224.0, 216.0, 0.0); + alpha(0); ++90: // 90 + alphaTime(10, 0, 255); ++230: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} diff --git a/research/st05logo.tanm b/research/st05logo.tanm new file mode 100644 index 0000000..5c235a3 --- /dev/null +++ b/research/st05logo.tanm @@ -0,0 +1,116 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "front/st05logo.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 384.0, h: 32.0}, + sprite1: {x: 0.0, y: 32.0, w: 384.0, h: 16.0}, + sprite2: {x: 0.0, y: 48.0, w: 384.0, h: 32.0}, + sprite3: {x: 0.0, y: 80.0, w: 384.0, h: 16.0}, + sprite4: {x: 0.0, y: 96.0, w: 384.0, h: 16.0}, + }, +} + + +script 0 script0 { + wait(1140); + scriptNew(script4); + scriptNew(script3); + scriptNew(script5); ++340: // 340 + delete(); +} + + +script 1 script1 { + layer(19); + resampleMode(1); + sprite(sprite3); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); + wait(800); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 2 script2 { + layer(19); + resampleMode(1); + sprite(sprite4); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 3 script3 { + layer(19); + resampleMode(1); + sprite(sprite0); + ins_85(1); + randMode(1); + alpha(0); ++60: // 60 + alphaTime(50, 0, 255); + pos(224.0, 192.0, 0.0); ++260: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} + + +script 4 script4 { + layer(19); + type(2); + sprite(sprite2); + ins_85(1); + randMode(1); + alpha(0); + alphaTime(50, 0, 255); + pos(224.0, 200.0, 0.0); + scale(2.0, 0.0); + scaleTime(60, 4, 1.0, 1.0); ++280: // 280 + scaleTime(60, 4, 1.0, 0.0); ++60: // 340 + delete(); +} + + +script 5 script5 { + layer(19); + resampleMode(1); + sprite(sprite1); + ins_85(1); + randMode(1); + pos(224.0, 216.0, 0.0); + alpha(0); ++90: // 90 + alphaTime(10, 0, 255); ++230: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} diff --git a/research/st06logo.tanm b/research/st06logo.tanm new file mode 100644 index 0000000..e2a18ec --- /dev/null +++ b/research/st06logo.tanm @@ -0,0 +1,116 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "front/st06logo.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 384.0, h: 32.0}, + sprite1: {x: 0.0, y: 32.0, w: 384.0, h: 16.0}, + sprite2: {x: 0.0, y: 48.0, w: 384.0, h: 32.0}, + sprite3: {x: 0.0, y: 80.0, w: 384.0, h: 16.0}, + sprite4: {x: 0.0, y: 96.0, w: 384.0, h: 16.0}, + }, +} + + +script 0 script0 { + wait(260); + scriptNew(script4); + scriptNew(script3); + scriptNew(script5); ++340: // 340 + delete(); +} + + +script 1 script1 { + layer(19); + resampleMode(1); + sprite(sprite3); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); + wait(800); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 2 script2 { + layer(19); + resampleMode(1); + sprite(sprite4); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 3 script3 { + layer(19); + resampleMode(1); + sprite(sprite0); + ins_85(1); + randMode(1); + alpha(0); ++60: // 60 + alphaTime(50, 0, 255); + pos(224.0, 192.0, 0.0); ++260: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} + + +script 4 script4 { + layer(19); + type(2); + sprite(sprite2); + ins_85(1); + randMode(1); + alpha(0); + alphaTime(50, 0, 255); + pos(224.0, 200.0, 0.0); + scale(2.0, 0.0); + scaleTime(60, 4, 1.0, 1.0); ++280: // 280 + scaleTime(60, 4, 1.0, 0.0); ++60: // 340 + delete(); +} + + +script 5 script5 { + layer(19); + resampleMode(1); + sprite(sprite1); + ins_85(1); + randMode(1); + pos(224.0, 216.0, 0.0); + alpha(0); ++90: // 90 + alphaTime(10, 0, 255); ++230: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} diff --git a/research/st07logo.tanm b/research/st07logo.tanm new file mode 100644 index 0000000..62249c0 --- /dev/null +++ b/research/st07logo.tanm @@ -0,0 +1,115 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "front/st07logo.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 384.0, h: 32.0}, + sprite1: {x: 0.0, y: 32.0, w: 384.0, h: 16.0}, + sprite2: {x: 0.0, y: 48.0, w: 384.0, h: 32.0}, + sprite3: {x: 0.0, y: 80.0, w: 384.0, h: 16.0}, + sprite4: {x: 0.0, y: 96.0, w: 384.0, h: 16.0}, + }, +} + + +script 0 script0 { + wait(60); + scriptNew(script4); + scriptNew(script3); + scriptNew(script5); ++340: // 340 + delete(); +} + + +script 1 script1 { + layer(19); + resampleMode(1); + sprite(sprite3); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 2 script2 { + layer(19); + resampleMode(1); + sprite(sprite4); + ins_85(1); + randMode(1); + anchor(1, 2); + type(0); + pos(416.0, 464.0, 0.0); ++60: // 60 + posTime(60, 1, 32.0, 464.0, 0.0); ++260: // 320 + alphaTime(20, 0, 0); + posTime(20, 1, 32.0, 480.0, 0.0); ++20: // 340 + delete(); +} + + +script 3 script3 { + layer(19); + resampleMode(1); + sprite(sprite0); + ins_85(1); + randMode(1); + alpha(0); ++60: // 60 + alphaTime(50, 0, 255); + pos(224.0, 192.0, 0.0); ++260: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} + + +script 4 script4 { + layer(19); + type(2); + sprite(sprite2); + ins_85(1); + randMode(1); + alpha(0); + alphaTime(50, 0, 255); + pos(224.0, 200.0, 0.0); + scale(2.0, 0.0); + scaleTime(60, 4, 1.0, 1.0); ++280: // 280 + scaleTime(60, 4, 1.0, 0.0); ++60: // 340 + delete(); +} + + +script 5 script5 { + layer(19); + resampleMode(1); + sprite(sprite1); + ins_85(1); + randMode(1); + pos(224.0, 216.0, 0.0); + alpha(0); ++90: // 90 + alphaTime(10, 0, 255); ++230: // 320 + alphaTime(60, 0, 0); ++60: // 380 + delete(); +} diff --git a/research/staff.tanm b/research/staff.tanm new file mode 100644 index 0000000..caf4798 --- /dev/null +++ b/research/staff.tanm @@ -0,0 +1,893 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "ending/st00.png", + img_width: 512, + img_height: 480, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +entry { + path: "ending/st00.png", + img_width: 128, + img_height: 480, + offset_x: 512, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script 0 script0 { + layer(22); + scriptNew(script1); + type(0); + anchor(1, 1); + sprite(sprite0); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(80, 0, 255); ++60: // 60 + stop(); +} + + +script 1 script1 { + layer(22); + sprite(sprite1); + type(0); + anchor(1, 1); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(80, 0, 255); ++60: // 60 + stop(); +} + + +entry { + path: "ending/st02.png", + img_width: 256, + img_height: 256, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 256.0, h: 480.0}}, +} + + +script 2 script2 { + layer(22); + type(2); + anchor(1, 1); + sprite(sprite2); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(80, 0, 192); + scrollY(-0.001); ++60: // 60 + stop(); +} + + +entry { + path: "ending/staff.png", + img_width: 256, + img_height: 512, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: { + sprite3: {x: 0.0, y: 0.0, w: 256.0, h: 32.0}, + sprite4: {x: 0.0, y: 0.0, w: 32.0, h: 32.0}, + sprite5: {x: 0.0, y: 32.0, w: 256.0, h: 32.0}, + sprite6: {x: 0.0, y: 32.0, w: 32.0, h: 32.0}, + sprite7: {x: 0.0, y: 64.0, w: 256.0, h: 32.0}, + sprite8: {x: 0.0, y: 64.0, w: 32.0, h: 32.0}, + sprite9: {x: 0.0, y: 96.0, w: 256.0, h: 32.0}, + sprite10: {x: 0.0, y: 96.0, w: 32.0, h: 32.0}, + sprite11: {x: 0.0, y: 128.0, w: 256.0, h: 32.0}, + sprite12: {x: 0.0, y: 128.0, w: 32.0, h: 32.0}, + sprite13: {x: 0.0, y: 160.0, w: 256.0, h: 32.0}, + sprite14: {x: 0.0, y: 160.0, w: 32.0, h: 32.0}, + sprite15: {x: 0.0, y: 192.0, w: 256.0, h: 32.0}, + sprite16: {x: 0.0, y: 192.0, w: 32.0, h: 32.0}, + sprite17: {x: 0.0, y: 224.0, w: 256.0, h: 32.0}, + sprite18: {x: 0.0, y: 224.0, w: 32.0, h: 32.0}, + sprite19: {x: 0.0, y: 256.0, w: 256.0, h: 32.0}, + sprite20: {x: 0.0, y: 256.0, w: 32.0, h: 32.0}, + sprite21: {x: 0.0, y: 288.0, w: 256.0, h: 32.0}, + sprite22: {x: 0.0, y: 288.0, w: 32.0, h: 32.0}, + sprite23: {x: 0.0, y: 320.0, w: 256.0, h: 32.0}, + sprite24: {x: 0.0, y: 320.0, w: 32.0, h: 32.0}, + sprite25: {x: 0.0, y: 352.0, w: 256.0, h: 32.0}, + sprite26: {x: 0.0, y: 352.0, w: 32.0, h: 32.0}, + sprite27: {x: 0.0, y: 384.0, w: 256.0, h: 32.0}, + sprite28: {x: 0.0, y: 384.0, w: 32.0, h: 32.0}, + sprite29: {x: 0.0, y: 416.0, w: 256.0, h: 32.0}, + sprite30: {x: 0.0, y: 416.0, w: 32.0, h: 32.0}, + sprite31: {x: 0.0, y: 448.0, w: 256.0, h: 32.0}, + sprite32: {x: 0.0, y: 448.0, w: 32.0, h: 32.0}, + sprite33: {x: 0.0, y: 480.0, w: 256.0, h: 32.0}, + sprite34: {x: 0.0, y: 480.0, w: 32.0, h: 32.0}, + }, +} + + +script 3 script3 { + blendMode(1); + sprite(sprite4); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 4 script4 { + sprite(sprite3); + anchor(0, 0); + layer(22); + pos(128.0, 208.0, 0.0); + scriptNew(script3); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script5); + color(255, 255, 255); ++330: // 360 + alphaTime(30, 0, 0); ++30: // 390 + delete(); +} + + +script 5 script5 { + blendMode(1); + sprite(sprite3); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 6 script6 { + blendMode(1); + sprite(sprite6); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 7 script7 { + sprite(sprite5); + anchor(0, 0); + layer(22); + pos(128.0, 256.0, 0.0); + scriptNew(script6); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script8); + color(255, 255, 255); ++310: // 340 + alphaTime(30, 0, 0); ++30: // 370 + delete(); +} + + +script 8 script8 { + blendMode(1); + sprite(sprite5); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 9 script9 { + blendMode(1); + sprite(sprite8); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 10 script10 { + sprite(sprite7); + anchor(0, 0); + layer(22); + pos(128.0, 240.0, 0.0); + scriptNew(script9); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script11); + color(255, 255, 255); ++340: // 370 + alphaTime(30, 0, 0); ++30: // 400 + delete(); +} + + +script 11 script11 { + blendMode(1); + sprite(sprite7); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 12 script12 { + blendMode(1); + sprite(sprite10); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 13 script13 { + sprite(sprite9); + anchor(0, 0); + layer(22); + pos(128.0, 240.0, 0.0); + scriptNew(script12); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script14); + color(255, 255, 255); ++340: // 370 + alphaTime(30, 0, 0); ++30: // 400 + delete(); +} + + +script 14 script14 { + blendMode(1); + sprite(sprite9); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 15 script15 { + blendMode(1); + sprite(sprite12); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 16 script16 { + sprite(sprite11); + anchor(0, 0); + layer(22); + pos(128.0, 160.0, 0.0); + scriptNew(script15); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script17); + color(255, 255, 255); ++440: // 470 + alphaTime(30, 0, 0); ++30: // 500 + delete(); +} + + +script 17 script17 { + blendMode(1); + sprite(sprite11); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 18 script18 { + blendMode(1); + sprite(sprite14); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 19 script19 { + sprite(sprite13); + anchor(0, 0); + layer(22); + pos(128.0, 192.0, 0.0); + scriptNew(script18); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script20); + color(255, 255, 255); ++420: // 450 + alphaTime(30, 0, 0); ++30: // 480 + delete(); +} + + +script 20 script20 { + blendMode(1); + sprite(sprite13); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 21 script21 { + blendMode(1); + sprite(sprite16); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 22 script22 { + sprite(sprite15); + anchor(0, 0); + layer(22); + pos(128.0, 224.0, 0.0); + scriptNew(script21); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script23); + color(255, 255, 255); ++400: // 430 + alphaTime(30, 0, 0); ++30: // 460 + delete(); +} + + +script 23 script23 { + blendMode(1); + sprite(sprite15); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 24 script24 { + blendMode(1); + sprite(sprite18); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 25 script25 { + sprite(sprite17); + anchor(0, 0); + layer(22); + pos(128.0, 256.0, 0.0); + scriptNew(script24); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script26); + color(255, 255, 255); ++380: // 410 + alphaTime(30, 0, 0); ++30: // 440 + delete(); +} + + +script 26 script26 { + blendMode(1); + sprite(sprite17); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 27 script27 { + blendMode(1); + sprite(sprite20); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 28 script28 { + sprite(sprite19); + anchor(0, 0); + layer(22); + pos(128.0, 288.0, 0.0); + scriptNew(script27); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script29); + color(255, 255, 255); ++360: // 390 + alphaTime(30, 0, 0); ++30: // 420 + delete(); +} + + +script 29 script29 { + blendMode(1); + sprite(sprite19); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 30 script30 { + blendMode(1); + sprite(sprite22); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 31 script31 { + sprite(sprite21); + anchor(0, 0); + layer(22); + pos(128.0, 336.0, 0.0); + scriptNew(script30); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script32); + color(255, 255, 255); ++340: // 370 + alphaTime(30, 0, 0); ++30: // 400 + delete(); +} + + +script 32 script32 { + blendMode(1); + sprite(sprite21); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 33 script33 { + blendMode(1); + sprite(sprite24); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 34 script34 { + sprite(sprite23); + anchor(0, 0); + layer(22); + pos(128.0, 192.0, 0.0); + scriptNew(script33); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script35); + color(255, 255, 255); ++440: // 470 + alphaTime(30, 0, 0); ++30: // 500 + delete(); +} + + +script 35 script35 { + blendMode(1); + sprite(sprite23); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 36 script36 { + blendMode(1); + sprite(sprite26); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 37 script37 { + sprite(sprite25); + anchor(0, 0); + layer(22); + pos(128.0, 240.0, 0.0); + scriptNew(script36); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script38); + color(255, 255, 255); ++420: // 450 + alphaTime(30, 0, 0); ++30: // 480 + delete(); +} + + +script 38 script38 { + blendMode(1); + sprite(sprite25); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 39 script39 { + blendMode(1); + sprite(sprite28); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 40 script40 { + sprite(sprite27); + anchor(0, 0); + layer(22); + pos(128.0, 272.0, 0.0); + scriptNew(script39); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script41); + color(255, 255, 255); ++400: // 430 + alphaTime(30, 0, 0); ++30: // 460 + delete(); +} + + +script 41 script41 { + blendMode(1); + sprite(sprite27); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 42 script42 { + blendMode(1); + sprite(sprite30); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 43 script43 { + sprite(sprite29); + anchor(0, 0); + layer(22); + pos(128.0, 192.0, 0.0); + scriptNew(script42); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script44); + color(255, 255, 255); ++440: // 470 + alphaTime(30, 0, 0); ++30: // 500 + delete(); +} + + +script 44 script44 { + blendMode(1); + sprite(sprite29); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 45 script45 { + blendMode(1); + sprite(sprite32); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 46 script46 { + sprite(sprite31); + anchor(0, 0); + layer(22); + pos(128.0, 240.0, 0.0); + scriptNew(script45); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script47); + color(255, 255, 255); ++420: // 450 + alphaTime(30, 0, 0); ++30: // 480 + delete(); +} + + +script 47 script47 { + blendMode(1); + sprite(sprite31); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +script 48 script48 { + blendMode(1); + sprite(sprite34); + anchor(0, 0); + layer(23); + pos(-112.0, 0.0, 0.0); + posTime(30, 0, 112.0, 0.0, 0.0); + scrollX(0.029166667); ++30: // 30 + delete(); +} + + +script 49 script49 { + sprite(sprite33); + anchor(0, 0); + layer(22); + pos(128.0, 224.0, 0.0); + scriptNew(script48); + color(128, 128, 128); + colorTime(30, 0, 255, 255, 255); ++30: // 30 + scriptNew(script50); + color(255, 255, 255); + stop(); ++30: // 60 + delete(); +} + + +script 50 script50 { + blendMode(1); + sprite(sprite33); + anchor(0, 0); + layer(22); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(10, 0, 0); + scaleTime(10, 0, 2.0, 2.0); ++10: // 10 + delete(); +} + + +entry { + path: "ending/staff2.png", + img_width: 256, + img_height: 128, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: { + sprite35: {x: 0.0, y: 0.0, w: 256.0, h: 32.0}, + sprite36: {x: 0.0, y: 32.0, w: 256.0, h: 32.0}, + sprite37: {x: 0.0, y: 64.0, w: 256.0, h: 32.0}, + sprite38: {x: 0.0, y: 96.0, w: 256.0, h: 32.0}, + }, +} + + +script 51 script51 { + sprite(sprite35); + anchor(0, 0); + layer(23); + pos(512.0, 460.0, 0.0); + alpha(0); + alphaTime(60, 0, 255); + stop(); +} + + +script 52 script52 { + sprite(sprite36); + anchor(0, 0); + layer(23); + pos(128.0, 272.0, 0.0); + alpha(0); ++120: // 120 + alphaTime(60, 0, 255); + stop(); +} + + +script 53 script53 { + sprite(sprite37); + anchor(0, 0); + layer(23); + pos(128.0, 272.0, 0.0); + alpha(0); ++120: // 120 + alphaTime(60, 0, 255); + stop(); +} + + +script 54 script54 { + sprite(sprite38); + anchor(0, 0); + layer(23); + pos(128.0, 272.0, 0.0); + alpha(0); ++120: // 120 + alphaTime(60, 0, 255); + stop(); +} diff --git a/research/stage01.tanm b/research/stage01.tanm new file mode 100644 index 0000000..4480a72 --- /dev/null +++ b/research/stage01.tanm @@ -0,0 +1,749 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "background/stage01/stage01a.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 11, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}, + sprite1: {x: 32.0, y: 0.0, w: 32.0, h: 256.0}, + sprite2: {x: 64.0, y: 0.0, w: 32.0, h: 256.0}, + sprite3: {x: 96.0, y: 0.0, w: 32.0, h: 256.0}, + sprite4: {x: 128.0, y: 0.0, w: 32.0, h: 256.0}, + sprite5: {x: 160.0, y: 0.0, w: 32.0, h: 256.0}, + sprite6: {x: 192.0, y: 0.0, w: 32.0, h: 256.0}, + sprite7: {x: 224.0, y: 0.0, w: 32.0, h: 256.0}, + }, +} + + +script 0 script0 { + type(8); + sprite(sprite0); + rotate(0.0, -0.98901993, 0.0); + pos(-262.78854, 0.0, 5.120286); + stop(); +} + + +script 1 script1 { + type(8); + sprite(sprite0); + rotate(0.0, 4.1306124, 0.0); + pos(262.78854, 0.0, 5.120286); + stop(); +} + + +script 2 script2 { + type(8); + sprite(sprite1); + rotate(0.0, -0.87266463, 0.0); + pos(-237.37227, 0.0, 39.260265); + stop(); +} + + +script 3 script3 { + type(8); + sprite(sprite1); + rotate(0.0, 4.0142574, 0.0); + pos(237.37227, 0.0, 39.260265); + stop(); +} + + +script 4 script4 { + type(8); + sprite(sprite2); + rotate(0.0, -0.75630933, 0.0); + pos(-208.16444, 0.0, 70.21875); + stop(); +} + + +script 5 script5 { + type(8); + sprite(sprite2); + rotate(0.0, 3.897902, 0.0); + pos(208.16444, 0.0, 70.21875); + stop(); +} + + +script 6 script6 { + type(8); + sprite(sprite3); + rotate(0.0, -0.63995403, 0.0); + pos(-175.56004, 0.0, 97.57709); + stop(); +} + + +script 7 script7 { + type(8); + sprite(sprite3); + rotate(0.0, 3.7815468, 0.0); + pos(175.56004, 0.0, 97.57709); + stop(); +} + + +script 8 script8 { + type(8); + sprite(sprite4); + rotate(0.0, -0.5235988, 0.0); + pos(-140.0, 0.0, 120.9653); + stop(); +} + + +script 9 script9 { + type(8); + sprite(sprite4); + rotate(0.0, 3.6651914, 0.0); + pos(140.0, 0.0, 120.9653); + stop(); +} + + +script 10 script10 { + type(8); + sprite(sprite5); + rotate(0.0, -0.4072435, 0.0); + pos(-101.965195, 0.0, 140.0671); + stop(); +} + + +script 11 script11 { + type(8); + sprite(sprite5); + rotate(0.0, 3.5488362, 0.0); + pos(101.965195, 0.0, 140.0671); + stop(); +} + + +script 12 script12 { + type(8); + sprite(sprite6); + rotate(0.0, -0.29088822, 0.0); + pos(-61.969982, 0.0, 154.62416); + stop(); +} + + +script 13 script13 { + type(8); + sprite(sprite6); + rotate(0.0, 3.4324808, 0.0); + pos(61.969982, 0.0, 154.62416); + stop(); +} + + +script 14 script14 { + type(8); + sprite(sprite7); + rotate(0.0, -0.17453292, 0.0); + pos(-20.555233, 0.0, 164.43964); + stop(); +} + + +script 15 script15 { + type(8); + sprite(sprite7); + rotate(0.0, 3.3161256, 0.0); + pos(20.555233, 0.0, 164.43964); + stop(); +} + + +entry { + path: "background/stage01/stage01b.png", + img_width: 256, + img_height: 256, + memory_priority: 11, + sprites: { + sprite8: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}, + sprite9: {x: 224.0, y: 0.0, w: 32.0, h: 256.0}, + sprite10: {x: 32.0, y: 0.0, w: 32.0, h: 256.0}, + sprite11: {x: 192.0, y: 0.0, w: 32.0, h: 256.0}, + sprite12: {x: 64.0, y: 0.0, w: 32.0, h: 256.0}, + sprite13: {x: 160.0, y: 0.0, w: 32.0, h: 256.0}, + sprite14: {x: 96.0, y: 0.0, w: 32.0, h: 256.0}, + sprite15: {x: 128.0, y: 0.0, w: 32.0, h: 256.0}, + sprite16: {x: 128.0, y: 0.0, w: 32.0, h: 256.0}, + sprite17: {x: 96.0, y: 0.0, w: 32.0, h: 256.0}, + sprite18: {x: 160.0, y: 0.0, w: 32.0, h: 256.0}, + sprite19: {x: 64.0, y: 0.0, w: 32.0, h: 256.0}, + sprite20: {x: 192.0, y: 0.0, w: 32.0, h: 256.0}, + sprite21: {x: 32.0, y: 0.0, w: 32.0, h: 256.0}, + sprite22: {x: 224.0, y: 0.0, w: 32.0, h: 256.0}, + sprite23: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}, + sprite24: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}, + sprite25: {x: 224.0, y: 0.0, w: 32.0, h: 256.0}, + sprite26: {x: 32.0, y: 0.0, w: 32.0, h: 256.0}, + sprite27: {x: 192.0, y: 0.0, w: 32.0, h: 256.0}, + sprite28: {x: 64.0, y: 0.0, w: 32.0, h: 256.0}, + sprite29: {x: 160.0, y: 0.0, w: 32.0, h: 256.0}, + sprite30: {x: 96.0, y: 0.0, w: 32.0, h: 256.0}, + sprite31: {x: 128.0, y: 0.0, w: 32.0, h: 256.0}, + sprite32: {x: 128.0, y: 0.0, w: 32.0, h: 256.0}, + sprite33: {x: 96.0, y: 0.0, w: 32.0, h: 256.0}, + sprite34: {x: 160.0, y: 0.0, w: 32.0, h: 256.0}, + sprite35: {x: 64.0, y: 0.0, w: 32.0, h: 256.0}, + sprite36: {x: 192.0, y: 0.0, w: 32.0, h: 256.0}, + sprite37: {x: 32.0, y: 0.0, w: 32.0, h: 256.0}, + sprite38: {x: 224.0, y: 0.0, w: 32.0, h: 256.0}, + sprite39: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}, + }, +} + + +script 16 script16 { + type(8); + blendMode(1); + sprite(sprite8); + rotate(0.0, -0.98901993, 0.0); + pos(-263.13855, 0.0, 5.120286); + scrollX(0.01); + scrollY(0.02); + zWriteDisable(1); + color(64, 64, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 17 script17 { + type(8); + blendMode(1); + sprite(sprite9); + rotate(0.0, 0.98901993, 0.0); + pos(263.13855, 0.0, 5.120286); + zWriteDisable(1); + color(64, 64, 255); + scrollX(0.01); + scrollY(0.02); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 18 script18 { + type(8); + blendMode(1); + sprite(sprite10); + rotate(0.0, -0.87266463, 0.0); + pos(-237.72226, 0.0, 39.260265); + scrollX(0.01); + scrollY(0.02); + zWriteDisable(1); + color(64, 64, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 19 script19 { + type(8); + blendMode(1); + sprite(sprite11); + rotate(0.0, 0.87266463, 0.0); + pos(237.72226, 0.0, 39.260265); + zWriteDisable(1); + color(64, 64, 255); + scrollX(0.01); + scrollY(0.02); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 20 script20 { + type(8); + blendMode(1); + sprite(sprite12); + rotate(0.0, -0.75630933, 0.0); + pos(-208.51443, 0.0, 70.21875); + scrollX(0.01); + scrollY(0.02); + zWriteDisable(1); + color(64, 64, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 21 script21 { + type(8); + blendMode(1); + sprite(sprite13); + rotate(0.0, 0.75630933, 0.0); + pos(208.51443, 0.0, 70.21875); + zWriteDisable(1); + color(64, 64, 255); + scrollX(0.01); + scrollY(0.02); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 22 script22 { + type(8); + blendMode(1); + sprite(sprite14); + rotate(0.0, -0.63995403, 0.0); + pos(-175.91005, 0.0, 97.57709); + scrollX(0.01); + scrollY(0.02); + zWriteDisable(1); + color(64, 64, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 23 script23 { + type(8); + blendMode(1); + sprite(sprite15); + rotate(0.0, 0.63995403, 0.0); + pos(175.91005, 0.0, 97.57709); + zWriteDisable(1); + color(64, 64, 255); + scrollX(0.01); + scrollY(0.02); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 24 script24 { + type(8); + blendMode(1); + sprite(sprite16); + rotate(0.0, -0.5235988, 0.0); + pos(-140.35, 0.0, 120.9653); + scrollX(0.01); + scrollY(0.02); + zWriteDisable(1); + color(64, 64, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 25 script25 { + type(8); + blendMode(1); + sprite(sprite17); + rotate(0.0, 0.5235988, 0.0); + pos(140.35, 0.0, 120.9653); + zWriteDisable(1); + color(64, 64, 255); + scrollX(0.01); + scrollY(0.02); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 26 script26 { + type(8); + blendMode(1); + sprite(sprite18); + rotate(0.0, -0.4072435, 0.0); + pos(-102.31519, 0.0, 140.0671); + scrollX(0.01); + scrollY(0.02); + zWriteDisable(1); + color(64, 64, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 27 script27 { + type(8); + blendMode(1); + sprite(sprite19); + rotate(0.0, 0.4072435, 0.0); + pos(102.31519, 0.0, 140.0671); + zWriteDisable(1); + color(64, 64, 255); + scrollX(0.01); + scrollY(0.02); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 28 script28 { + type(8); + blendMode(1); + sprite(sprite20); + rotate(0.0, -0.29088822, 0.0); + pos(-62.319984, 0.0, 154.62416); + scrollX(0.01); + scrollY(0.02); + zWriteDisable(1); + color(64, 64, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 29 script29 { + type(8); + blendMode(1); + sprite(sprite21); + rotate(0.0, 0.29088822, 0.0); + pos(62.319984, 0.0, 154.62416); + zWriteDisable(1); + color(64, 64, 255); + scrollX(0.01); + scrollY(0.02); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 30 script30 { + type(8); + blendMode(1); + sprite(sprite22); + rotate(0.0, -0.17453292, 0.0); + pos(-20.905233, 0.0, 164.43964); + scrollX(0.01); + scrollY(0.02); + zWriteDisable(1); + color(64, 64, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 31 script31 { + type(8); + blendMode(1); + sprite(sprite23); + rotate(0.0, 0.17453292, 0.0); + pos(20.905233, 0.0, 164.43964); + zWriteDisable(1); + color(64, 64, 255); + scrollX(0.01); + scrollY(0.02); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 32 script32 { + type(8); + blendMode(1); + sprite(sprite24); + rotate(0.0, -0.98901993, 0.0); + pos(-263.16855, 0.0, 5.120286); + scrollX(-0.01); + scrollY(0.01); + zWriteDisable(1); + color(64, 0, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 33 script33 { + type(8); + blendMode(1); + sprite(sprite25); + rotate(0.0, 0.98901993, 0.0); + pos(263.16855, 0.0, 5.120286); + zWriteDisable(1); + color(64, 0, 255); + scrollX(-0.01); + scrollY(0.01); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 34 script34 { + type(8); + blendMode(1); + sprite(sprite26); + rotate(0.0, -0.87266463, 0.0); + pos(-237.75227, 0.0, 39.260265); + scrollX(-0.01); + scrollY(0.01); + zWriteDisable(1); + color(64, 0, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 35 script35 { + type(8); + blendMode(1); + sprite(sprite27); + rotate(0.0, 0.87266463, 0.0); + pos(237.75227, 0.0, 39.260265); + zWriteDisable(1); + color(64, 0, 255); + scrollX(-0.01); + scrollY(0.01); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 36 script36 { + type(8); + blendMode(1); + sprite(sprite28); + rotate(0.0, -0.75630933, 0.0); + pos(-208.54443, 0.0, 70.21875); + scrollX(-0.01); + scrollY(0.01); + zWriteDisable(1); + color(64, 0, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 37 script37 { + type(8); + blendMode(1); + sprite(sprite29); + rotate(0.0, 0.75630933, 0.0); + pos(208.54443, 0.0, 70.21875); + zWriteDisable(1); + color(64, 0, 255); + scrollX(-0.01); + scrollY(0.01); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 38 script38 { + type(8); + blendMode(1); + sprite(sprite30); + rotate(0.0, -0.63995403, 0.0); + pos(-175.94005, 0.0, 97.57709); + scrollX(-0.01); + scrollY(0.01); + zWriteDisable(1); + color(64, 0, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 39 script39 { + type(8); + blendMode(1); + sprite(sprite31); + rotate(0.0, 0.63995403, 0.0); + pos(175.94005, 0.0, 97.57709); + zWriteDisable(1); + color(64, 0, 255); + scrollX(-0.01); + scrollY(0.01); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 40 script40 { + type(8); + blendMode(1); + sprite(sprite32); + rotate(0.0, -0.5235988, 0.0); + pos(-140.38, 0.0, 120.9653); + scrollX(-0.01); + scrollY(0.01); + zWriteDisable(1); + color(64, 0, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 41 script41 { + type(8); + blendMode(1); + sprite(sprite33); + rotate(0.0, 0.5235988, 0.0); + pos(140.38, 0.0, 120.9653); + zWriteDisable(1); + color(64, 0, 255); + scrollX(-0.01); + scrollY(0.01); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 42 script42 { + type(8); + blendMode(1); + sprite(sprite34); + rotate(0.0, -0.4072435, 0.0); + pos(-102.34519, 0.0, 140.0671); + scrollX(-0.01); + scrollY(0.01); + zWriteDisable(1); + color(64, 0, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 43 script43 { + type(8); + blendMode(1); + sprite(sprite35); + rotate(0.0, 0.4072435, 0.0); + pos(102.34519, 0.0, 140.0671); + zWriteDisable(1); + color(64, 0, 255); + scrollX(-0.01); + scrollY(0.01); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 44 script44 { + type(8); + blendMode(1); + sprite(sprite36); + rotate(0.0, -0.29088822, 0.0); + pos(-62.349983, 0.0, 154.62416); + scrollX(-0.01); + scrollY(0.01); + zWriteDisable(1); + color(64, 0, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 45 script45 { + type(8); + blendMode(1); + sprite(sprite37); + rotate(0.0, 0.29088822, 0.0); + pos(62.349983, 0.0, 154.62416); + zWriteDisable(1); + color(64, 0, 255); + scrollX(-0.01); + scrollY(0.01); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 46 script46 { + type(8); + blendMode(1); + sprite(sprite38); + rotate(0.0, -0.17453292, 0.0); + pos(-20.935232, 0.0, 164.43964); + scrollX(-0.01); + scrollY(0.01); + zWriteDisable(1); + color(64, 0, 255); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} + + +script 47 script47 { + type(8); + blendMode(1); + sprite(sprite39); + rotate(0.0, 0.17453292, 0.0); + pos(20.935232, 0.0, 164.43964); + zWriteDisable(1); + color(64, 0, 255); + scrollX(-0.01); + scrollY(0.01); + alpha(0); ++960: // 960 + alphaTime(120, 0, 255); + stop(); +} diff --git a/research/stage01.tecl b/research/stage01.tecl new file mode 100644 index 0000000..db3aed2 --- /dev/null +++ b/research/stage01.tecl @@ -0,0 +1,4482 @@ +#pragma mapfile "utils/th11.eclm" + +meta {anim: ["enemy.anm", "stgenm01.anm"], ecli: ["default.ecl"]} + + +void BGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30320000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="01000000 2d000000"); + call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 00000000"); + delete(@blob=""); +} + + +void BGirl05() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30350000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void Boss() { + stackAlloc(@nargs=1, @blob="04000000"); + setBoss(@nargs=1, @blob="00000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 01000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00004042 00004042"); + setInvuln(@nargs=1, @blob="3c000000"); + lifeSet(@nargs=1, @blob="f0230000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); ++60: // 60 + dialogWait(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008042"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSetSprite(@nargs=2, @blob="02000000 aa000000"); + anmSelect(@nargs=1, @blob="02000000"); + fog(@nargs=2, @blob="00002043 8000ff00"); + call(@nargs=1, @blob="08000000 426f7373 31000000"); + delete(@blob=""); +} + + +void Boss1() { + stackAlloc(@nargs=1, @blob="0c000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="00000000 5a000000 5a000000 28000000 28000000", + ); + timerReset(@blob=""); + setInterrupt( + @nargs=4, + @blob="00000000 dc050000 34080000 0c000000 426f7373 43617264 31000000", + ); + lifeMarker(@nargs=3, @blob="00000000 0080bb44 80a0ffff"); + setChapter(@nargs=1, @blob="18000000"); + stars(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="28000000"); + jmp(@nargs=2, @blob="a4010000 00000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 db0f493f db0f493f db0f493f db0f493f", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 db0fc9bd db0fc9bd 920a86bd 920a86bd", + ); + callAsync( + @mask=0b110, + @nargs=3, + @blob="0c000000 426f7373 31417431 00000000 66660000 00008040 66660000 00000041", + ); + wait(@nargs=1, @blob="18000000"); + moveRand(@nargs=3, @blob="28000000 04000000 00008040"); + wait(@nargs=1, @blob="29000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 db0f49bf db0f49bf db0f49bf db0f49bf", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 db0fc93d db0fc93d 920a863d 920a863d", + ); + {"1234567"}: callAsync( + @mask=0b110, + @nargs=3, + @blob="0c000000 426f7373 31417431 00000000 66660000 00008040 66660000 00000041", + ); + wait(@nargs=1, @blob="18000000"); + wait(@nargs=1, @blob="a0000000"); + moveRand(@nargs=3, @blob="28000000 04000000 00008040"); + wait(@nargs=1, @blob="29000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="60feffff 00000000"); + ret(@blob=""); +} + + +void Boss1At1() { + stackAlloc(@nargs=1, @blob="1c000000"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="08000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 01000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 04000000 04000000 04000000 08000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 7cd9203e"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOffset(@nargs=3, @blob="00000000 00000041 000000c2"); + etDist(@nargs=2, @blob="00000000 0000c041"); + etCopy(@nargs=2, @blob="01000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 02000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 03000000 00000000 20000000 23000000 01000000 00000000 0000803f", + ); + etEx( + @nargs=8, + @blob="01000000 04000000 00000000 00080000 01000000 02000000 f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 05000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 06000000 00000000 04000000 78000000 c1bdf0ff 6a039d3c f02374c9", + ); + etOffset(@nargs=3, @blob="01000000 00000041 000000c2"); + etDist(@nargs=2, @blob="01000000 0000c041"); + diffF( + @mask=0b1, + @nargs=5, + @blob="0000c041 cdcccc3f cdcccc3f 0000803f 0000803f", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 08000000 08000000 0e000000 10000000", + ); + jmp(@nargs=2, @blob="38030000 00000000"); + etSpeed(@mask=0b110, @nargs=3, @blob="00000000 0000c041 0000c041"); + etAngle(@mask=0b110, @nargs=3, @blob="00000000 00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushf(@nargs=1, @blob="cdcccc3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + {"24567"}: pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + {"24567"}: pushf(@nargs=1, @blob="0ad7a33c"); + {"24567"}: subf(@blob=""); + {"24567"}: setf(@mask=0b1, @nargs=1, @blob="0000c041"); + {"34567"}: pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + {"34567"}: pushf(@nargs=1, @blob="0ad7a33b"); + {"34567"}: subf(@blob=""); + {"34567"}: setf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="01000000"); + etSpeed(@mask=0b110, @nargs=3, @blob="01000000 0000c041 0000c041"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000000 00000000"); + etOn(@nargs=1, @blob="01000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushf(@nargs=1, @blob="cdcccc3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + {"24567"}: pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + {"24567"}: pushf(@nargs=1, @blob="0ad7a33c"); + {"24567"}: subf(@blob=""); + {"24567"}: setf(@mask=0b1, @nargs=1, @blob="0000c041"); + {"34567"}: pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + {"34567"}: pushf(@nargs=1, @blob="0ad7a33b"); + {"34567"}: subf(@blob=""); + {"34567"}: setf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="01000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="ccfcffff 00000000"); + ret(@blob=""); +} + + +void Boss2() { + stackAlloc(@nargs=1, @blob="08000000"); + lifeSet(@nargs=1, @blob="20260000"); + setInterrupt( + @nargs=4, + @blob="00000000 e0060000 34080000 0c000000 426f7373 43617264 32000000", + ); + lifeMarker(@nargs=3, @blob="00000000 0000dc44 80a0ffff"); + setChapter(@nargs=1, @blob="19000000"); + stars(@nargs=1, @blob="00000000"); + 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=""); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0010000 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"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="48000000 00000000"); + dropExtra(@nargs=2, @blob="01000000 06000000"); + jmp(@nargs=2, @blob="30000000 00000000"); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 05000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + playSound(@nargs=1, @blob="0f000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00004043"); ++60: // 60 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00002043 00008c43 00008042"); + wait(@nargs=1, @blob="28000000"); + jmp(@nargs=2, @blob="90010000 3c000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000000 db0f493f db0f493f db0f493f db0f493f", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 db0fc9bd db0fc9bd fbd3b7bd cd20bcbd", + ); + call( + @mask=0b110, + @nargs=3, + @blob="0c000000 426f7373 32417431 00000000 66660000 00000000 66660000 00008040", + ); + wait(@nargs=1, @blob="18000000"); + moveRand(@nargs=3, @blob="28000000 04000000 00008040"); + wait(@nargs=1, @blob="29000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000000 db0f49bf db0f49bf db0f49bf db0f49bf", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 db0fc93d db0fc93d fbd3b73d cd20bc3d", + ); + {"1234567"}: call( + @mask=0b110, + @nargs=3, + @blob="0c000000 426f7373 32417431 00000000 66660000 00000000 66660000 00008040", + ); + wait(@nargs=1, @blob="18000000"); + moveRand(@nargs=3, @blob="28000000 04000000 00008040"); + wait(@nargs=1, @blob="29000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="74feffff 3c000000"); + ret(@blob=""); +} + + +void Boss2At1() { + stackAlloc(@nargs=1, @blob="1c000000"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="08000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 04000000 04000000 04000000 05000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 7cd9203e"); + etSpeedD( + @nargs=9, + @blob="00000000 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOffset(@nargs=3, @blob="00000000 00000041 000000c2"); + etDist(@nargs=2, @blob="00000000 00007041"); + etCopy(@nargs=2, @blob="01000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 02000000 00000000 00100000 1e000000 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="01000000 03000000 00000000 40000000 28000000 01000000 db0fc93f 0000803f", + ); + jmp(@nargs=2, @blob="48000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 03000000 00000000 40000000 28000000 01000000 db0fc93f cdcc8c3f", + ); + etEx( + @nargs=8, + @blob="01000000 04000000 00000000 00080000 01000000 02000000 f02374c9 f02374c9", + ); + etOffset(@nargs=3, @blob="01000000 00000041 000000c2"); + etDist(@nargs=2, @blob="01000000 00007041"); + pushf(@nargs=1, @blob="00000040"); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 10000000 10000000 1d000000 20000000", + ); + jmp(@nargs=2, @blob="f8010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + etSpeed(@mask=0b110, @nargs=3, @blob="00000000 0000c041 000080bf"); + etAngle(@mask=0b110, @nargs=3, @blob="00000000 00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="05000000 05000000 03000000 02000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + etSpeed(@mask=0b110, @nargs=3, @blob="01000000 0000c041 000080bf"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000000 00000000"); + etOn(@nargs=1, @blob="01000000"); + 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="05000000 05000000 03000000 02000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="0cfeffff 00000000"); + ret(@blob=""); +} + + +void BossCard1() { + stackAlloc(@nargs=1, @blob="10000000"); + {"014567"}: setInterrupt( + @nargs=4, + @blob="00000000 00000000 34080000 08000000 426f7373 32000000", + ); + {"234567"}: setInterrupt( + @nargs=4, + @blob="00000000 00000000 34080000 08000000 426f7373 32000000", + ); + {"014567"}: spell( + @nargs=4, + @blob="02000000 34080000 20a10700 1c000000 94d70038 724f12b4 ec750e42 68d20af3 e63506e9 606c029d de907d24", + ); + {"234567"}: spell3( + @nargs=4, + @blob="04000000 34080000 20a10700 18000000 e509703d 724f0136 e3b70ff8 79c56cf1 e5a2142f 625c81e8", + ); + setChapter(@nargs=1, @blob="2b000000"); + killAllAsync(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00001043"); + setInvuln(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="07000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 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"); ++60: // 60 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 120 + anmSelectedPlay(@nargs=1, @blob="00000000"); ++30: // 150 + nop(@blob=""); + pushi(@nargs=1, @blob="90000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="8010c93b"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="c4030000 96000000"); + callAsync( + @mask=0b1110, + @nargs=4, + @blob="10000000 426f7373 43617264 315f6174 00000000 66660000 00008040 66660000 00000041 69690000 0c000000", + ); + wait(@nargs=1, @blob="b4000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="cc000000 96000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00002043"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 96000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00002041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="b4000000 96000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00002043"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 96000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00004041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushf(@nargs=1, @blob="00008041"); + mulf(@blob=""); + movePosTime( + @mask=0b1100, + @nargs=4, + @blob="3c000000 04000000 000080bf 00000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="000080bf"); + mulf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="000080bf"); + mulf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="04000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="58000000 96000000"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="40000000 96000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="40fcffff 96000000"); + jmp(@nargs=2, @blob="2c000000 96000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 96000000"); + ret(@blob=""); +} + + +void BossCard1_at() { + stackAlloc(@nargs=1, @blob="20000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 05000000"); + etSprite(@mask=0b100, @nargs=3, @blob="00000000 03000000 08000000"); + etCountD( + @nargs=9, + @blob="00000000 06000000 08000000 0c000000 10000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0ad7233c 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00040000 78000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00020000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 05000000 00000000 04000000 3c000000 c1bdf0ff 8988883d f02374c9", + ); + etOffset(@nargs=3, @blob="00000000 00000041 000000c2"); + pushi(@nargs=1, @blob="2e000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="08000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="2e000000"); + seti(@mask=0b1, @nargs=1, @blob="1c000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="c4030000 00000000"); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00100000 dc050000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 03000000 00000000 00100000 1c000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 04000000 00000000 10000000 01000000 01000000 00000000 0ad7233c", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="bc000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="06000000"); + divf(@blob=""); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 06000000 00000000 08000000 3c000000 c1bdf0ff cdcc4cbd 000080bf", + ); + jmp(@nargs=2, @blob="a4000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="06000000"); + divf(@blob=""); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 06000000 00000000 08000000 3c000000 c1bdf0ff abaa2abd 000080bf", + ); + pushi(@mask=0b1, @nargs=1, @blob="1c000000"); + pushi(@nargs=1, @blob="01000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="1c000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="00000041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + wait(@nargs=1, @blob="01000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="40fcffff 00000000"); + ret(@blob=""); +} + + +void BossCard2() { + stackAlloc(@nargs=1, @blob="04000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 60090000 0c000000 426f7373 44656164 00000000", + ); + {"014567"}: spell( + @nargs=4, + @blob="06000000 60090000 20a10700 1c000000 96f10038 724f128c ecb40ebf 68da0a0e e42f06f5 6057009e 5fe67d24", + ); + {"234567"}: spell3( + @nargs=4, + @blob="08000000 60090000 20a10700 18000000 96f11eff 724f1d4c e7001847 7d0c0bbc f32310cd 625c81e8", + ); + killAllAsync(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00004043"); + setInvuln(@nargs=1, @blob="3c000000"); + 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="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", + ); + setChapter(@nargs=1, @blob="2c000000"); ++60: // 60 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 120 + anmSelectedPlay(@nargs=1, @blob="00000000"); ++30: // 150 + nop(@blob=""); + jmp(@nargs=2, @blob="e8040000 be000000"); + callAsync( + @nargs=4, + @blob="10000000 426f7373 43617264 325f6174 00000000 69660000 00000000 66660000 45159e3d 69690000 02000000", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="e2781ebe"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + {"234567"}: enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 43617264 32417400 0000c8c2 00000043 a00f0000 10270000 01000000", + ); + {"234567"}: enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 43617264 32417400 0000c842 00000043 a00f0000 10270000 01000000", + ); + wait(@nargs=1, @blob="7c010000"); + callAsync( + @nargs=4, + @blob="10000000 426f7373 43617264 325f6174 00000000 69660000 00000000 66660000 f3781ebe 69690000 04000000", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="44159e3d"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + {"234567"}: enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 43617264 32417400 0000c8c2 00000043 a00f0000 10270000 01000000", + ); + {"234567"}: enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 43617264 32417400 0000c842 00000043 a00f0000 10270000 01000000", + ); + wait(@nargs=1, @blob="7c010000"); + callAsync( + @nargs=4, + @blob="10000000 426f7373 43617264 325f6174 00000000 69660000 00000000 66660000 45159ebd 69690000 02000000", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="e2781ebe"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + {"234567"}: enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 43617264 32417400 0000c8c2 00000043 a00f0000 10270000 01000000", + ); + {"234567"}: enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 43617264 32417400 0000c842 00000043 a00f0000 10270000 01000000", + ); + wait(@nargs=1, @blob="7c010000"); + callAsync( + @nargs=4, + @blob="10000000 426f7373 43617264 325f6174 00000000 69660000 00000000 66660000 f3781e3e 69690000 04000000", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="44159e3d"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + {"234567"}: enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 43617264 32417400 0000c8c2 00000043 a00f0000 10270000 01000000", + ); + {"234567"}: enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 43617264 32417400 0000c842 00000043 a00f0000 10270000 01000000", + ); + wait(@nargs=1, @blob="7c010000"); ++40: // 190 + nop(@blob=""); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="1cfbffff 96000000"); + ret(@blob=""); +} + + +void BossCard2At() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="2c010000"); + call( + @mask=0b11100, + @nargs=5, + @blob="10000000 426f7373 43617264 3241745f 61740000 69690000 00000000 66660000 00f41bc6 66660000 00f01bc6 69690000 ffd8ffff", + ); + delete(@blob=""); + delete(@blob=""); +} + + +void BossCard2At_at() { + stackAlloc(@nargs=1, @blob="28000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + etNew(@mask=0b1, @nargs=1, @blob="00000000"); + etAim(@mask=0b1, @nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b101, @nargs=3, @blob="00000000 05000000 0c000000"); + etCount(@mask=0b1, @nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@mask=0b1, @nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@mask=0b1, @nargs=3, @blob="00000000 0ad7233c 00000040"); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 01000000 00000000 00040000 0a000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 02000000 00000000 00020000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 04000000 00000000 04000000 3c000000 c1bdf0ff 0e74da3c f02374c9", + ); + etOffset(@mask=0b1, @nargs=3, @blob="00000000 00000041 000000c2"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etCopy(@mask=0b1, @nargs=2, @blob="ffffffff 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etOffset(@mask=0b1, @nargs=3, @blob="ffffffff 00000041 000000c2"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etEx( + @mask=0b1, + @nargs=8, + @blob="ffffffff 05000000 00000000 04000000 3c000000 c1bdf0ff 0e74dabc f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etEx( + @mask=0b1, + @nargs=8, + @blob="ffffffff 06000000 00000000 00100000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="18000000 4b000000 82000000 28000000 46000000", + ); + pushi(@nargs=1, @blob="08000000"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushi(@nargs=1, @blob="0e010000"); + seti(@mask=0b1, @nargs=1, @blob="20000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="a0080000 00000000"); + etEx( + @mask=0b10001, + @nargs=8, + @blob="00000000 03000000 00000000 00100000 20000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etDist(@mask=0b11, @nargs=2, @blob="00000000 00008041"); + etAngle(@mask=0b11, @nargs=3, @blob="00000000 00008040 00000000"); + etOn(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="295c0f3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etEx( + @mask=0b10001, + @nargs=8, + @blob="ffffffff 03000000 00000000 00100000 20000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="db0f4940"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="64000000"); + divf(@blob=""); + addf(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etEx( + @mask=0b1000001, + @nargs=8, + @blob="ffffffff 07000000 00000000 40000000 01000000 01000000 000080bf 00004040", + ); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etDist(@mask=0b11, @nargs=2, @blob="ffffffff 00008041"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etAngle(@mask=0b11, @nargs=3, @blob="ffffffff 00008040 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etOn(@mask=0b1, @nargs=1, @blob="ffffffff"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="295c0f3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + etEx( + @mask=0b10001, + @nargs=8, + @blob="00000000 03000000 00000000 00100000 20000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etDist(@mask=0b11, @nargs=2, @blob="00000000 00008041"); + etAngle(@mask=0b11, @nargs=3, @blob="00000000 00008040 00000000"); + etOn(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="295c0f3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etEx( + @mask=0b10001, + @nargs=8, + @blob="ffffffff 03000000 00000000 00100000 20000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="db0f4940"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="64000000"); + divf(@blob=""); + addf(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etEx( + @mask=0b1000001, + @nargs=8, + @blob="ffffffff 07000000 00000000 40000000 01000000 01000000 000080bf 00004040", + ); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etDist(@mask=0b11, @nargs=2, @blob="ffffffff 00008041"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etAngle(@mask=0b11, @nargs=3, @blob="ffffffff 00008040 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + etOn(@mask=0b1, @nargs=1, @blob="ffffffff"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="295c0f3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + {"24567"}: pushi(@mask=0b1, @nargs=1, @blob="20000000"); + {"24567"}: pushi(@nargs=1, @blob="06000000"); + {"24567"}: subi(@blob=""); + {"24567"}: seti(@mask=0b1, @nargs=1, @blob="20000000"); + {"34567"}: pushi(@mask=0b1, @nargs=1, @blob="20000000"); + {"34567"}: pushi(@nargs=1, @blob="04000000"); + {"34567"}: subi(@blob=""); + {"34567"}: seti(@mask=0b1, @nargs=1, @blob="20000000"); + diffWait(@nargs=4, @blob="02000000 02000000 03000000 02000000"); + deci(@mask=0b1, @nargs=1, @blob="18000000"); + jmpNeq(@nargs=2, @blob="64f7ffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_at() { + stackAlloc(@nargs=1, @blob="24000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b100, @nargs=3, @blob="00000000 05000000 08000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0ad7233c 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00040000 0a000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00020000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 04000000 3c000000 c1bdf0ff 0e74da3c f02374c9", + ); + etOffset(@nargs=3, @blob="00000000 00000041 000000c2"); + etCopy(@nargs=2, @blob="01000000 00000000"); + etOffset(@nargs=3, @blob="01000000 00000041 000000c2"); + etEx( + @nargs=8, + @blob="01000000 05000000 00000000 04000000 3c000000 c1bdf0ff 0e74dabc f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 06000000 00000000 00100000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="14000000 4b000000 82000000 82000000 82000000", + ); + pushi(@nargs=1, @blob="08000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="0e010000"); + seti(@mask=0b1, @nargs=1, @blob="1c000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a0070000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 03000000 00000000 00100000 1c000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00004041"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="295c0f3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00004041"); + {"04567"}: pushf(@nargs=1, @blob="295c0f3e"); + {"04567"}: addf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00004041"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="01000000 03000000 00000000 00100000 1c000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0f4940"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="64000000"); + divf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="01000000 07000000 00000000 40000000 01000000 01000000 000080bf 00004040", + ); + etDist(@mask=0b10, @nargs=2, @blob="01000000 00004041"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000000 00000000"); + etOn(@nargs=1, @blob="01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="295c0f3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00004041"); + {"04567"}: pushf(@nargs=1, @blob="295c0f3e"); + {"04567"}: addf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00004041"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 03000000 00000000 00100000 1c000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00004041"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="295c0f3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00004041"); + {"04567"}: pushf(@nargs=1, @blob="295c0f3e"); + {"04567"}: addf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00004041"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="01000000 03000000 00000000 00100000 1c000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0f4940"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="64000000"); + divf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="01000000 07000000 00000000 40000000 01000000 01000000 000080bf 00004040", + ); + etDist(@mask=0b10, @nargs=2, @blob="01000000 00004041"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000000 00000000"); + etOn(@nargs=1, @blob="01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="295c0f3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00004041"); + {"04567"}: pushf(@nargs=1, @blob="295c0f3e"); + {"04567"}: addf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@mask=0b1, @nargs=1, @blob="1c000000"); + pushi(@nargs=1, @blob="02000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="1c000000"); + {"04567"}: pushi(@mask=0b1, @nargs=1, @blob="1c000000"); + {"04567"}: pushi(@nargs=1, @blob="02000000"); + {"04567"}: subi(@blob=""); + {"04567"}: seti(@mask=0b1, @nargs=1, @blob="1c000000"); + diffWait(@nargs=4, @blob="02000000 01000000 01000000 01000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="64f8ffff 00000000"); + ret(@blob=""); +} + + +void BossDead() { + stackAlloc(@nargs=1, @blob="04000000"); + 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", + ); ++60: // 60 + etClearAll(@blob=""); + spellEnd(@blob=""); + dropMain(@nargs=1, @blob="00000000"); + dropClear(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="2c000000 3c000000"); + dropMain(@nargs=1, @blob="05000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 07000000"); + dropExtra(@nargs=2, @blob="02000000 08000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000"); + anmPlay(@nargs=2, @blob="00000000 4c000000"); + anmPlay(@nargs=2, @blob="00000000 8e000000"); + playSound(@nargs=1, @blob="12000000"); + setBoss(@nargs=1, @blob="ffffffff"); + delete(@blob=""); + delete(@blob=""); +} + + +void GGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetMain(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30320000 69690000 0a000000 69690000 00000000", + ); + delete(@blob=""); +} + + +void GGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetMain(@nargs=2, @blob="01000000 2f000000"); + call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 0a000000"); + delete(@blob=""); +} + + +void GGirl05() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetMain(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30350000 69690000 0a000000 69690000 00000000", + ); + delete(@blob=""); +} + + +void Girl00() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + flagSet(@nargs=1, @blob="02000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + pushf(@nargs=1, @blob="db0fc9bf"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushf(@nargs=1, @blob="00000042"); + divf(@blob=""); + addf(@blob=""); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00000041"); ++30: // 30 + moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000"); ++50: // 80 + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c30305f 61740000 69690000 04000000", + ); ++150: // 230 + moveVel(@nargs=2, @blob="db0fc93e 00000000"); + moveVelTime(@nargs=4, @blob="64000000 00000000 db0fc93e 00004040"); ++6000: // 6230 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="00000000 28000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00002042 00002042"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 04000000"); + dropArea(@nargs=2, @blob="00000042 00000042"); + moveVel(@nargs=2, @blob="db0fc93f 0000c040"); + moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000"); ++50: // 50 + callAsync(@nargs=1, @blob="0c000000 4769726c 30315f61 74000000"); ++300: // 350 + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="64000000 00000000 f02374c9 00004040"); ++240: // 590 + nop(@blob=""); + killAsync(@nargs=1, @blob="00000000"); ++6000: // 6590 + nop(@blob=""); + delete(@blob=""); +} + + +void Girl01_at() { + stackAlloc(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="03000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="28010000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 01000000 06000000"); + etCount(@nargs=3, @blob="00000000 20000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 00006040 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); + ret(@blob=""); +} + + +void Girl02() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="44000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c30325f 61740000 69690000 04000000", + ); + moveEllipseRel( + @mask=0b1, + @nargs=6, + @blob="00f41bc6 5077563d 00008042 00000000 db0fc93f 00000000", + ); + moveVel(@nargs=2, @blob="db0fc93f 0000803f"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="44000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + callAsync(@nargs=1, @blob="0c000000 52476972 6c30335f 61740000"); + moveEllipseRel( + @mask=0b1, + @nargs=6, + @blob="00f41bc6 35fa0e3d 00008042 00000000 db0fc93f 00000000", + ); + moveVel(@nargs=2, @blob="db0fc93f cdcc4c3f"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl04() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="00000000 28000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00002042 00002042"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 04000000"); + dropArea(@nargs=2, @blob="00000042 00000042"); + moveVel(@nargs=2, @blob="db0fc93f 0000c040"); + moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000"); ++50: // 50 + callAsync(@nargs=1, @blob="0c000000 4769726c 30345f61 74000000"); + callAsync(@nargs=1, @blob="0c000000 4769726c 30345f61 74320000"); + wait(@nargs=1, @blob="64000000"); + {"234567"}: callAsync( + @nargs=1, + @blob="0c000000 4769726c 30345f61 74000000", + ); + {"234567"}: callAsync( + @nargs=1, + @blob="0c000000 4769726c 30345f61 74320000", + ); + wait(@nargs=1, @blob="64000000"); + {"34567"}: callAsync( + @nargs=1, + @blob="0c000000 4769726c 30345f61 74000000", + ); + {"34567"}: callAsync( + @nargs=1, + @blob="0c000000 4769726c 30345f61 74320000", + ); ++100: // 150 + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="64000000 00000000 f02374c9 00004040"); ++180: // 330 + nop(@blob=""); + killAsync(@nargs=1, @blob="00000000"); ++6000: // 6330 + nop(@blob=""); + delete(@blob=""); +} + + +void Girl04_at() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 03000000 03000000 03000000 01000000 01000000 01000000 01000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="03000000"); + divf(@blob=""); + subf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 7cd9203e"); + etSpeedD( + @nargs=9, + @blob="00000000 00002040 00004040 0000a040 0000a040 0000803f 0000803f 0000803f 0000803f", + ); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="00000000 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="f0000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd", + ); + jmp(@nargs=2, @blob="d8000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be", + ); + etEx( + @nargs=8, + @blob="00000000 05000000 00000000 00004000 03000000 c1bdf0ff f02374c9 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="00000000 14000000 1e000000 1e000000 1e000000", + ); + jmp(@nargs=2, @blob="40000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void Girl04_at2() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 01000000"); + etSprite(@nargs=3, @blob="01000000 03000000 02000000"); + etCountD( + @nargs=9, + @blob="01000000 01000000 03000000 03000000 03000000 01000000 01000000 01000000 01000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="03000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 000080bf 7cd9203e"); + etSpeedD( + @nargs=9, + @blob="01000000 00002040 00004040 0000a040 0000a040 0000803f 0000803f 0000803f 0000803f", + ); + etSound(@nargs=3, @blob="01000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="01000000 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="f0000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd", + ); + etEx( + @nargs=8, + @blob="01000000 02000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d", + ); + etEx( + @nargs=8, + @blob="01000000 03000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd", + ); + etEx( + @nargs=8, + @blob="01000000 04000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d", + ); + jmp(@nargs=2, @blob="d8000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be", + ); + etEx( + @nargs=8, + @blob="01000000 02000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e", + ); + etEx( + @nargs=8, + @blob="01000000 03000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be", + ); + etEx( + @nargs=8, + @blob="01000000 04000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e", + ); + etEx( + @nargs=8, + @blob="01000000 05000000 00000000 00004000 03000000 c1bdf0ff f02374c9 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="00000000 14000000 1e000000 1e000000 1e000000", + ); + jmp(@nargs=2, @blob="40000000 00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void Girl05() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c30355f 61740000 69690000 04000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + moveVel(@mask=0b1, @nargs=2, @blob="00f41bc6 00008040"); ++30: // 30 + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); ++30: // 60 + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + subf(@blob=""); + moveVelTime( + @mask=0b100, + @nargs=4, + @blob="50000000 00000000 000080bf 00008040", + ); ++50: // 110 + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c30355f 61740000 69690000 04000000", + ); ++6000: // 6110 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl06() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="00000000 28000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00002042 00002042"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 04000000"); + dropArea(@nargs=2, @blob="00000042 00000042"); + moveVel(@nargs=2, @blob="db0fc93f 0000c040"); + moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000"); ++50: // 50 + callAsync(@nargs=1, @blob="0c000000 4769726c 30365f61 74000000"); + callAsync(@nargs=1, @blob="0c000000 4769726c 30365f61 74320000"); + wait(@nargs=1, @blob="64000000"); + {"234567"}: callAsync( + @nargs=1, + @blob="0c000000 4769726c 30365f61 74000000", + ); + {"234567"}: callAsync( + @nargs=1, + @blob="0c000000 4769726c 30365f61 74320000", + ); ++200: // 250 + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="64000000 00000000 f02374c9 00004040"); ++180: // 430 + nop(@blob=""); + killAsync(@nargs=1, @blob="00000000"); ++6000: // 6430 + nop(@blob=""); + delete(@blob=""); +} + + +void Girl06_at() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="03000000"); + divf(@blob=""); + subf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 7cd9203e"); + etSpeedD( + @nargs=9, + @blob="00000000 00002040 00004040 0000a040 0000a040 0000803f 0000803f 0000803f 0000803f", + ); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="00000000 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="f0000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd", + ); + jmp(@nargs=2, @blob="d8000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be", + ); + etEx( + @nargs=8, + @blob="00000000 05000000 00000000 00004000 03000000 c1bdf0ff f02374c9 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="00000000 14000000 1e000000 1e000000 1e000000", + ); + jmp(@nargs=2, @blob="40000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void Girl06_at2() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 01000000"); + etSprite(@nargs=3, @blob="01000000 03000000 02000000"); + etCountD( + @nargs=9, + @blob="01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="03000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 000080bf 7cd9203e"); + etSpeedD( + @nargs=9, + @blob="01000000 00002040 00004040 0000a040 0000a040 0000803f 0000803f 0000803f 0000803f", + ); + etSound(@nargs=3, @blob="01000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="01000000 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="f0000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd", + ); + etEx( + @nargs=8, + @blob="01000000 02000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d", + ); + etEx( + @nargs=8, + @blob="01000000 03000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd", + ); + etEx( + @nargs=8, + @blob="01000000 04000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d", + ); + jmp(@nargs=2, @blob="d8000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be", + ); + etEx( + @nargs=8, + @blob="01000000 02000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e", + ); + etEx( + @nargs=8, + @blob="01000000 03000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be", + ); + etEx( + @nargs=8, + @blob="01000000 04000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e", + ); + etEx( + @nargs=8, + @blob="01000000 05000000 00000000 00004000 03000000 c1bdf0ff f02374c9 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="00000000 14000000 1e000000 1e000000 1e000000", + ); + jmp(@nargs=2, @blob="40000000 00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void MBoss() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="23d9ffff"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="24d9ffff"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + setBoss(@nargs=1, @blob="00000000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSetSprite(@nargs=2, @blob="02000000 aa000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00002042 00002042"); + {"014567"}: lifeSet(@nargs=1, @blob="38310000"); + {"234567"}: lifeSet(@nargs=1, @blob="f0230000"); + {"014567"}: lifeMarker(@nargs=3, @blob="00000000 00600646 ffd0d0ff"); + {"014567"}: lifeMarker(@nargs=3, @blob="01000000 00608645 ffb0b0ff"); + {"234567"}: lifeMarker(@nargs=3, @blob="00000000 0080a245 ffd0d0ff"); + {"234567"}: lifeMarker(@nargs=3, @blob="01000000 00006144 80a0ffff"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + {"014567"}: setInterrupt( + @nargs=4, + @blob="00000000 98210000 00000000 08000000 4d426f73 73320000", + ); + {"014567"}: setInterrupt( + @nargs=4, + @blob="01000000 00000000 fc030000 0c000000 4d426f73 73446561 64000000", + ); + {"014567"}: setTimeout( + @nargs=2, + @blob="01000000 0c000000 4d426f73 73457363 61706500", + ); + {"234567"}: setInterrupt( + @nargs=4, + @blob="00000000 50140000 00000000 08000000 4d426f73 73320000", + ); + {"234567"}: setInterrupt( + @nargs=4, + @blob="01000000 00000000 fc030000 0c000000 4d426f73 73446561 64000000", + ); + {"234567"}: setTimeout( + @nargs=2, + @blob="01000000 0c000000 4d426f73 73457363 61706500", + ); + setChapter(@nargs=1, @blob="06000000"); + wait(@nargs=1, @blob="64000000"); + jmp(@nargs=2, @blob="ec000000 00000000"); + call(@nargs=1, @blob="0c000000 4d426f73 735f6174 31000000"); + moveVel(@nargs=2, @blob="db0fc93f 0000b040"); + moveVelTime(@nargs=4, @blob="64000000 04000000 f02374c9 00000000"); + wait(@nargs=1, @blob="64000000"); + call(@nargs=1, @blob="0c000000 4d426f73 735f6174 32000000"); + wait(@nargs=1, @blob="1e000000"); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 00b41bc6 00000043", + ); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="18ffffff 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 MBoss2() { + stackAlloc(@nargs=1, @blob="10000000"); + setChapter(@nargs=1, @blob="07000000"); + {"014567"}: setInterrupt( + @nargs=4, + @blob="00000000 cc100000 00000000 08000000 4d426f73 73330000", + ); + {"234567"}: setInterrupt( + @nargs=4, + @blob="00000000 84030000 00000000 0c000000 4d426f73 73436172 64310000", + ); + setInterrupt( + @nargs=4, + @blob="01000000 00000000 fc030000 0c000000 4d426f73 73446561 64000000", + ); + setTimeout(@nargs=2, @blob="01000000 0c000000 4d426f73 73457363 61706500"); + 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"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 01000000"); + dropExtra(@nargs=2, @blob="02000000 02000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="23d9ffff"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="24d9ffff"); + killAllAsync(@blob=""); + setInvuln(@nargs=1, @blob="3c000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + anmSelect(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="00000000 00000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00002043"); + playSound(@nargs=1, @blob="0f000000"); ++60: // 60 + nop(@blob=""); + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 120 + callAsync(@nargs=1, @blob="0c000000 4d426f73 73325f61 74000000"); + jmp(@nargs=2, @blob="2c000000 78000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 78000000"); + delete(@blob=""); +} + + +void MBoss2_at() { + stackAlloc(@nargs=1, @blob="08000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 07000000 01000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 cdcccc3e 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff c92f163d f02374c9", + ); + etDist(@nargs=2, @blob="00000000 0000a041"); + etCopy(@nargs=2, @blob="01000000 00000000"); + etSprite(@nargs=3, @blob="01000000 07000000 02000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff 4f1be83c f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="03000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="78000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 04000000 3c000000 c1bdf0ff cdcc4c3d f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff 295c0f3d f02374c9", + ); + jmp(@nargs=2, @blob="58010000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="b6867840"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + {"1234567"}: etOn(@nargs=1, @blob="00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="b686f840"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="02000000 02000000 01000000 01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="acfeffff 00000000"); + ret(@blob=""); +} + + +void MBoss3() { + stackAlloc(@nargs=1, @blob="10000000"); + setChapter(@nargs=1, @blob="08000000"); + setInterrupt( + @nargs=4, + @blob="01000000 00000000 fc030000 0c000000 4d426f73 73446561 64000000", + ); + setTimeout(@nargs=2, @blob="01000000 0c000000 4d426f73 73457363 61706500"); + 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"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 01000000"); + dropExtra(@nargs=2, @blob="02000000 02000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="23d9ffff"); + killAllAsync(@blob=""); + setInvuln(@nargs=1, @blob="3c000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + anmSelect(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="00000000 00000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00002043"); + playSound(@nargs=1, @blob="0f000000"); ++60: // 60 + nop(@blob=""); + callAsync(@nargs=1, @blob="0c000000 4d426f73 73335f61 74000000"); + moveLimit(@nargs=4, @blob="00000000 00002043 00008c43 00008042"); + jmp(@nargs=2, @blob="48000000 3c000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="64000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="bcffffff 3c000000"); + jmp(@nargs=2, @blob="2c000000 3c000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); + delete(@blob=""); +} + + +void MBoss3_at() { + stackAlloc(@nargs=1, @blob="08000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 07000000 03000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeedD( + @nargs=9, + @blob="00000000 cdcccc3e cdcccc3e 3333b33f 9a991940 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff abaa2a3d f02374c9", + ); + etDist(@nargs=2, @blob="00000000 0000a041"); + etCopy(@nargs=2, @blob="01000000 00000000"); + etSprite(@nargs=3, @blob="01000000 07000000 04000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff 8988083d f02374c9", + ); + jmp(@nargs=2, @blob="58010000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="b6867840"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + {"1234567"}: etOn(@nargs=1, @blob="00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="b686f840"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="02000000 02000000 01000000 01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="acfeffff 00000000"); + ret(@blob=""); +} + + +void MBossCard1() { + stackAlloc(@nargs=1, @blob="04000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 70080000 0c000000 4d426f73 73446561 64000000", + ); + setTimeout(@nargs=2, @blob="00000000 0c000000 4d426f73 73457363 61706500"); + moveLimit(@nargs=4, @blob="00000000 0000a042 0000c043 00008042"); + spell3( + @nargs=4, + @blob="00000000 70080000 20a10700 18000000 fe881f53 724f0326 fa841aba 69740bc5 e5a20c5a 625c81e8", + ); + setChapter(@nargs=1, @blob="0f000000"); + 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"); + killAllAsync(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 0000a042"); + setInvuln(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="07000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); ++60: // 60 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 120 + nop(@blob=""); ++30: // 150 + nop(@blob=""); + callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64315f61 74000000"); + callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64315f61 74320000"); + jmp(@nargs=2, @blob="2c000000 96000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 96000000"); + delete(@blob=""); +} + + +void MBossCard1_at() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 01000000"); + etSprite(@nargs=3, @blob="01000000 0c000000 04000000"); + etCount(@nargs=3, @blob="01000000 01000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="01000000 00000000 00000040"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 00100000 b4000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 02000000 00000000 04000000 78000000 c1bdf0ff 8988883d db0fc93f", + ); + jmp(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="50000000"); + mulf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="01000000 00381cc6 000080bf"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="05000000 05000000 05000000 05000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="64ffffff 00000000"); + ret(@blob=""); +} + + +void MBossCard1_at2() { + stackAlloc(@nargs=1, @blob="00000000"); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 04000000 3c000000 c1bdf0ff 8988083d db0fc93f", + ); + etSound(@nargs=3, @blob="00000000 10000000 ffffffff"); + jmp(@nargs=2, @blob="2c020000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00b41bc6"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="a4000000 00000000"); + pushf(@nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + pushf(@nargs=1, @blob="0000c03f"); + addf(@blob=""); + moveVel(@mask=0b10, @nargs=2, @blob="00000000 000080bf"); + jmp(@nargs=2, @blob="8c000000 00000000"); + pushf(@nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + pushf(@nargs=1, @blob="0000c03f"); + addf(@blob=""); + moveVel(@mask=0b10, @nargs=2, @blob="db0f4940 000080bf"); + moveVelTime(@nargs=4, @blob="3c000000 04000000 f02374c9 00000000"); + laserOnA2( + @nargs=8, + @blob="0c000000 01000000 db0fc93f 00008040 00000000 00006043 00000044 00008042", + ); + {"34567"}: laserOnA2( + @nargs=8, + @blob="0c000000 01000000 920a863f 00008040 00000000 00006043 00000044 00008042", + ); + {"34567"}: laserOnA2( + @nargs=8, + @blob="0c000000 01000000 920a0640 00008040 00000000 00006043 00000044 00008042", + ); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8fdffff 00000000"); + ret(@blob=""); +} + + +void MBossDead() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + spellEnd(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="04010000 00000000"); + 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", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + 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"); + 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"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 05000000"); + dropExtra(@nargs=2, @blob="02000000 08000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + setBoss(@nargs=1, @blob="ffffffff"); + setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000"); + anmPlay(@nargs=2, @blob="00000000 4c000000"); + playSound(@nargs=1, @blob="12000000"); + setChapter(@nargs=1, @blob="00000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MBossEscape() { + stackAlloc(@nargs=1, @blob="04000000"); + setInterrupt( + @nargs=4, + @blob="00000000 ffffffff 00000000 04000000 00000000", + ); + setInterrupt( + @nargs=4, + @blob="01000000 ffffffff 00000000 04000000 00000000", + ); + spellEnd(@blob=""); + moveLimitReset(@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"); + lifeSet(@nargs=1, @blob="a0860100"); + setBoss(@nargs=1, @blob="ffffffff"); + flagSet(@nargs=1, @blob="10000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 000000c2"); ++60: // 60 + setChapter(@nargs=1, @blob="00000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MBoss_at1() { + stackAlloc(@nargs=1, @blob="08000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 01000000 06000000"); + etCount(@nargs=3, @blob="00000000 20000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 00004040 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etDist(@nargs=2, @blob="00000000 0000c041"); + etSpeedD( + @nargs=9, + @blob="00000000 00000040 00004040 00004040 00004040 0000803f 0000803f 0000803f 0000803f", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="00000000 03000000 06000000 09000000 0b000000", + ); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + etCount(@mask=0b10, @nargs=3, @blob="00000000 00000000 01000000"); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + muli(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + ret(@blob=""); +} + + +void MBoss_at2() { + stackAlloc(@nargs=1, @blob="08000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 01000000 02000000"); + etCountD( + @nargs=9, + @blob="00000000 06000000 08000000 10000000 20000000 01000000 01000000 02000000 02000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeedD( + @nargs=9, + @blob="00000000 cdcc4c3f cdcc4c3f 9a99993f 6666e63f 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@nargs=2, @blob="00000000 0000c041"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="30000000 00000000"); + etAim(@nargs=2, @blob="00000000 04000000"); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void MainBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); ++120: // 120 + dialogRead(@nargs=1, @blob="00000000"); + ins_500(@nargs=1, @blob="03000000"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 000010c3 000080c1 28000000 e8030000 01000000", + ); + dialogWait(@blob=""); + deathWait(@blob=""); ++60: // 180 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + ret(@blob=""); + ret(@blob=""); +} + + +void MainMBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + ins_500(@nargs=1, @blob="01000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 00000000 000000c2 28000000 e8030000 01000000", + ); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void MainMsgDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + ins_500(@nargs=1, @blob="64000000"); ++120: // 120 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); ++1: // 121 + dialogWait(@blob=""); ++60: // 181 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="28000000 55100000"); ++4000: // 4181 + nop(@blob=""); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="dcffffff b5000000"); + ret(@blob=""); +} + + +void MainSub00() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 00000000 000000c2 b0040000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub01() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="44020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="d0000000 00000000"); + pushi(@nargs=1, @blob="40ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303000 00008040 0000e843 14000000 e8030000 02000000", + ); + jmp(@nargs=2, @blob="b8000000 00000000"); + pushi(@nargs=1, @blob="c0000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + enmCreateAM( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303000 00008040 0000e843 14000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="0a000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="9cfdffff 00000000"); + ret(@blob=""); +} + + +void MainSub02() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="a0000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 20 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 40 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 60 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 80 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 100 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 120 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 140 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 160 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 180 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 200 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 220 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 240 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 260 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 280 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 300 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 320 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 340 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 360 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub03() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="66662640"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="9a99193f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 526f636b 42000000 00000000 000000c2 e8030000 e8030000 02000000", + ); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="e4010000 00000000"); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="66662640"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="66662640"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="80000000"); + mulf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 526f636b 53000000 000080bf 000000c2 14000000 e8030000 03000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="20feffff 00000000"); + ret(@blob=""); +} + + +void MainSub04() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="c8000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30340000 00000043 000000c2 bc020000 e8030000 03000000", + ); + wait(@nargs=1, @blob="c8000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30340000 000000c3 000000c2 bc020000 e8030000 03000000", + ); + ret(@blob=""); +} + + +void MainSub05() { + stackAlloc(@nargs=1, @blob="00000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 354c0000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 35520000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 354c0000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 35520000"); + ret(@blob=""); +} + + +void MainSub05L() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="60ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void MainSub05R() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="a0000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void MainSub06() { + stackAlloc(@nargs=1, @blob="00000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000"); + wait(@nargs=1, @blob="3c000000"); + ret(@blob=""); +} + + +void MainSub06L() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="60ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void MainSub06R() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="a0000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303500 00000000 000000c2 46000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void MainSub07() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30360000 000000c3 000000c2 f4010000 e8030000 03000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30360000 00000043 000000c2 f4010000 e8030000 03000000", + ); + ret(@blob=""); +} + + +void MainSub08() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="66662640"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="9a99193f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 526f636b 42000000 00000000 000000c2 e8030000 e8030000 02000000", + ); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="e4010000 00000000"); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="66662640"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="66662640"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="80000000"); + mulf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 526f636b 53000000 000080bf 000000c2 14000000 e8030000 03000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="20feffff 00000000"); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="66662640"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="9a99193f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 526f636b 42000000 00000000 000000c2 e8030000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub09() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="60ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 20 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 40 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 60 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 80 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 100 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 120 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 140 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 160 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 180 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30360000 000000c3 000000c2 f4010000 e8030000 03000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 200 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 220 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 240 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 260 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 280 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 300 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 320 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 340 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 360 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub10() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="a0000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 20 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 40 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 60 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 80 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 100 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 120 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 140 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 160 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 180 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30360000 00000043 000000c2 f4010000 e8030000 03000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 200 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 220 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 240 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 260 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 280 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 300 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 320 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 340 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); ++20: // 360 + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MapleEnemy() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + anmPlayAbs(@nargs=2, @blob="00000000 84000000"); ++3: // 3 + jmp(@nargs=2, @blob="e8ffffff 00000000"); + delete(@blob=""); +} + + +void RGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 05000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl00_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 03000000 03000000 03000000 03000000", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 01000000 01000000 01000000 02000000", + ); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="28000000 00000000"); + ret(@blob=""); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 01000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 03000000 03000000 05000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeedD( + @nargs=9, + @blob="00000000 00000040 00000040 00004040 0000b040 0000803f 0000803f 0000803f 00000040", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="40000000 00000000"); + wait(@mask=0b1, @nargs=1, @blob="08000000"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void RGirl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30320000 69690000 05000000 69690000 00000000", + ); + delete(@blob=""); +} + + +void RGirl02_at() { + stackAlloc(@nargs=1, @blob="10000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00004041 0000c03f cdcc0c40 00002040 00008040", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 1e000000 03000000 0a000000 03000000", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 01000000 01000000 0a000000 14000000", + ); + {"234567"}: pushi(@nargs=1, @blob="01000000"); + {"234567"}: seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="28000000 00000000"); + ret(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="78000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="14000000"); + addi(@blob=""); + wait(@mask=0b1, @nargs=1, @blob="ffffffff"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 03000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeedD( + @nargs=9, + @blob="00000000 00002040 00002040 00006040 00009040 0000803f 0000803f 00000040 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + {"1234567"}: etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="03000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="04010000 00000000"); + jmp(@nargs=2, @blob="c0000000 00000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="40000000 00000000"); + wait(@nargs=1, @blob="05000000"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + wait(@nargs=1, @blob="f0000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="44ffffff 00000000"); + ret(@blob=""); +} + + +void RGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 05000000"); + delete(@blob=""); +} + + +void RGirl03_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 0000c03f cdcc0c40 00002040 00008040", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 1e000000 03000000 0a000000 03000000", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="00000000 01000000 01000000 0a000000 14000000", + ); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="78000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="14000000"); + addi(@blob=""); + wait(@mask=0b1, @nargs=1, @blob="ffffffff"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 00000040 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void RGirl05() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30350000 69690000 05000000 69690000 00000000", + ); + delete(@blob=""); +} + + +void RGirl05_at() { + stackAlloc(@nargs=1, @blob="10000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00004041 0000c03f cdcc0c40 00002040 00008040", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 1e000000 03000000 0a000000 03000000", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 01000000 01000000 0a000000 14000000", + ); + {"234567"}: pushi(@nargs=1, @blob="01000000"); + {"234567"}: seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="28000000 00000000"); + ret(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="3c000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="14000000"); + addi(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="14000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="0a000000"); + addi(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="3c000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="14000000"); + addi(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="3c000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="14000000"); + addi(@blob=""); + diffWait( + @mask=0b1111, + @nargs=4, + @blob="ffffffff ffffffff ffffffff ffffffff", + ); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 01000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeedD( + @nargs=9, + @blob="00000000 00004040 00004040 00008040 6666a640 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="bc010000 00000000"); + {"1234567"}: etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="14000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="0a000000"); + addi(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="14000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="0a000000"); + addi(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="3c000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="14000000"); + addi(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="3c000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="14000000"); + addi(@blob=""); + diffWait( + @mask=0b1111, + @nargs=4, + @blob="ffffffff ffffffff ffffffff ffffffff", + ); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="48feffff 00000000"); + ret(@blob=""); +} + + +void RockB() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="00000000 3f000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00004042 00004042"); + moveVel(@mask=0b11, @nargs=2, @blob="00f41bc6 00f01bc6"); + moveVelTime( + @mask=0b1000, + @nargs=4, + @blob="0a000000 04000000 f02374c9 00ec1bc6", + ); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 a08c0000 0c000000 526f636b 42446561 64000000", + ); ++6000: // 6000 + nop(@blob=""); + delete(@blob=""); +} + + +void RockBDead() { + stackAlloc(@nargs=1, @blob="04000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="cdcccc3f"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="9a99193f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + enmCreate( + @nargs=6, + @blob="08000000 526f636b 4d000000 00000000 00000000 64000000 f4010000 02000000", + ); + pushf(@nargs=1, @blob="cdcccc3f"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00000040"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="08000000 526f636b 53000000 00000000 00000000 32000000 f4010000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="08000000 526f636b 53000000 00000000 00000000 32000000 f4010000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="08000000 526f636b 53000000 00000000 00000000 32000000 f4010000 02000000", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="03000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="f0010000 00000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="24010000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 0d000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 920a063d"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00000040"); + mulf(@blob=""); + pushf(@nargs=1, @blob="0000803f"); + addf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000040"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="e0feffff 00000000"); + anmPlay(@nargs=2, @blob="00000000 57000000"); + playSound(@nargs=1, @blob="02000000"); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void RockM() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="48000000 00000000"); + anmSetSprite(@nargs=2, @blob="00000000 40000000"); + jmp(@nargs=2, @blob="30000000 00000000"); + anmSetSprite(@nargs=2, @blob="00000000 41000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00000042 00000042"); + setHitbox(@nargs=2, @blob="00000042 00000042"); + moveVel(@mask=0b11, @nargs=2, @blob="00f41bc6 00f01bc6"); + moveVelTime( + @mask=0b1000, + @nargs=4, + @blob="3c000000 04000000 f02374c9 00ec1bc6", + ); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 a08c0000 0c000000 526f636b 4d446561 64000000", + ); ++6000: // 6000 + nop(@blob=""); + delete(@blob=""); +} + + +void RockMDead() { + stackAlloc(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="cdcccc3f"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00000040"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="08000000 526f636b 53000000 00000000 00000000 32000000 f4010000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="08000000 526f636b 53000000 00000000 00000000 32000000 f4010000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="08000000 526f636b 53000000 00000000 00000000 32000000 f4010000 02000000", + ); + anmPlay(@nargs=2, @blob="00000000 57000000"); + playSound(@nargs=1, @blob="02000000"); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void RockS() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="03000000"); + modi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="48000000 00000000"); + anmSetSprite(@nargs=2, @blob="00000000 42000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="48000000 00000000"); + anmSetSprite(@nargs=2, @blob="00000000 43000000"); + jmp(@nargs=2, @blob="30000000 00000000"); + anmSetSprite(@nargs=2, @blob="00000000 44000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="0000c041 0000c041"); + moveVel(@mask=0b11, @nargs=2, @blob="00f41bc6 00f01bc6"); + moveVelTime( + @mask=0b1000, + @nargs=4, + @blob="3c000000 04000000 f02374c9 00ec1bc6", + ); ++6000: // 6000 + nop(@blob=""); + delete(@blob=""); +} + + +void YGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30320000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 30000000"); + call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 0f000000"); + delete(@blob=""); +} + + +void YGirl05() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30350000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void main() { + stackAlloc(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="20000000"); ++60: // 60 + nop(@blob=""); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 30000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 31000000"); + wait(@nargs=1, @blob="2c010000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 32000000"); + wait(@nargs=1, @blob="bc020000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000"); + wait(@nargs=1, @blob="58020000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000"); + wait(@nargs=1, @blob="c2010000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 00000000 000000c2 28000000 10270000 01000000", + ); + wait(@nargs=1, @blob="58020000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 36000000"); + deathWait(@blob=""); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 37000000"); + wait(@nargs=1, @blob="78000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000"); + wait(@nargs=1, @blob="2c010000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 37000000"); + wait(@nargs=1, @blob="78000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 39000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756231 30000000"); + wait(@nargs=1, @blob="78000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 39000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756231 30000000"); + wait(@nargs=1, @blob="58020000"); + dialogRead(@nargs=1, @blob="00000000"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 000010c3 000080c1 28000000 10270000 01000000", + ); + dialogWait(@blob=""); + deathWait(@blob=""); + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="2c000000 3c000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); ++40000: // 40060 + nop(@blob=""); + delete(@blob=""); +} diff --git a/research/stage01.tstd b/research/stage01.tstd new file mode 100644 index 0000000..6858b57 --- /dev/null +++ b/research/stage01.tstd @@ -0,0 +1,363 @@ +#pragma mapfile "utils/th095.stdm" + +meta { + unknown: 0, + anm_path: "stage01.anm", + objects: { + object0: { + layer: 0, + pos: [0.0, 0.0, -260.0], + size: [42.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 0, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 1, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 2, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 3, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 4, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 5, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 6, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 7, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 8, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 9, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 10, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 11, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 12, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 13, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 14, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 15, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + ], + }, + object1: { + layer: 1, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0, 0.0], + quads: [ + rect { + anm_script: 16, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 17, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 18, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 19, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 20, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 21, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 22, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 23, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 24, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 25, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 26, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 27, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 28, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 29, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 30, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 31, + pos: [0.0, 0.0, -300.0], + size: [42.5, 256.0], + }, + ], + }, + object2: { + layer: 2, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0, 0.0], + quads: [ + rect { + anm_script: 32, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 33, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 34, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 35, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 36, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 37, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 38, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 39, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 40, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 41, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 42, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 43, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 44, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 45, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 46, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + rect { + anm_script: 47, + pos: [0.0, 0.0, -320.0], + size: [42.5, 256.0], + }, + ], + }, + }, + instances: [ + object0 {pos: [0.0, 512.0, 0.0]}, + object1 {pos: [0.0, 512.0, 0.0]}, + object2 {pos: [0.0, 512.0, 0.0]}, + object0 {pos: [0.0, 768.0, 0.0]}, + object1 {pos: [0.0, 768.0, 0.0]}, + object2 {pos: [0.0, 768.0, 0.0]}, + object0 {pos: [0.0, 1024.0, 0.0]}, + object1 {pos: [0.0, 1024.0, 0.0]}, + object2 {pos: [0.0, 1024.0, 0.0]}, + object0 {pos: [0.0, 1280.0, 0.0]}, + object1 {pos: [0.0, 1280.0, 0.0]}, + object2 {pos: [0.0, 1280.0, 0.0]}, + object0 {pos: [0.0, 1536.0, 0.0]}, + object1 {pos: [0.0, 1536.0, 0.0]}, + object2 {pos: [0.0, 1536.0, 0.0]}, + object0 {pos: [0.0, 1792.0, 0.0]}, + object1 {pos: [0.0, 1792.0, 0.0]}, + object2 {pos: [0.0, 1792.0, 0.0]}, + object0 {pos: [0.0, 2048.0, 0.0]}, + object1 {pos: [0.0, 2048.0, 0.0]}, + object2 {pos: [0.0, 2048.0, 0.0]}, + object0 {pos: [0.0, 2304.0, 0.0]}, + object1 {pos: [0.0, 2304.0, 0.0]}, + object2 {pos: [0.0, 2304.0, 0.0]}, + object0 {pos: [0.0, 2560.0, 0.0]}, + object1 {pos: [0.0, 2560.0, 0.0]}, + object2 {pos: [0.0, 2560.0, 0.0]}, + object0 {pos: [0.0, 2816.0, 0.0]}, + object1 {pos: [0.0, 2816.0, 0.0]}, + object2 {pos: [0.0, 2816.0, 0.0]}, + object0 {pos: [0.0, 3072.0, 0.0]}, + object1 {pos: [0.0, 3072.0, 0.0]}, + object2 {pos: [0.0, 3072.0, 0.0]}, + object0 {pos: [0.0, 3328.0, 0.0]}, + object1 {pos: [0.0, 3328.0, 0.0]}, + object2 {pos: [0.0, 3328.0, 0.0]}, + object0 {pos: [0.0, 3584.0, 0.0]}, + object1 {pos: [0.0, 3584.0, 0.0]}, + object2 {pos: [0.0, 3584.0, 0.0]}, + object0 {pos: [0.0, 3840.0, 0.0]}, + object1 {pos: [0.0, 3840.0, 0.0]}, + object2 {pos: [0.0, 3840.0, 0.0]}, + object0 {pos: [0.0, 4096.0, 0.0]}, + object1 {pos: [0.0, 4096.0, 0.0]}, + object2 {pos: [0.0, 4096.0, 0.0]}, + object0 {pos: [0.0, 4352.0, 0.0]}, + object1 {pos: [0.0, 4352.0, 0.0]}, + object2 {pos: [0.0, 4352.0, 0.0]}, + object0 {pos: [0.0, 4608.0, 0.0]}, + object1 {pos: [0.0, 4608.0, 0.0]}, + object2 {pos: [0.0, 4608.0, 0.0]}, + object0 {pos: [0.0, 4864.0, 0.0]}, + object1 {pos: [0.0, 4864.0, 0.0]}, + object2 {pos: [0.0, 4864.0, 0.0]}, + object0 {pos: [0.0, 5120.0, 0.0]}, + object1 {pos: [0.0, 5120.0, 0.0]}, + object2 {pos: [0.0, 5120.0, 0.0]}, + object0 {pos: [0.0, 5376.0, 0.0]}, + object1 {pos: [0.0, 5376.0, 0.0]}, + object2 {pos: [0.0, 5376.0, 0.0]}, + object0 {pos: [0.0, 5632.0, 0.0]}, + object1 {pos: [0.0, 5632.0, 0.0]}, + object2 {pos: [0.0, 5632.0, 0.0]}, + object0 {pos: [0.0, 5888.0, 0.0]}, + object1 {pos: [0.0, 5888.0, 0.0]}, + object2 {pos: [0.0, 5888.0, 0.0]}, + object0 {pos: [0.0, 6144.0, 0.0]}, + object1 {pos: [0.0, 6144.0, 0.0]}, + object2 {pos: [0.0, 6144.0, 0.0]}, + ], +} + + +script main { + up(0.0, 1.0, 0.0); + fov(0.62831855); + fog(0xff000000, 100.0, 600.0); + fogTime(200, 0, 0xff000000, 400.0, 1000.0); + pos(0.0, 0.0, -500.0); + posTime(900, 4, 0.0, 1024.0, -700.0); + facing(0.0, 400.0, 200.0); + facingTime(900, 4, 0.0, 400.0, 330.0); ++200: // 200 + fogTime(800, 0, 0xff000000, 500.0, 1100.0); ++700: // 900 + pos(0.0, 1024.0, -700.0); + posTime(200, 1, 0.0, 1324.0, -700.0); ++200: // 1100 + loop { + pos(0.0, 1324.0, -700.0); + posTime(256, 0, 0.0, 2348.0, -700.0); ++256: // 1356 + } +} diff --git a/research/stage02.tanm b/research/stage02.tanm new file mode 100644 index 0000000..97cb70d --- /dev/null +++ b/research/stage02.tanm @@ -0,0 +1,365 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "background/stage02/stage02a.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 11, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}, + sprite1: {x: 224.0, y: 0.0, w: 32.0, h: 256.0}, + sprite2: {x: 32.0, y: 0.0, w: 32.0, h: 256.0}, + sprite3: {x: 192.0, y: 0.0, w: 32.0, h: 256.0}, + sprite4: {x: 64.0, y: 0.0, w: 32.0, h: 256.0}, + sprite5: {x: 160.0, y: 0.0, w: 32.0, h: 256.0}, + sprite6: {x: 96.0, y: 0.0, w: 32.0, h: 256.0}, + sprite7: {x: 128.0, y: 0.0, w: 32.0, h: 256.0}, + sprite8: {x: 128.0, y: 0.0, w: 32.0, h: 256.0}, + sprite9: {x: 96.0, y: 0.0, w: 32.0, h: 256.0}, + sprite10: {x: 160.0, y: 0.0, w: 32.0, h: 256.0}, + sprite11: {x: 64.0, y: 0.0, w: 32.0, h: 256.0}, + sprite12: {x: 192.0, y: 0.0, w: 32.0, h: 256.0}, + sprite13: {x: 32.0, y: 0.0, w: 32.0, h: 256.0}, + sprite14: {x: 224.0, y: 0.0, w: 32.0, h: 256.0}, + sprite15: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}, + }, +} + + +script 0 script0 { + type(8); + sprite(sprite0); + rotate(0.0, -0.98901993, 0.0); + pos(-262.78854, 0.0, 5.120286); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 1 script1 { + type(8); + sprite(sprite1); + rotate(0.0, 0.98901993, 0.0); + pos(262.78854, 0.0, 5.120286); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 2 script2 { + type(8); + sprite(sprite2); + rotate(0.0, -0.87266463, 0.0); + pos(-237.37227, 0.0, 39.260265); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 3 script3 { + type(8); + sprite(sprite3); + rotate(0.0, 0.87266463, 0.0); + pos(237.37227, 0.0, 39.260265); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 4 script4 { + type(8); + sprite(sprite4); + rotate(0.0, -0.75630933, 0.0); + pos(-208.16444, 0.0, 70.21875); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 5 script5 { + type(8); + sprite(sprite5); + rotate(0.0, 0.75630933, 0.0); + pos(208.16444, 0.0, 70.21875); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 6 script6 { + type(8); + sprite(sprite6); + rotate(0.0, -0.63995403, 0.0); + pos(-175.56004, 0.0, 97.57709); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 7 script7 { + type(8); + sprite(sprite7); + rotate(0.0, 0.63995403, 0.0); + pos(175.56004, 0.0, 97.57709); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 8 script8 { + type(8); + sprite(sprite8); + rotate(0.0, -0.5235988, 0.0); + pos(-140.0, 0.0, 120.9653); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 9 script9 { + type(8); + sprite(sprite9); + rotate(0.0, 0.5235988, 0.0); + pos(140.0, 0.0, 120.9653); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 10 script10 { + type(8); + sprite(sprite10); + rotate(0.0, -0.4072435, 0.0); + pos(-101.965195, 0.0, 140.0671); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 11 script11 { + type(8); + sprite(sprite11); + rotate(0.0, 0.4072435, 0.0); + pos(101.965195, 0.0, 140.0671); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 12 script12 { + type(8); + sprite(sprite12); + rotate(0.0, -0.29088822, 0.0); + pos(-61.969982, 0.0, 154.62416); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 13 script13 { + type(8); + sprite(sprite13); + rotate(0.0, 0.29088822, 0.0); + pos(61.969982, 0.0, 154.62416); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 14 script14 { + type(8); + sprite(sprite14); + rotate(0.0, -0.17453292, 0.0); + pos(-20.555233, 0.0, 164.43964); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +script 15 script15 { + type(8); + sprite(sprite15); + rotate(0.0, 0.17453292, 0.0); + pos(20.555233, 0.0, 164.43964); + scrollX(0.01); + scrollY(-0.02); + stop(); +} + + +entry { + path: "background/stage02/stage02b.png", + img_width: 256, + img_height: 256, + memory_priority: 11, + sprites: { + sprite16: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}, + sprite17: {x: 32.0, y: 0.0, w: 32.0, h: 256.0}, + sprite18: {x: 64.0, y: 0.0, w: 32.0, h: 256.0}, + sprite19: {x: 96.0, y: 0.0, w: 32.0, h: 256.0}, + sprite20: {x: 128.0, y: 0.0, w: 32.0, h: 256.0}, + sprite21: {x: 160.0, y: 0.0, w: 32.0, h: 256.0}, + sprite22: {x: 192.0, y: 0.0, w: 32.0, h: 256.0}, + sprite23: {x: 224.0, y: 0.0, w: 32.0, h: 256.0}, + }, +} + + +script 16 script16 { + type(8); + sprite(sprite16); + rotate(0.0, -0.98901993, 0.0); + pos(-262.78854, 0.0, 5.120286); + stop(); +} + + +script 17 script17 { + type(8); + sprite(sprite16); + rotate(0.0, 4.1306124, 0.0); + pos(262.78854, 0.0, 5.120286); + stop(); +} + + +script 18 script18 { + type(8); + sprite(sprite17); + rotate(0.0, -0.87266463, 0.0); + pos(-237.37227, 0.0, 39.260265); + stop(); +} + + +script 19 script19 { + type(8); + sprite(sprite17); + rotate(0.0, 4.0142574, 0.0); + pos(237.37227, 0.0, 39.260265); + stop(); +} + + +script 20 script20 { + type(8); + sprite(sprite18); + rotate(0.0, -0.75630933, 0.0); + pos(-208.16444, 0.0, 70.21875); + stop(); +} + + +script 21 script21 { + type(8); + sprite(sprite18); + rotate(0.0, 3.897902, 0.0); + pos(208.16444, 0.0, 70.21875); + stop(); +} + + +script 22 script22 { + type(8); + sprite(sprite19); + rotate(0.0, -0.63995403, 0.0); + pos(-175.56004, 0.0, 97.57709); + stop(); +} + + +script 23 script23 { + type(8); + sprite(sprite19); + rotate(0.0, 3.7815468, 0.0); + pos(175.56004, 0.0, 97.57709); + stop(); +} + + +script 24 script24 { + type(8); + sprite(sprite20); + rotate(0.0, -0.5235988, 0.0); + pos(-140.0, 0.0, 120.9653); + stop(); +} + + +script 25 script25 { + type(8); + sprite(sprite20); + rotate(0.0, 3.6651914, 0.0); + pos(140.0, 0.0, 120.9653); + stop(); +} + + +script 26 script26 { + type(8); + sprite(sprite21); + rotate(0.0, -0.4072435, 0.0); + pos(-101.965195, 0.0, 140.0671); + stop(); +} + + +script 27 script27 { + type(8); + sprite(sprite21); + rotate(0.0, 3.5488362, 0.0); + pos(101.965195, 0.0, 140.0671); + stop(); +} + + +script 28 script28 { + type(8); + sprite(sprite22); + rotate(0.0, -0.29088822, 0.0); + pos(-61.969982, 0.0, 154.62416); + stop(); +} + + +script 29 script29 { + type(8); + sprite(sprite22); + rotate(0.0, 3.4324808, 0.0); + pos(61.969982, 0.0, 154.62416); + stop(); +} + + +script 30 script30 { + type(8); + sprite(sprite23); + rotate(0.0, -0.17453292, 0.0); + pos(-20.555233, 0.0, 164.43964); + stop(); +} + + +script 31 script31 { + type(8); + sprite(sprite23); + rotate(0.0, 3.3161256, 0.0); + pos(20.555233, 0.0, 164.43964); + stop(); +} diff --git a/research/stage02.tecl b/research/stage02.tecl new file mode 100644 index 0000000..08d9db7 --- /dev/null +++ b/research/stage02.tecl @@ -0,0 +1,3968 @@ +#pragma mapfile "utils/th11.eclm" + +meta {anim: ["enemy.anm", "stgenm02.anm"], ecli: ["default.ecl"]} + + +void BCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 43697230 30000000 69690000 4b000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 43697230 31000000 69690000 4b000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir01B() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 43697230 31420000 69690000 4b000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 43697230 32000000 69690000 4b000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir02B() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 43697230 32420000 69690000 4b000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30310000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl01B() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30314200 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30320000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30330000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +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="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00004042 00004042"); + setInvuln(@nargs=1, @blob="3c000000"); + {"014567"}: lifeSet(@nargs=1, @blob="f0230000"); + {"234567"}: lifeSet(@nargs=1, @blob="f0230000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + fog(@nargs=2, @blob="00002043 ff800000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); ++60: // 60 + dialogWait(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 0000c042"); + 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=""); + {"014567"}: setInterrupt( + @nargs=4, + @blob="00000000 dc050000 34080000 0c000000 426f7373 43617264 31000000", + ); + {"014567"}: lifeMarker(@nargs=3, @blob="00000000 0080bb44 80a0ffff"); + {"234567"}: setInterrupt( + @nargs=4, + @blob="00000000 dc050000 34080000 0c000000 426f7373 43617264 31000000", + ); + {"234567"}: lifeMarker(@nargs=3, @blob="00000000 0080bb44 80a0ffff"); + setChapter(@nargs=1, @blob="18000000"); + stars(@nargs=1, @blob="01000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + jmp(@nargs=2, @blob="74000000 00000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 31417431 00000000"); + diffWait(@nargs=4, @blob="e6000000 e6000000 e6000000 a0000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 0000803f"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="90ffffff 00000000"); + ret(@blob=""); +} + + +void Boss1At1() { + stackAlloc(@nargs=1, @blob="14000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 03000000 03000000 06000000 06000000", + ); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="08000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="1e000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="68070000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etCount(@nargs=3, @blob="00000000 20000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 7cd9203e"); + etSpeed(@nargs=3, @blob="00000000 00004040 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00040000 a0000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 08000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="508d273e"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + jmp(@nargs=2, @blob="3c040000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="60010000 00000000"); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 10000000 3c000000 01000000 00008041 0000803f", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="48000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 00000080 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="03000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="48000000 00000000"); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 10000000 3c000000 01000000 00008041 0000c03f", + ); + jmp(@nargs=2, @blob="b8010000 00000000"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 10000000 3c000000 01000000 000080bf 00000040", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="48000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="03000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="80000000 00000000"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 10000000 3c000000 01000000 000080bf 00002040", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="94d9203d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="a60a863d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="c8fbffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="f90fc93d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="7c000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="0a000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="64000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="06000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + diffWait(@nargs=4, @blob="0a000000 0a000000 06000000 06000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="9cf8ffff 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="4a2e0000"); + setInterrupt( + @nargs=4, + @blob="00000000 ea0b0000 34080000 0c000000 426f7373 43617264 32000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00a03e45 80a0ffff"); + lifeMarker(@nargs=3, @blob="01000000 0080bb44 4080ffff"); + setChapter(@nargs=1, @blob="19000000"); + stars(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0010000 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"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="48000000 00000000"); + dropExtra(@nargs=2, @blob="01000000 06000000"); + jmp(@nargs=2, @blob="30000000 00000000"); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 05000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + playSound(@nargs=1, @blob="0f000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); ++90: // 90 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + jmp(@nargs=2, @blob="74000000 5a000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 32417431 00000000"); + diffWait(@nargs=4, @blob="e6000000 e6000000 a0000000 3c000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00004040"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="90ffffff 5a000000"); + ret(@blob=""); +} + + +void Boss2At1() { + stackAlloc(@nargs=1, @blob="1c000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="0000a041 0000c03f 0000c03f 00000040 00002040", + ); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="0000c041 0000803f 0000803f 0000c03f 00000040", + ); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="08000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="1e000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="30050000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 03000000 0d000000"); + etCount(@nargs=3, @blob="00000000 20000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 7cd9203e"); + etSpeed(@nargs=3, @blob="00000000 00004040 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00040000 a0000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 08000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="508d273e"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + jmp(@nargs=2, @blob="c4020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="90000000 00000000"); + etEx( + @mask=0b11000000, + @nargs=8, + @blob="00000000 03000000 00000000 10000000 28000000 01000000 00008041 0000a041", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 00000080 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="10010000 00000000"); + etEx( + @mask=0b11000000, + @nargs=8, + @blob="00000000 03000000 00000000 10000000 28000000 01000000 00008041 0000c041", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="60000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="48000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 00000001 03000000 05000000 f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="94d9203d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="a60a863d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="40fdffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="f90fc93d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="0a000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="d4faffff 00000000"); + ret(@blob=""); +} + + +void BossCard1() { + stackAlloc(@nargs=1, @blob="10000000"); + {"014567"}: setInterrupt( + @nargs=4, + @blob="00000000 00000000 60090000 08000000 426f7373 32000000", + ); + {"234567"}: setInterrupt( + @nargs=4, + @blob="00000000 00000000 34080000 08000000 426f7373 32000000", + ); + {"014567"}: spell( + @nargs=4, + @blob="0e000000 60090000 20a10700 24000000 feaa185b 65d0108d e62e0fd6 691b0bb8 e58715c1 6df8033e dd2af39d 48cbf816 575e759c", + ); + {"234567"}: spell3( + @nargs=4, + @blob="10000000 34080000 20a10700 14000000 feaa185b 65d0108d eca00eb9 697e0334 e61885ac", + ); + setChapter(@nargs=1, @blob="2b000000"); + killAllAsync(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00004043"); + setInvuln(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="07000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + 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"); ++60: // 60 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 120 + anmSelectedPlay(@nargs=1, @blob="00000000"); ++30: // 150 + nop(@blob=""); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 315f6174 00000000"); + {"1234567"}: callAsync( + @nargs=1, + @blob="10000000 426f7373 43617264 315f6174 32000000", + ); + {"04567"}: moveEllipse( + @nargs=6, + @blob="db0f4940 fbf7453c 00000000 0000403f db0fc93f 0000803e", + ); + {"1234567"}: moveEllipse( + @nargs=6, + @blob="db0f4940 fbf7453c 00000000 0000a03f db0fc93f 0000803e", + ); + wait(@nargs=1, @blob="78000000"); + moveEllipse( + @nargs=6, + @blob="f02374c9 f02374c9 f02374c9 00000000 f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="2c000000 96000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 96000000"); + ret(@blob=""); +} + + +void BossCard1At() { + stackAlloc(@nargs=1, @blob="08000000"); + flagSet(@nargs=1, @blob="2c010000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 3141745f 61740000"); + moveVel(@mask=0b1, @nargs=2, @blob="00f41bc6 00000000"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00004040"); + wait(@nargs=1, @blob="a0000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void BossCard1At_at() { + stackAlloc(@nargs=1, @blob="14000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 02000000"); + etSprite(@nargs=3, @blob="01000000 11000000 02000000"); + etCountD( + @nargs=9, + @blob="01000000 01000000 01000000 02000000 06000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="01000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="01000000 0000803f 0000803f"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 04000000 1e000000 c1bdf0ff cdcccc3d f02374c9", + ); + etOn(@nargs=1, @blob="01000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 02000000 04000000"); + etCount(@nargs=3, @blob="00000000 05000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 00000000 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00000001 03000000 03000000 f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00100000 5a000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 00000001 03000000 00000000 f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 05000000 00000000 00100000 5a000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 06000000 00000000 00000001 03000000 01000000 f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 07000000 00000000 00100000 5a000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 08000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etSound(@nargs=3, @blob="00000000 18000000 ffffffff"); + pushi(@nargs=1, @blob="5a000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="58020000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushf(@nargs=1, @blob="00008041"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="c8020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="01000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="60000000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 0c000000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="b0000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00000080 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="5a000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + addi(@blob=""); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 03000000 00000000 00100000 ffffffff c1bdf0ff f02374c9 f02374c9", + ); + etSprite(@nargs=3, @blob="00000000 03000000 04000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + mulf(@blob=""); + circlePos( + @mask=0b1111, + @nargs=4, + @blob="00008040 00000041 00381cc6 000080bf", + ); + movePosRel(@mask=0b11, @nargs=2, @blob="00008040 00000041"); + etDist(@nargs=2, @blob="00000000 00000041"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="0000803f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="08000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="3cfdffff 00000000"); + ret(@blob=""); +} + + +void BossCard1_at() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + jmp(@nargs=2, @blob="d80b0000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"234567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="960a863f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="960a863f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + wait(@nargs=1, @blob="5a000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"234567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="960a863f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="960a863f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + wait(@nargs=1, @blob="5a000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"234567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="960a863f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="960a863f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + wait(@nargs=1, @blob="5a000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"234567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="960a863f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="960a863f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + {"34567"}: enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 64000000 0a000000 00000000", + ); + wait(@nargs=1, @blob="5a000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="2cf4ffff 00000000"); + ret(@blob=""); +} + + +void BossCard1_at2() { + stackAlloc(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 05000000"); + etCountD( + @nargs=9, + @blob="00000000 08000000 08000000 10000000 10000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeedD( + @nargs=9, + @blob="00000000 0000803f 0000803f 0000803f 00000040 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + wait(@nargs=1, @blob="14000000"); + wait(@nargs=1, @blob="68010000"); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="5a000000 5a000000 5a000000 5a000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard2() { + stackAlloc(@nargs=1, @blob="04000000"); + {"014567"}: spell( + @nargs=4, + @blob="12000000 60090000 20a10700 20000000 e79d0564 63a7108d e35c06a1 697a0b99 f2160b7e 61fc0324 ca36f082 5ad47960", + ); + {"234567"}: spell3( + @nargs=4, + @blob="14000000 60090000 20a10700 24000000 e79d0564 63a7108d fe130f9f 697a03fb 85aa076a 6c86035b dd2ef7af 3966f816 575e759c", + ); + setInterrupt( + @nargs=4, + @blob="00000000 dc050000 60090000 0c000000 426f7373 43617264 33000000", + ); + killAllAsync(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + 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"); ++60: // 60 + nop(@blob=""); + unknown363(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="58000000 3c000000"); + pushi(@nargs=1, @blob="a0ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + jmp(@nargs=2, @blob="40000000 3c000000"); + pushi(@nargs=1, @blob="60000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + jmp(@nargs=2, @blob="d0020000 46000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + anmPlay(@nargs=2, @blob="00000000 83000000"); + wait(@nargs=1, @blob="1e000000"); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + enmCreate( + @nargs=6, + @blob="10000000 426f7373 43617264 3244756d 6d790000 00000000 00000000 20030000 e8030000 03000000", + ); + anmSetSprite(@nargs=2, @blob="00000000 06000000"); + flagSet(@nargs=1, @blob="01000000"); + flagClear(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="1a000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="ffffffff"); + mulf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + movePos(@mask=0b11, @nargs=2, @blob="00f41bc6 00f01bc6"); + wait(@nargs=1, @blob="19000000"); + flagClear(@nargs=1, @blob="01000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 325f6174 34000000 69660000 00000000", + ); + diffWait(@nargs=4, @blob="2c010000 2c010000 2c010000 96000000"); ++10: // 70 + nop(@blob=""); + killAllAsync(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="00000000"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="58000000 46000000"); + pushi(@nargs=1, @blob="a0ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + jmp(@nargs=2, @blob="40000000 46000000"); + pushi(@nargs=1, @blob="60000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="34fdffff 3c000000"); + ret(@blob=""); +} + + +void BossCard2Dummy() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + anmSetSprite(@nargs=2, @blob="00000000 06000000"); + callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 325f6174 00000000 69660000 00000000", + ); + flagSet(@nargs=1, @blob="01000000"); + flagClear(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="19000000"); + movePos(@mask=0b11, @nargs=2, @blob="00f41bc6 00f01bc6"); + wait(@nargs=1, @blob="19000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 325f6174 33000000 69660000 00000000", + ); + diffWait(@nargs=4, @blob="2c010000 2c010000 2c010000 96000000"); + anmPlay(@nargs=2, @blob="00000000 51000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); +} + + +void BossCard2_at() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 11000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000040 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="50000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@mask=0b1, @nargs=1, @blob="1ed9ffff"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="f0030000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@mask=0b1, @nargs=1, @blob="1ed9ffff"); + greateri(@blob=""); + jmpEq(@nargs=2, @blob="34030000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00008042"); + mulf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="03000000"); + divf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="a8000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00000040"); + mulf(@blob=""); + pushf(@nargs=1, @blob="0000803f"); + addf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + jmp(@nargs=2, @blob="70010000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="a8000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00000040"); + mulf(@blob=""); + pushf(@nargs=1, @blob="00000040"); + addf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + jmp(@nargs=2, @blob="90000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00000040"); + mulf(@blob=""); + pushf(@nargs=1, @blob="00008040"); + addf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="1ed9ffff"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + diffWait(@nargs=4, @blob="08000000 01000000 01000000 01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="14fcffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_at2() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 02000000"); + etSprite(@nargs=3, @blob="01000000 00000000 0a000000"); + etCount(@nargs=3, @blob="01000000 01000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="01000000 00000040 00000040"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="40010000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="44020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@mask=0b1, @nargs=1, @blob="1ed9ffff"); + greateri(@blob=""); + jmpEq(@nargs=2, @blob="4c010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="03000000"); + divf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 000080bf 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00000040"); + mulf(@blob=""); + pushf(@nargs=1, @blob="0000803f"); + addf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="01000000 000080bf 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00008042"); + mulf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="01000000 00381cc6 000080bf"); + etOn(@nargs=1, @blob="01000000"); + pushi(@mask=0b1, @nargs=1, @blob="1ed9ffff"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + diffWait(@nargs=4, @blob="08000000 01000000 01000000 01000000"); + wait(@nargs=1, @blob="01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7077563d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="c0fdffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_at3() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 02000000"); + etSprite(@nargs=3, @blob="02000000 11000000 02000000"); + etCount(@nargs=3, @blob="02000000 06000000 01000000"); + etAngle(@nargs=3, @blob="02000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="02000000 00000040 00000040"); + etEx( + @nargs=8, + @blob="02000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@nargs=2, @blob="02000000 00000042"); + jmp(@nargs=2, @blob="8c000000 00000000"); + etOn(@nargs=1, @blob="02000000"); + wait(@nargs=1, @blob="50000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="78ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_at4() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 02000000"); + etSprite(@nargs=3, @blob="02000000 00000000 0a000000"); + etCountD( + @nargs=9, + @blob="02000000 10000000 20000000 20000000 20000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="02000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="02000000 33331340 00002040 00002040 00002040 00000040 00000040 00000040 00000040", + ); + etEx( + @nargs=8, + @blob="02000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@nargs=2, @blob="02000000 00000042"); + jmp(@nargs=2, @blob="98000000 00000000"); + etOn(@nargs=1, @blob="02000000"); + diffWait(@nargs=4, @blob="3c000000 28000000 14000000 0a000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7077563e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="6cffffff 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 140a0000 0c000000 426f7373 44656164 00000000", + ); + setChapter(@nargs=1, @blob="2d000000"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="20010000 00000000"); + setInvuln(@nargs=1, @blob="5a000000"); + 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"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 05000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + playSound(@nargs=1, @blob="0f000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); ++90: // 90 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00004043"); + {"014567"}: spell( + @nargs=4, + @blob="16000000 140a0000 20a10700 14000000 fad80038 724f18b6 ed3a00bb 65e30b98 e61885ac", + ); + {"234567"}: spell3( + @nargs=4, + @blob="18000000 140a0000 20a10700 1c000000 fad80038 724f18b6 ed3a00bb 65e30b98 e9db1656 75f0009e 5fe67d24", + ); + killAllAsync(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00004043"); + 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 5a000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + jmp(@nargs=2, @blob="50000000 5a000000"); + enmCreate( + @nargs=6, + @blob="10000000 45636c5f 45744272 65616b5f 6e690000 00000000 00000000 0f270000 00000000 00000000", + ); + setChapter(@nargs=1, @blob="2c000000"); ++30: // 120 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++90: // 210 + nop(@blob=""); + anmSelectedPlay(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="0c020000 d2000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + callAsync( + @mask=0b100, + @nargs=3, + @blob="10000000 426f7373 43617264 335f6174 00000000 69690000 00000000 66660000 00000000", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="04010000 d2000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="98000000 d2000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="fcc8653f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + callAsync( + @mask=0b110, + @nargs=3, + @blob="10000000 426f7373 43617264 335f6174 00000000 69690000 04000000 66660000 00000000", + ); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="6cffffff d2000000"); + diffWait(@nargs=4, @blob="8c000000 8c000000 8c000000 46000000"); + playSound(@nargs=1, @blob="05000000"); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="0f000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="f8fdffff d2000000"); + ret(@blob=""); +} + + +void BossCard3_at() { + stackAlloc(@nargs=1, @blob="18000000"); + etSound(@mask=0b1, @nargs=3, @blob="00000000 0f000000 ffffffff"); + etNew(@mask=0b1, @nargs=1, @blob="00000000"); + etAim(@mask=0b1, @nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b1, @nargs=3, @blob="00000000 05000000 02000000"); + etCount(@mask=0b1, @nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@mask=0b1, @nargs=3, @blob="00000000 db0fc93f 00000000"); + etSpeed(@mask=0b1, @nargs=3, @blob="00000000 0000803f 00000040"); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 01000000 01000000 04000000 3c000000 c1bdf0ff 8988883d f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 02000000 00000000 00010000 01000000 0f000000 f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 05000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 08000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="14000000 12000000 28000000 14000000 14000000", + ); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008041 cdcc4c3f cdcc4c3f cdcc4c3f 9a99993f", + ); + jmp(@nargs=2, @blob="f0040000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c4000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="06000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="a4020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c4000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="03000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="a8010000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c4000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="06000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="ac000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="06000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + etEx( + @mask=0b1000001, + @nargs=8, + @blob="00000000 03000000 00000000 00000800 08001203 01000000 00008041 00000000", + ); + etEx( + @mask=0b1000001, + @nargs=8, + @blob="00000000 04000000 00000000 00001000 01000000 00000000 00004041 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + mulf(@blob=""); + etOffsetRad(@mask=0b111, @nargs=3, @blob="00000000 00381cc6 000080bf"); + etAngle(@mask=0b11, @nargs=3, @blob="00000000 00008040 00000000"); + etOn(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="0000803f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + diffWait(@nargs=4, @blob="0a000000 05000000 0a000000 07000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="14fbffff 00000000"); + ret(@blob=""); +} + + +void BossDead() { + stackAlloc(@nargs=1, @blob="04000000"); + 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", + ); ++60: // 60 + etClearAll(@blob=""); + spellEnd(@blob=""); + dropMain(@nargs=1, @blob="00000000"); + dropClear(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="2c000000 3c000000"); + dropMain(@nargs=1, @blob="05000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 08000000"); + dropExtra(@nargs=2, @blob="02000000 08000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000"); + anmPlay(@nargs=2, @blob="00000000 4c000000"); + anmPlay(@nargs=2, @blob="00000000 8e000000"); + playSound(@nargs=1, @blob="12000000"); + setBoss(@nargs=1, @blob="ffffffff"); + delete(@blob=""); + delete(@blob=""); +} + + +void Cir00() { + stackAlloc(@nargs=1, @blob="14000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="10000000 01000000 01000000 01000000 02000000", + ); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00004041"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); + wait(@nargs=1, @blob="1e000000"); + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52436972 30305f61 74000000 69690000 04000000", + ); + wait(@nargs=1, @blob="1e000000"); + jmp(@nargs=2, @blob="f8010000 00000000"); + pushf(@nargs=1, @blob="db0fc9bf"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00000040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52436972 30305f61 74000000 69690000 04000000", + ); + diffWait(@nargs=4, @blob="1e000000 1e000000 0f000000 0a000000"); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00000040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52436972 30305f61 74000000 69690000 04000000", + ); + diffWait(@nargs=4, @blob="1e000000 1e000000 0f000000 0a000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="0cfeffff 00000000"); + moveVel(@nargs=2, @blob="db0fc9bf 0000c040"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir01() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + flagSet(@nargs=1, @blob="0c000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 06000000"); + dropExtra(@nargs=2, @blob="01000000 02000000"); + dropArea(@nargs=2, @blob="00008042 00008042"); + moveEllipse( + @nargs=6, + @blob="db0f4940 5077563d 00006043 f5499fbf db0fc93f 9a99993e", + ); + wait(@nargs=1, @blob="b4000000"); + moveVel(@nargs=2, @blob="00000000 00000000"); + {"1234567"}: callAsync( + @nargs=5, + @blob="0c000000 52436972 30315f61 74000000 69690000 00000000 69690000 06000000 66660000 cdcc0c40 66660000 920a063d", + ); + callAsync( + @nargs=5, + @blob="0c000000 52436972 30315f61 74000000 69690000 01000000 69690000 08000000 66660000 6666a63f 66660000 db0f49bd", + ); + wait(@nargs=1, @blob="3c000000"); + {"1234567"}: callAsync( + @nargs=5, + @blob="0c000000 52436972 30315f61 74000000 69690000 00000000 69690000 06000000 66660000 cdcc0c40 66660000 920a06bd", + ); + callAsync( + @nargs=5, + @blob="0c000000 52436972 30315f61 74000000 69690000 01000000 69690000 08000000 66660000 6666a63f 66660000 db0f493d", + ); + wait(@nargs=1, @blob="78000000"); + flagClear(@nargs=1, @blob="0c000000"); + moveEllipse( + @nargs=6, + @blob="db0f4940 5077563d 00000000 f5499f3f db0fc93f 9a99993e", + ); + wait(@nargs=1, @blob="b4000000"); + delete(@blob=""); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir01B() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + flagSet(@nargs=1, @blob="0c000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 06000000"); + dropExtra(@nargs=2, @blob="01000000 02000000"); + dropArea(@nargs=2, @blob="00008042 00008042"); + moveEllipse( + @nargs=6, + @blob="00000000 507756bd 00006043 f5499fbf db0fc93f 9a99993e", + ); + wait(@nargs=1, @blob="b4000000"); + moveVel(@nargs=2, @blob="00000000 00000000"); + {"1234567"}: callAsync( + @nargs=5, + @blob="0c000000 52436972 30315f61 74000000 69690000 00000000 69690000 0a000000 66660000 cdcc0c40 66660000 920a063d", + ); + callAsync( + @nargs=5, + @blob="0c000000 52436972 30315f61 74000000 69690000 01000000 69690000 0b000000 66660000 6666a63f 66660000 db0f49bd", + ); + wait(@nargs=1, @blob="3c000000"); + {"1234567"}: callAsync( + @nargs=5, + @blob="0c000000 52436972 30315f61 74000000 69690000 00000000 69690000 0a000000 66660000 cdcc0c40 66660000 920a06bd", + ); + callAsync( + @nargs=5, + @blob="0c000000 52436972 30315f61 74000000 69690000 01000000 69690000 0b000000 66660000 6666a63f 66660000 db0f493d", + ); + wait(@nargs=1, @blob="78000000"); + flagClear(@nargs=1, @blob="0c000000"); + moveEllipse( + @nargs=6, + @blob="00000000 507756bd 00000000 f5499f3f db0fc93f 9a99993e", + ); + wait(@nargs=1, @blob="b4000000"); + delete(@blob=""); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir02() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + flagSet(@nargs=1, @blob="0c000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + callAsync(@nargs=1, @blob="0c000000 52436972 30325f61 74000000"); + moveEllipse( + @nargs=6, + @blob="db0f4940 5077d63d 00006043 f5491fc0 db0fc93f 9a99993e", + ); + wait(@nargs=1, @blob="5a000000"); + moveEllipse( + @nargs=6, + @blob="db0f4940 5077d63d 00000000 f5491f40 db0fc93f 9a99993e", + ); + wait(@nargs=1, @blob="5a000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void Cir02B() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + flagSet(@nargs=1, @blob="0c000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + callAsync(@nargs=1, @blob="0c000000 52436972 30325f61 74000000"); + moveEllipse( + @nargs=6, + @blob="00000000 5077d6bd 00006043 f5491fc0 db0fc93f 9a99993e", + ); + wait(@nargs=1, @blob="5a000000"); + moveEllipse( + @nargs=6, + @blob="00000000 5077d6bd 00000000 f5491f40 db0fc93f 9a99993e", + ); + wait(@nargs=1, @blob="5a000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void GCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 43697230 30000000 69690000 48000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 43697230 31000000 69690000 48000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir01B() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 43697230 31420000 69690000 48000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 43697230 32000000 69690000 48000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir02B() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 43697230 32420000 69690000 48000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30310000 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl01B() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30314200 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30320000 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30330000 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void Girl00() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + 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="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); + pushi(@nargs=1, @blob="80000000"); + subf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="00000043"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="40000000 00000000"); + pushf(@nargs=1, @blob="00000043"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00b41bc6"); + addf(@blob=""); + moveBezier( + @mask=0b11000, + @nargs=7, + @blob="5a000000 00000000 00000044 000080bf 00004041 00000000 00000000", + ); ++90: // 90 + callAsync( + @nargs=2, + @blob="0c000000 52476972 6c30305f 61740000 69690000 01000000", + ); + wait(@nargs=1, @blob="5a000000"); + moveVel(@mask=0b1, @nargs=2, @blob="00141cc6 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00008040"); ++6000: // 6090 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl01() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + moveVel(@nargs=2, @blob="db0fc9be 0000c040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 00000000 00000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c30315f 61740000 69690000 04000000", + ); + moveVelTime(@nargs=4, @blob="3c000000 00000000 db0fc93e 0000c040"); + wait(@nargs=1, @blob="3c000000"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl01B() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + moveVel(@nargs=2, @blob="db0fc9be 0000c040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 00000000 00000000"); + wait(@nargs=1, @blob="3c000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 db0fc93e 0000c040"); + wait(@nargs=1, @blob="3c000000"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl02() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + moveVel(@nargs=2, @blob="db0fc9be 0000c040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 00000000 00000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c30325f 61740000 69690000 04000000", + ); + moveVelTime(@nargs=4, @blob="3c000000 00000000 db0fc93e 0000c040"); + wait(@nargs=1, @blob="3c000000"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl03() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + moveVel(@nargs=2, @blob="db0fc9be 0000c040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 00000000 00000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c30335f 61740000 69690000 04000000", + ); + moveVelTime(@nargs=4, @blob="3c000000 00000000 db0fc93e 0000c040"); + wait(@nargs=1, @blob="3c000000"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void MBoss() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="23d9ffff"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="24d9ffff"); + setBoss(@nargs=1, @blob="00000000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00002042 00002042"); + lifeSet(@nargs=1, @blob="b01d0000"); + enmKillAll(@blob=""); + etClear(@nargs=1, @blob="00002044"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + setInterrupt( + @nargs=4, + @blob="00000000 e8030000 08070000 0c000000 4d426f73 73436172 64310000", + ); + setTimeout(@nargs=2, @blob="00000000 0c000000 4d426f73 73457363 61706500"); + lifeMarker(@nargs=3, @blob="00000000 00007a44 80a0ffff"); + setChapter(@nargs=1, @blob="06000000"); + fog(@nargs=2, @blob="00002043 ff80ff00"); + jmp(@nargs=2, @blob="80000000 00000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00004043"); + wait(@nargs=1, @blob="46000000"); + call(@nargs=1, @blob="0c000000 4d426f73 735f6174 31000000"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="84ffffff 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 MBossCard1() { + stackAlloc(@nargs=1, @blob="10000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 f8070000 0c000000 4d426f73 73457363 61706500", + ); + {"014567"}: spell( + @nargs=4, + @blob="0a000000 f8070000 20a10700 24000000 e4170038 724f12b7 ec7c0c6f 68210a31 e42d06c4 60a8027b dcbefe7a 5af9f816 575e759c", + ); + {"234567"}: spell3( + @nargs=4, + @blob="0c000000 f8070000 20a10700 24000000 f9c706d5 724f0636 ffb00ff8 61530b80 e5db0711 6f83034e dd2eff86 5254ecc8 d628759c", + ); + setChapter(@nargs=1, @blob="2b000000"); + 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"); + killAllAsync(@blob=""); + {"04567"}: movePosTime( + @nargs=4, + @blob="3c000000 04000000 0000c042 00000043", + ); + {"1234567"}: movePosTime( + @nargs=4, + @blob="3c000000 04000000 00000043 00006043", + ); + setInvuln(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="07000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008043"); ++60: // 60 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 120 + anmSelectedPlay(@nargs=1, @blob="00000000"); ++30: // 150 + nop(@blob=""); + flagSet(@nargs=1, @blob="02000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64314174 00000000 00000000 00000000 64000000 0a000000 00000000", + ); + wait(@nargs=1, @blob="b8010000"); + anmSetSprite(@nargs=2, @blob="00000000 06000000"); + flagSet(@nargs=1, @blob="01000000"); + flagClear(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="19000000"); + {"04567"}: movePos(@nargs=2, @blob="0000c0c2 00000043"); + {"1234567"}: movePos(@nargs=2, @blob="000000c3 00006043"); + wait(@nargs=1, @blob="19000000"); + flagClear(@nargs=1, @blob="01000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64314174 32000000 00000000 00000000 64000000 0a000000 00000000", + ); + wait(@nargs=1, @blob="b8010000"); + anmSetSprite(@nargs=2, @blob="00000000 06000000"); + flagSet(@nargs=1, @blob="01000000"); + flagClear(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="19000000"); + {"04567"}: movePos(@nargs=2, @blob="0000c042 00000043"); + {"1234567"}: movePos(@nargs=2, @blob="00000043 00006043"); + wait(@nargs=1, @blob="19000000"); + flagClear(@nargs=1, @blob="01000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64314174 33000000 00000000 00000000 64000000 0a000000 00000000", + ); + wait(@nargs=1, @blob="b8010000"); + anmSetSprite(@nargs=2, @blob="00000000 06000000"); + flagSet(@nargs=1, @blob="01000000"); + flagClear(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="19000000"); + {"04567"}: movePos(@nargs=2, @blob="0000c0c2 00000043"); + {"1234567"}: movePos(@nargs=2, @blob="000000c3 00006043"); + wait(@nargs=1, @blob="19000000"); + flagClear(@nargs=1, @blob="01000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64314174 34000000 00000000 00000000 64000000 0a000000 00000000", + ); + jmp(@nargs=2, @blob="2c000000 96000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 96000000"); + ret(@blob=""); +} + + +void MBossCard1At() { + stackAlloc(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="2c010000"); + callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64314174 5f617400"); + {"014567"}: movePos(@nargs=2, @blob="000060c3 00000042"); + {"234567"}: movePos(@nargs=2, @blob="00004043 00008042"); + moveBezier( + @nargs=7, + @blob="14000000 00000000 00000000 000080c2 0000c842 00008043 00000000", + ); + wait(@nargs=1, @blob="14000000"); + moveBezier( + @nargs=7, + @blob="14000000 00008043 00000000 000020c3 00004843 000080c3 00000000", + ); + wait(@nargs=1, @blob="14000000"); + moveBezier( + @nargs=7, + @blob="14000000 000080c3 00000000 000080c2 00009643 00008043 00000000", + ); + wait(@nargs=1, @blob="14000000"); + moveBezier( + @nargs=7, + @blob="14000000 00008043 00000000 000000c3 0000c843 00000000 00000000", + ); + wait(@nargs=1, @blob="14000000"); + moveLimit(@nargs=4, @blob="00000000 00006043 0000c043 0000e043"); + pushi(@nargs=1, @blob="09000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 33331340 66662640 66662640 66666640", + ); + jmp(@nargs=2, @blob="50000000 00000000"); + moveVel(@mask=0b11, @nargs=2, @blob="00141cc6 00000041"); + diffWait(@nargs=4, @blob="28000000 28000000 28000000 28000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="b4ffffff 00000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MBossCard1At2() { + stackAlloc(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="2c010000"); + callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64314174 5f617400"); + movePos(@nargs=2, @blob="00002043 00000042"); + moveBezier( + @nargs=7, + @blob="14000000 00000000 00000000 00002043 0000c842 00000000 00000000", + ); + wait(@nargs=1, @blob="14000000"); + moveBezier( + @nargs=7, + @blob="14000000 00000000 00000000 00000c43 00002043 00000000 00000000", + ); + wait(@nargs=1, @blob="14000000"); + moveBezier( + @nargs=7, + @blob="14000000 00000000 00000000 00002043 00006043 00000000 00000000", + ); + wait(@nargs=1, @blob="14000000"); + moveLimit(@nargs=4, @blob="00000000 00006043 0000c043 0000e043"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 09000000 0c000000 0c000000 0c000000", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 9a991940 33335340 66666640 9a998940", + ); + jmp(@nargs=2, @blob="50000000 00000000"); + moveVel(@mask=0b11, @nargs=2, @blob="00141cc6 00000041"); + diffWait(@nargs=4, @blob="28000000 1e000000 1e000000 1e000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="b4ffffff 00000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MBossCard1At3() { + stackAlloc(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="2c010000"); + callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64314174 5f617400"); + movePos(@nargs=2, @blob="000060c3 00000042"); + moveBezier( + @nargs=7, + @blob="14000000 00000000 00000000 000020c3 00008042 00008043 00000000", + ); + wait(@nargs=1, @blob="14000000"); + moveBezier( + @nargs=7, + @blob="14000000 00000000 00000000 000020c3 0000dc43 00008043 00000000", + ); + wait(@nargs=1, @blob="14000000"); + {"234567"}: moveBezier( + @nargs=7, + @blob="0a000000 00000000 00000000 00000000 00000042 00008043 00000000", + ); + {"234567"}: wait(@nargs=1, @blob="0a000000"); + {"234567"}: moveBezier( + @nargs=7, + @blob="0a000000 00000000 00000000 00004043 00000042 00008043 00000000", + ); + {"234567"}: wait(@nargs=1, @blob="0a000000"); + moveLimit(@nargs=4, @blob="00000000 00006043 0000c043 0000e043"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 14000000 14000000 14000000 14000000", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 00004040 00009040 00009040 0000a040", + ); + jmp(@nargs=2, @blob="50000000 00000000"); + moveVel(@mask=0b11, @nargs=2, @blob="00141cc6 00000041"); + diffWait(@nargs=4, @blob="14000000 14000000 14000000 14000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="b4ffffff 00000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MBossCard1At4() { + stackAlloc(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="2c010000"); + callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64314174 5f617400"); + movePos(@nargs=2, @blob="00006043 00000042"); + moveBezier( + @nargs=7, + @blob="14000000 00000000 00000000 00002043 00008042 00008043 00000000", + ); + wait(@nargs=1, @blob="14000000"); + moveBezier( + @nargs=7, + @blob="14000000 00000000 00000000 00002043 0000dc43 00008043 00000000", + ); + wait(@nargs=1, @blob="14000000"); + moveLimit(@nargs=4, @blob="00000000 00006043 0000c043 0000e043"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 14000000 14000000 14000000 14000000", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 9a995940 0000a040 0000a040 0000b040", + ); + jmp(@nargs=2, @blob="50000000 00000000"); + moveVel(@mask=0b11, @nargs=2, @blob="00141cc6 00000041"); + diffWait(@nargs=4, @blob="14000000 14000000 14000000 14000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="b4ffffff 00000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MBossCard1At_at() { + stackAlloc(@nargs=1, @blob="08000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 0a000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 00000000 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="b8010000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="3c000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="40020000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etSprite(@nargs=3, @blob="00000000 02000000 0a000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushf(@nargs=1, @blob="00000042"); + mulf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="01000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etSprite(@nargs=3, @blob="00000000 0c000000 05000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushf(@nargs=1, @blob="00000042"); + mulf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="01000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="c4fdffff 00000000"); + jmp(@nargs=2, @blob="40020000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etSprite(@nargs=3, @blob="00000000 02000000 0a000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushf(@nargs=1, @blob="00000042"); + mulf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="02000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etSprite(@nargs=3, @blob="00000000 0c000000 05000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushf(@nargs=1, @blob="00000042"); + mulf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="c4fdffff 00000000"); + ret(@blob=""); +} + + +void MBossDead() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + spellEnd(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="04010000 00000000"); + 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", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + 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"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 0f000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + 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"); + setBoss(@nargs=1, @blob="ffffffff"); + setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000"); + anmPlay(@nargs=2, @blob="00000000 4c000000"); + playSound(@nargs=1, @blob="12000000"); + setChapter(@nargs=1, @blob="00000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MBossEscape() { + stackAlloc(@nargs=1, @blob="04000000"); + setInterrupt( + @nargs=4, + @blob="00000000 ffffffff 00000000 04000000 00000000", + ); + setInterrupt( + @nargs=4, + @blob="01000000 ffffffff 00000000 04000000 00000000", + ); + spellEnd(@blob=""); + moveLimitReset(@blob=""); + fog(@nargs=2, @blob="00000000 ff80ff00"); + 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"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="24010000 00000000"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="04000000 01000000"); + 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"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 0a000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + lifeSet(@nargs=1, @blob="a0860100"); + setBoss(@nargs=1, @blob="ffffffff"); + flagSet(@nargs=1, @blob="10000000"); + wait(@nargs=1, @blob="5a000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 000000c2 000000c2"); ++60: // 60 + setChapter(@nargs=1, @blob="00000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MBoss_at1() { + stackAlloc(@nargs=1, @blob="14000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 07000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 00000040 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@nargs=2, @blob="00000000 00008042"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 20000000 3c000000 01000000 00000000 00000000", + ); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 02000000 01000000 01000000 02000000 01000000", + ); + etSpeedD( + @nargs=9, + @blob="00000000 00000040 00000040 00004040 00004040 0000803f 0000803f 0000803f 0000803f", + ); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushf(@nargs=1, @blob="0000c03f"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="f4020000 00000000"); + pushf(@nargs=1, @blob="dc0f49c0"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="30000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="60020000 00000000"); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 10000000 01000000 01000000 00000000 cdcccc3f", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 10000000 3c000000 01000000 00008040 cdcc4c3f", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="850a863e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="a60a063e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="a60a063e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="a60a863d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="02000000 01000000 01000000 01000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="a4fdffff 00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="10fdffff 00000000"); + ret(@blob=""); +} + + +void MBoss_at2() { + stackAlloc(@nargs=1, @blob="08000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 01000000 02000000"); + etCount(@nargs=3, @blob="00000000 08000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 cdcc4c3f 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@nargs=2, @blob="00000000 0000c041"); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void MainBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); ++120: // 120 + dialogRead(@nargs=1, @blob="00000000"); + ins_500(@nargs=1, @blob="64000000"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 000010c3 000080c1 28000000 e8030000 01000000", + ); + dialogWait(@blob=""); + deathWait(@blob=""); ++60: // 180 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + ret(@blob=""); + ret(@blob=""); +} + + +void MainMBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 00000043 000000c2 28000000 10270000 01000000", + ); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void MainMsgDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + ins_500(@nargs=1, @blob="64000000"); ++120: // 120 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); ++1: // 121 + dialogWait(@blob=""); ++60: // 181 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="28000000 55100000"); ++4000: // 4181 + nop(@blob=""); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="dcffffff b5000000"); + ret(@blob=""); +} + + +void MainSub00() { + stackAlloc(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="a0000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303000 000080bf 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="60ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303000 000080bf 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303000 000080bf 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303000 000080bf 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="a0000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303000 000080bf 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="60ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303000 000080bf 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="60000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303000 000080bf 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="a0ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 42476972 6c303000 000080bf 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303000 000080bf 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303000 000080bf 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + ret(@blob=""); +} + + +void MainSub01() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="04010000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303200 000060c3 00004043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303200 000070c3 00004043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303200 000080c3 00004043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303200 000088c3 00004043 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303100 00006043 00004043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303100 00007043 00004043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303100 00008043 00004043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303100 00008843 00004043 64000000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303100 000060c3 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303100 000070c3 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303100 000080c3 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303100 000088c3 00000043 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303200 00006043 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303200 00007043 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303200 00008043 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303200 00008843 00000043 64000000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303100 000060c3 00006043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303200 000070c3 00006043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303100 000080c3 00006043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303200 000088c3 00006043 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303200 00006043 00006043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303100 00007043 00006043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303200 00008043 00006043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303100 00008843 00006043 64000000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub03() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="dc000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 00000000 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 00000043 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 000000c3 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 00008042 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 000000c3 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 000080c2 000000c2 90010000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub04() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00000000 00002043 08070000 e8030000 02000000", + ); + wait(@nargs=1, @blob="dc000000"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30314200 000000c2 00003043 b0040000 e8030000 02000000", + ); + wait(@nargs=1, @blob="dc000000"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00000042 00004043 b0040000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub05() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="10020000 00000000"); + enmCreateAF( + @nargs=6, + @blob="08000000 47476972 6c303300 000060c3 0000c042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAF( + @nargs=6, + @blob="08000000 47476972 6c303300 000070c3 0000c042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAF( + @nargs=6, + @blob="08000000 47476972 6c303300 000080c3 0000c042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAF( + @nargs=6, + @blob="08000000 47476972 6c303300 000088c3 0000c042 64000000 e8030000 02000000", + ); + enmCreateAMF( + @nargs=6, + @blob="08000000 42476972 6c303300 00006043 0000c042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAMF( + @nargs=6, + @blob="08000000 42476972 6c303300 00007043 0000c042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAMF( + @nargs=6, + @blob="08000000 42476972 6c303300 00008043 0000c042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAMF( + @nargs=6, + @blob="08000000 42476972 6c303300 00008843 0000c042 64000000 e8030000 02000000", + ); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="f4fdffff 00000000"); + ret(@blob=""); +} + + +void MainSub06() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateAF( + @nargs=6, + @blob="08000000 42436972 30320000 00000000 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 52436972 30320000 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 52436972 30320000 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateAF( + @nargs=6, + @blob="08000000 42436972 30324200 00000000 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 52436972 30324200 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 42436972 30324200 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 52436972 30324200 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 42436972 30324200 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateAF( + @nargs=6, + @blob="08000000 42436972 30320000 00000000 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 52436972 30320000 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 52436972 30320000 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAF( + @nargs=6, + @blob="08000000 42436972 30324200 00000000 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 52436972 30324200 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 42436972 30324200 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 52436972 30324200 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 42436972 30324200 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateAF( + @nargs=6, + @blob="08000000 42436972 30320000 00000000 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 52436972 30320000 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 52436972 30320000 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateAF( + @mask=0b110, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + ret(@blob=""); +} + + +void MapleEnemy() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + anmPlayAbs(@nargs=2, @blob="00000000 ab000000"); ++3: // 3 + jmp(@nargs=2, @blob="e8ffffff 00000000"); + delete(@blob=""); +} + + +void PCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 43697230 30000000 69690000 4e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 43697230 31000000 69690000 4e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir01B() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 43697230 31420000 69690000 4e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 43697230 32000000 69690000 4e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir02B() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 43697230 32420000 69690000 4e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 43697230 30000000 69690000 45000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir00_at() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 0d000000 03000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc93f 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000c03f 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + diffI( + @mask=0b1, + @nargs=5, + @blob="0c000000 04000000 0a000000 0c000000 10000000", + ); + jmp(@nargs=2, @blob="f4030000 00000000"); + etEx( + @mask=0b11000000, + @nargs=8, + @blob="00000000 02000000 00000000 20000000 2d000000 01000000 00008040 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="73d9a03e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="cdcc4c3f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="b0020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="f90f493e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="9a99993e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="b0010000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="94d9203e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3333b33e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="a60a063e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="9a99993e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="10fcffff 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 0d000000 03000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc9bf 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000c03f 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + diffI( + @mask=0b1, + @nargs=5, + @blob="0c000000 04000000 0a000000 0c000000 10000000", + ); + jmp(@nargs=2, @blob="f4030000 00000000"); + etEx( + @mask=0b11000000, + @nargs=8, + @blob="00000000 02000000 00000000 20000000 2d000000 01000000 00008040 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="73d9a03e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="cdcc4c3f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="b0020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="f90f493e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="9a99993e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="b0010000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="94d9203e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3333b33e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="a60a063e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="9a99993e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="10fcffff 00000000"); + ret(@blob=""); +} + + +void RCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 43697230 31000000 69690000 45000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir01B() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 43697230 31420000 69690000 45000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir01_at() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@mask=0b1, @nargs=1, @blob="00000000"); + etAim(@mask=0b1, @nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b101, @nargs=3, @blob="00000000 01000000 04000000"); + etCountD( + @mask=0b1, + @nargs=9, + @blob="00000000 10000000 10000000 16000000 18000000 01000000 01000000 01000000 01000000", + ); + etAngle(@mask=0b1, @nargs=3, @blob="00000000 db0fc93f 00000000"); + etSpeedD( + @mask=0b11111, + @nargs=9, + @blob="00000000 00000041 00000041 00000041 00000041 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + etAngle(@mask=0b11, @nargs=3, @blob="00000000 00008041 00000000"); + etOn(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + ret(@blob=""); +} + + +void RCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 43697230 32000000 69690000 45000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir02B() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 43697230 32420000 69690000 45000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir02_at() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 01000000 0d000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 04000000 02000000 02000000 03000000 04000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 00008040 00008040 0000a040 0000c040 cdcc4c3f cdcc4c3f cdcc4c3f cdcc4c3f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 02000000"); + etSprite(@nargs=3, @blob="01000000 01000000 09000000"); + etCount(@nargs=3, @blob="01000000 01000000 02000000"); + etAngle(@nargs=3, @blob="01000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="01000000 00000040 cdcc4c3f"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="3c000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="c8000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="0a000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 000080bf 00000000"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="3c000000 1e000000 14000000 04000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="3cffffff 00000000"); + ret(@blob=""); +} + + +void RGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 05000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl00_at() { + stackAlloc(@nargs=1, @blob="08000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 01000000 0a000000 0a000000 14000000", + ); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 06000000 0c000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeedD( + @nargs=9, + @blob="00000000 0000c03f 00002040 00006040 00009040 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="40000000 00000000"); + wait(@nargs=1, @blob="05000000"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void RGirl01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30310000 69690000 05000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl01B() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30314200 69690000 05000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl01_at() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 02000000"); + etCountD( + @nargs=9, + @blob="00000000 06000000 0c000000 14000000 14000000 01000000 01000000 01000000 02000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeedD( + @nargs=9, + @blob="00000000 6666a63f 0000c03f 00002040 00006040 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void RGirl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30320000 69690000 05000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl02_at() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 0d000000 03000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 05000000 05000000 05000000 01000000 01000000 02000000 03000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeedD( + @nargs=9, + @blob="00000000 00002040 00004040 00004040 0000a040 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void RGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30330000 69690000 05000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl03_at() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 02000000"); + etCountD( + @nargs=9, + @blob="00000000 06000000 0c000000 0e000000 10000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeedD( + @nargs=9, + @blob="00000000 00000040 00006040 00009040 0000b040 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void YGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30310000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl01B() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30314200 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30320000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30330000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void main() { + stackAlloc(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="20000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 4d61706c 65456e65 6d790000 00000000 000080c1 14000000 e8030000 02000000", + ); ++160: // 160 + nop(@blob=""); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 30000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 31000000"); + wait(@nargs=1, @blob="20030000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000"); + wait(@nargs=1, @blob="f8020000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000"); + wait(@nargs=1, @blob="20030000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 00000043 000000c2 28000000 10270000 01000000", + ); + wait(@nargs=1, @blob="20030000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000"); + deathWait(@blob=""); + wait(@nargs=1, @blob="64000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 36000000"); + wait(@nargs=1, @blob="78000000"); + dialogRead(@nargs=1, @blob="00000000"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 000010c3 000080c1 28000000 10270000 01000000", + ); + dialogWait(@blob=""); + deathWait(@blob=""); + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="2c000000 a0000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff a0000000"); ++40000: // 40160 + nop(@blob=""); + delete(@blob=""); +} diff --git a/research/stage02.tstd b/research/stage02.tstd new file mode 100644 index 0000000..f30bfcb --- /dev/null +++ b/research/stage02.tstd @@ -0,0 +1,246 @@ +#pragma mapfile "utils/th095.stdm" + +meta { + unknown: 0, + anm_path: "stage02.anm", + objects: { + object0: { + layer: 0, + pos: [0.0, 0.0, -260.0], + size: [42.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 0, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 1, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 2, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 3, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 4, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 5, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 6, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 7, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 8, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 9, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 10, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 11, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 12, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 13, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 14, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 15, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + ], + }, + object1: { + layer: 1, + pos: [0.0, 0.0, -320.0], + size: [42.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 16, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 17, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 18, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 19, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 20, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 21, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 22, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 23, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 24, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 25, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 26, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 27, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 28, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 29, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 30, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 31, + pos: [0.0, 0.0, -320.0], + size: [43.0, 256.0], + }, + ], + }, + }, + instances: [ + object0 {pos: [0.0, 512.0, 0.0]}, + object1 {pos: [0.0, 512.0, 0.0]}, + object0 {pos: [0.0, 256.0, 0.0]}, + object1 {pos: [0.0, 256.0, 0.0]}, + object0 {pos: [0.0, 0.0, 0.0]}, + object1 {pos: [0.0, 0.0, 0.0]}, + object0 {pos: [0.0, -256.0, 0.0]}, + object1 {pos: [0.0, -256.0, 0.0]}, + object0 {pos: [0.0, -512.0, 0.0]}, + object1 {pos: [0.0, -512.0, 0.0]}, + object0 {pos: [0.0, -768.0, 0.0]}, + object1 {pos: [0.0, -768.0, 0.0]}, + object0 {pos: [0.0, -1024.0, 0.0]}, + object1 {pos: [0.0, -1024.0, 0.0]}, + object0 {pos: [0.0, -1280.0, 0.0]}, + object1 {pos: [0.0, -1280.0, 0.0]}, + object0 {pos: [0.0, -1536.0, 0.0]}, + object1 {pos: [0.0, -1536.0, 0.0]}, + object0 {pos: [0.0, -1792.0, 0.0]}, + object1 {pos: [0.0, -1792.0, 0.0]}, + object0 {pos: [0.0, -2048.0, 0.0]}, + object1 {pos: [0.0, -2048.0, 0.0]}, + object0 {pos: [0.0, -2304.0, 0.0]}, + object1 {pos: [0.0, -2304.0, 0.0]}, + object0 {pos: [0.0, -2560.0, 0.0]}, + object1 {pos: [0.0, -2560.0, 0.0]}, + object0 {pos: [0.0, -2816.0, 0.0]}, + object1 {pos: [0.0, -2816.0, 0.0]}, + object0 {pos: [0.0, -3072.0, 0.0]}, + object1 {pos: [0.0, -3072.0, 0.0]}, + object0 {pos: [0.0, -3328.0, 0.0]}, + object1 {pos: [0.0, -3328.0, 0.0]}, + object0 {pos: [0.0, -3584.0, 0.0]}, + object1 {pos: [0.0, -3584.0, 0.0]}, + object0 {pos: [0.0, -3840.0, 0.0]}, + object1 {pos: [0.0, -3840.0, 0.0]}, + object0 {pos: [0.0, -4096.0, 0.0]}, + object1 {pos: [0.0, -4096.0, 0.0]}, + object0 {pos: [0.0, -4352.0, 0.0]}, + object1 {pos: [0.0, -4352.0, 0.0]}, + object0 {pos: [0.0, -4608.0, 0.0]}, + object1 {pos: [0.0, -4608.0, 0.0]}, + object0 {pos: [0.0, -4864.0, 0.0]}, + object1 {pos: [0.0, -4864.0, 0.0]}, + object0 {pos: [0.0, -5120.0, 0.0]}, + object1 {pos: [0.0, -5120.0, 0.0]}, + ], +} + + +script main { + up(0.0, 1.0, 0.0); + fov(0.62831855); + fog(0xff000000, 200.0, 250.0); + fogTime(120, 0, 0xff002000, 200.0, 950.0); + pos(0.0, 0.0, -700.0); + facing(0.0, -400.0, 330.0); + rockingMode(1); + loop { + pos(0.0, 0.0, -700.0); + posTime(512, 0, 0.0, -1024.0, -700.0); ++512: // 512 + } +} diff --git a/research/stage03.tanm b/research/stage03.tanm new file mode 100644 index 0000000..791e0c6 --- /dev/null +++ b/research/stage03.tanm @@ -0,0 +1,204 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "background/stage03/stage03a.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 0 script0 { + type(8); + sprite(sprite0); + stop(); +} + + +entry { + path: "background/stage03/stage03b.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite1: {x: 1.0, y: 1.0, w: 254.0, h: 254.0}}, +} + + +script 1 script1 { + type(8); + sprite(sprite1); + rotate(0.0, -0.3926991, 0.0); + stop(); +} + + +script 2 script2 { + type(8); + sprite(sprite1); + rotate(0.0, -2.7488935, 0.0); + stop(); +} + + +entry { + path: "background/stage03/stage03c.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 3 script3 { + type(8); + sprite(sprite2); + rotate(0.0, 1.5707964, 0.0); + stop(); +} + + +entry { + path: "background/stage03/stage03d.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 4 script4 { + type(8); + sprite(sprite3); + rotate(0.0, 1.5707964, 0.0); + stop(); +} + + +entry { + path: "background/stage03/stage03e.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite4: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 5 script5 { + type(8); + sprite(sprite4); + stop(); +} + + +entry { + path: "background/stage03/stage03f.png", + img_width: 128, + img_height: 32, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: { + sprite5: {x: 0.0, y: 0.0, w: 32.0, h: 32.0}, + sprite6: {x: 32.0, y: 0.0, w: 32.0, h: 32.0}, + sprite7: {x: 64.0, y: 0.0, w: 32.0, h: 32.0}, + sprite8: {x: 96.0, y: 0.0, w: 32.0, h: 32.0}, + }, +} + + +script 6 script6 { + type(4); + blendMode(1); + zWriteDisable(1); + alpha(128); + color(255, 0, 0); + loop { + sprite(sprite5); ++4: // 4 + sprite(sprite6); ++4: // 8 + sprite(sprite7); ++4: // 12 + sprite(sprite8); ++6: // 18 + sprite(sprite8); ++6: // 24 + sprite(sprite8); ++6: // 30 + sprite(sprite8); ++6: // 36 + sprite(sprite6); ++6: // 42 + sprite(sprite8); ++3: // 45 + sprite(sprite6); ++4: // 49 + } +} + + +script 7 script7 { + type(4); + blendMode(1); + zWriteDisable(1); + alpha(128); + color(255, 255, 0); + loop { + sprite(sprite5); ++4: // 4 + sprite(sprite6); ++4: // 8 + sprite(sprite7); ++4: // 12 + sprite(sprite8); ++6: // 18 + sprite(sprite8); ++6: // 24 + sprite(sprite8); ++6: // 30 + sprite(sprite8); ++6: // 36 + sprite(sprite6); ++6: // 42 + sprite(sprite8); ++3: // 45 + sprite(sprite6); ++4: // 49 + } +} + + +script 8 script8 { + type(4); + blendMode(1); + zWriteDisable(1); + alpha(32); + color(255, 255, 255); + loop { + sprite(sprite5); ++4: // 4 + sprite(sprite6); ++4: // 8 + sprite(sprite7); ++4: // 12 + sprite(sprite8); ++6: // 18 + sprite(sprite8); ++6: // 24 + sprite(sprite8); ++6: // 30 + sprite(sprite8); ++6: // 36 + sprite(sprite6); ++6: // 42 + sprite(sprite8); ++3: // 45 + sprite(sprite6); ++4: // 49 + } +} diff --git a/research/stage03.tecl b/research/stage03.tecl new file mode 100644 index 0000000..7962998 --- /dev/null +++ b/research/stage03.tecl @@ -0,0 +1,5263 @@ +#pragma mapfile "utils/th11.eclm" + +meta {anim: ["enemy.anm", "stgenm03.anm"], ecli: ["default.ecl"]} + + +void BCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=4, + @blob="08000000 43697230 30000000 69690000 57000000 69690000 2d000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 43697230 31000000 69690000 4b000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir01Boss1() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73310000 69690000 57000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir01Boss12() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73313200 69690000 57000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir01Boss2() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73320000 69690000 57000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir01Boss22() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73323200 69690000 57000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir01MBoss() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 314d426f 73730000 69690000 57000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir01MBoss2() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 314d426f 73733200 69690000 57000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=4, + @blob="08000000 43697230 32000000 69690000 57000000 69690000 2d000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=4, + @blob="08000000 43697230 33000000 69690000 57000000 69690000 2d000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +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="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00004042 00004042"); + setInvuln(@nargs=1, @blob="3c000000"); + lifeSet(@nargs=1, @blob="fc210000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + fog(@nargs=2, @blob="00002043 ff800000"); ++60: // 60 + dialogWait(@blob=""); + lifeHide(@nargs=1, @blob="00000000"); + flagClear(@nargs=1, @blob="10000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 0000c042"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSelect(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + call(@nargs=1, @blob="08000000 426f7373 31000000"); + delete(@blob=""); +} + + +void Boss1() { + stackAlloc(@nargs=1, @blob="00000000"); + timerReset(@blob=""); + setInterrupt( + @nargs=4, + @blob="00000000 b0040000 34080000 0c000000 426f7373 43617264 31000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00009644 80a0ffff"); + setChapter(@nargs=1, @blob="18000000"); + stars(@nargs=1, @blob="02000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="23d9ffff"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="24d9ffff"); + jmp(@nargs=2, @blob="bc000000 00000000"); + call(@nargs=1, @blob="0c000000 426f7373 315f6174 31000000"); + diffWait(@nargs=4, @blob="96000000 96000000 78000000 78000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="3c000000"); + call(@nargs=1, @blob="0c000000 426f7373 315f6174 32000000"); + wait(@nargs=1, @blob="50000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="48ffffff 00000000"); + ret(@blob=""); +} + + +void Boss1_at1() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="34020000 00000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 52436972 3031426f 73733100 00008040 00000041 c8000000 e8030000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 52436972 3031426f 73733100 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 52436972 3031426f 73733100 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="d0fdffff 00000000"); + ret(@blob=""); +} + + +void Boss1_at2() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="bda91ac0"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + anmSetSprite(@nargs=2, @blob="00000000 06000000"); + jmp(@nargs=2, @blob="40020000 00000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42436972 3031426f 73733132 00000000 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42436972 3031426f 73733132 00000000 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42436972 3031426f 73733132 00000000 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="c4fdffff 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="80250000"); + setInterrupt( + @nargs=4, + @blob="00000000 08070000 34080000 0c000000 426f7373 43617264 32000000", + ); + lifeMarker(@nargs=3, @blob="00000000 0000e144 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="20010000 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"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 05000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + playSound(@nargs=1, @blob="0f000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); ++90: // 90 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="23d9ffff"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="24d9ffff"); + jmp(@nargs=2, @blob="bc000000 5a000000"); + call(@nargs=1, @blob="0c000000 426f7373 325f6174 32000000"); + diffWait(@nargs=4, @blob="8c000000 8c000000 5a000000 46000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="3c000000"); + call(@nargs=1, @blob="0c000000 426f7373 325f6174 31000000"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="48ffffff 5a000000"); + ret(@blob=""); +} + + +void Boss2At1() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="08000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="1e000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="98040000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 03000000 0d000000"); + etCount(@nargs=3, @blob="00000000 20000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 7cd9203e"); + etSpeed(@nargs=3, @blob="00000000 00004040 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00040000 a0000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 08000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="508d273e"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + jmp(@nargs=2, @blob="2c020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="90000000 00000000"); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 10000000 28000000 01000000 00008041 0000c03f", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 00000080 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="78000000 00000000"); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 10000000 28000000 01000000 00008041 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 00000001 03000000 05000000 f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="94d9203d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="a60a863d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="d8fdffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="f90fc93d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="0a000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="6cfbffff 00000000"); + ret(@blob=""); +} + + +void Boss2_at1() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="18030000 00000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 52436972 3031426f 73733200 00008040 00000041 dc000000 e8030000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + wait(@nargs=1, @blob="02000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 52436972 3031426f 73733200 00008040 00000041 dc000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + wait(@nargs=1, @blob="02000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 52436972 3031426f 73733200 00008040 00000041 dc000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + wait(@nargs=1, @blob="02000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="ecfcffff 00000000"); + ret(@blob=""); +} + + +void Boss2_at2() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="bda91ac0"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + anmSetSprite(@nargs=2, @blob="00000000 06000000"); + jmp(@nargs=2, @blob="40020000 00000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42436972 3031426f 73733232 00000000 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42436972 3031426f 73733232 00000000 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42436972 3031426f 73733232 00000000 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="c4fdffff 00000000"); + ret(@blob=""); +} + + +void Boss3() { + 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="e4250000"); + setInterrupt( + @nargs=4, + @blob="00000000 8c0a0000 34080000 0c000000 426f7373 43617264 33000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00c02845 80a0ffff"); + setChapter(@nargs=1, @blob="19000000"); + stars(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="20010000 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"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 05000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + playSound(@nargs=1, @blob="0f000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); ++90: // 90 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + playSound(@nargs=1, @blob="0f000000"); + jmp(@nargs=2, @blob="90000000 5a000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + call(@nargs=1, @blob="0c000000 426f7373 335f6174 00000000"); + wait(@nargs=1, @blob="3c000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="46000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="74ffffff 5a000000"); + ret(@blob=""); +} + + +void Boss3_at() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 06000000 06000000 08000000 08000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 5077563d"); + etSpeedD( + @nargs=9, + @blob="00000000 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 610b363c dfbc9a3c dfbc9a3c 398ee33c", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 04000000 5a000000 c1bdf0ff dfbc9a3c f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 01000000 00010000 01000000 0d000000 f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00080000 02000000 0d000000 f02374c9 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="0c000000 0f000000 1e000000 1e000000 1e000000", + ); + pushi(@nargs=1, @blob="10000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="ec000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + mulf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="04000000 02000000 02000000 02000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="00008040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="18ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard1() { + stackAlloc(@nargs=1, @blob="10000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 140a0000 08000000 426f7373 32000000", + ); + {"014567"}: spell( + @nargs=4, + @blob="1e000000 140a0000 20a10700 14000000 fe88026a 724f0396 e2600ff8 60581ea6 e61885ac", + ); + {"234567"}: spell3( + @nargs=4, + @blob="20000000 34080000 20a10700 18000000 e9190038 724f0811 ff9a0ff8 61fd0bc3 e5a41bcb 625c81e8", + ); + setChapter(@nargs=1, @blob="2b000000"); + killAllAsync(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00006043"); + setInvuln(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="07000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + enmKillAll(@blob=""); + 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"); + moveLimit(@nargs=4, @blob="00000000 00000043 0000c043 00008043"); ++30: // 30 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++30: // 60 + nop(@blob=""); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 315f6174 00000000"); + wait(@nargs=1, @blob="78000000"); + jmp(@nargs=2, @blob="2c000000 3c000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); + ret(@blob=""); +} + + +void BossCard1At() { + stackAlloc(@nargs=1, @blob="08000000"); + flagSet(@nargs=1, @blob="0c010000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ffffffff 10000000 426f7373 43617264 3141745f 61740000", + ); + anmSelect(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="00000000 0c000000"); + ins_277(@mask=0b10, @nargs=2, @blob="00000000 00f41bc6"); + moveVel(@mask=0b1, @nargs=2, @blob="00f41bc6 3333333f"); + unknown444(@nargs=1, @blob="01000000"); + unknown445(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="401f0000"); + flagSet(@nargs=1, @blob="03000000"); + anmSwitch(@nargs=2, @blob="00000000 01000000"); ++20: // 20 + delete(@blob=""); + delete(@blob=""); +} + + +void BossCard1At_at() { + stackAlloc(@nargs=1, @blob="08000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00000000 00008040 00f41bc6 0000c042", + ); + movePosRel(@mask=0b11, @nargs=2, @blob="00000000 00008040"); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 11000000 01000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc9bf 920a863e"); + etSpeed(@nargs=3, @blob="00000000 00000000 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 20030000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00100000 4a010000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 20000000 01000000 01000000 00000000 00000000", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 04000000 78000000 c1bdf0ff 8988883b f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="d0010000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 11000000 01000000"); + etCount(@nargs=3, @blob="00000000 04000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc9bf 920a863e"); + etSpeed(@nargs=3, @blob="00000000 00000000 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 20030000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 20000000 01000000 01000000 00000000 00000000", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 04000000 78000000 c1bdf0ff 8988083c f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="d8010000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="03000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="88010000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 11000000 01000000"); + etCount(@nargs=3, @blob="00000000 0c000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc9bf 920a863e"); + etSpeed(@nargs=3, @blob="00000000 00000000 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 20030000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 04000000 78000000 c1bdf0ff 0ad7a33b f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + etClear2(@nargs=1, @blob="0000a042"); + wait(@nargs=1, @blob="3c000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void BossCard1_at() { + stackAlloc(@nargs=1, @blob="04000000"); + wait(@nargs=1, @blob="14000000"); + jmp(@nargs=2, @blob="30030000 00000000"); + playSound(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="378d2740"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + jmp(@nargs=2, @blob="98000000 00000000"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 b80b0000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="6cffffff 00000000"); + wait(@nargs=1, @blob="c8000000"); + callAsyncId( + @nargs=2, + @blob="10000000 426f7373 43617264 315f6174 32000000 00000000", + ); + jmp(@nargs=2, @blob="60010000 00000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 000080c2 00000043"); + playSound(@nargs=1, @blob="10000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 b0040000 0a000000 00000000", + ); + wait(@nargs=1, @blob="dc000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00008042 00000043"); + playSound(@nargs=1, @blob="10000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 31417400 00000000 00000000 b0040000 0a000000 00000000", + ); + wait(@nargs=1, @blob="dc000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="a4feffff 00000000"); + wait(@nargs=1, @blob="28230000"); + killAsync(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d4fcffff 00000000"); + ret(@blob=""); +} + + +void BossCard1_at2() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 00000000 0a000000"); + etCount(@nargs=3, @blob="00000000 14000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc9bf 920a863e"); + etSpeed(@nargs=3, @blob="00000000 0000d040 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00004041 0000803f 0000803f 0000803f 0000803f", + ); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="80000000"); + divf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b11000000, + @nargs=8, + @blob="00000000 01000000 00000000 40000000 3c000000 01000000 000080bf 00004041", + ); + wait(@nargs=1, @blob="3c000000"); + {"34567"}: etSpeed(@nargs=3, @blob="00000000 cdcccc40 0000803f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="64000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="850a863e"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="10010000 00000000"); + pushf(@nargs=1, @blob="db0fc9bf"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b110, @nargs=3, @blob="00000000 000080bf 00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="a4fa0e3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="32000000 0a000000 05000000 04000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="f4feffff 00000000"); + ret(@blob=""); +} + + +void BossCard2() { + stackAlloc(@nargs=1, @blob="04000000"); + {"014567"}: spell( + @nargs=4, + @blob="22000000 60090000 20a10700 14000000 e0b31e7a 724f001d e2ab0366 7c200806 676e85ac", + ); + {"234567"}: spell3( + @nargs=4, + @blob="24000000 60090000 20a10700 14000000 e0b31e7a 724f001d e2ab0366 02f10806 676e85ac", + ); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 60090000 08000000 426f7373 33000000", + ); + killAllAsync(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00006043"); + setInvuln(@nargs=1, @blob="3c000000"); + 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="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", + ); + laserCancel(@blob=""); + enmKillAll(@blob=""); + setChapter(@nargs=1, @blob="2c000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000043"); ++60: // 60 + nop(@blob=""); + {"014567"}: anmSelectedPlay(@nargs=1, @blob="00000000"); + {"234567"}: anmSetSprite(@nargs=2, @blob="00000000 06000000"); + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 120 + enmCreate( + @nargs=6, + @blob="10000000 426f7373 43617264 3244756d 6d790000 00000000 00000000 e8030000 e8030000 03000000", + ); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="58000000 78000000"); + pushi(@nargs=1, @blob="80ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + jmp(@nargs=2, @blob="40000000 78000000"); + pushi(@nargs=1, @blob="80000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="20010000 78000000"); + jmp(@nargs=2, @blob="dc000000 78000000"); + wait(@nargs=1, @blob="a0000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + enmCreate( + @nargs=6, + @blob="10000000 426f7373 43617264 3244756d 6d793200 00000000 00000000 e8030000 e8030000 03000000", + ); + wait(@nargs=1, @blob="a0000000"); + anmSetSprite(@nargs=2, @blob="00000000 06000000"); + enmCreate( + @nargs=6, + @blob="10000000 426f7373 43617264 3244756d 6d790000 00000000 00000000 e8030000 e8030000 03000000", + ); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="28ffffff 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 BossCard2Dummy() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20010000"); + movePos(@nargs=2, @blob="00000000 00000000"); + {"014567"}: callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 325f6174 00000000 69660000 00000000", + ); + {"014567"}: callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 325f6174 32000000 69660000 00000000", + ); + {"014567"}: callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 325f6174 33000000 69660000 00000000", + ); + {"234567"}: callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 325f6174 5f680000 69660000 00000000", + ); + {"234567"}: callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 325f6174 325f6800 69660000 00000000", + ); + {"234567"}: callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 325f6174 335f6800 69660000 00000000", + ); + {"234567"}: wait(@nargs=1, @blob="f0000000"); + {"234567"}: delete(@blob=""); + 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 BossCard2Dummy2() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20010000"); + movePos(@nargs=2, @blob="00000000 00000000"); + callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 325f6174 00000000 69660000 00000000", + ); + callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 325f6174 32000000 69660000 00000000", + ); + callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 325f6174 33000000 69660000 00000000", + ); + wait(@nargs=1, @blob="f0000000"); + delete(@blob=""); + 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 BossCard2_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 11000000 01000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000041 00000040"); + jmp(@nargs=2, @blob="1c010000 00000000"); + etOffset(@nargs=3, @blob="00000000 00005f43 00000000"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="03000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="e8feffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_at2() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 01000000"); + 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 00009040 00000040"); + wait(@nargs=1, @blob="3c000000"); + jmp(@nargs=2, @blob="cc020000 00000000"); + pushi(@nargs=1, @blob="70000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + etOffset(@mask=0b100, @nargs=3, @blob="01000000 00005f43 000080bf"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 000080bf 00000000"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="18000000 0c000000 0c000000 0c000000"); + pushi(@nargs=1, @blob="70000000"); + pushi(@nargs=1, @blob="70000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + addf(@blob=""); + etOffset(@mask=0b100, @nargs=3, @blob="01000000 00005f43 000080bf"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 000080bf 00000000"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="18000000 0c000000 0c000000 0a000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="38fdffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_at2_h() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 01000000"); + 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 00009040 00000040"); + wait(@nargs=1, @blob="3c000000"); + jmp(@nargs=2, @blob="cc020000 00000000"); + pushi(@nargs=1, @blob="70000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + etOffset(@mask=0b100, @nargs=3, @blob="01000000 00005fc3 000080bf"); + pushf(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 000080bf 00000000"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="18000000 0c000000 0c000000 0a000000"); + pushi(@nargs=1, @blob="70000000"); + pushi(@nargs=1, @blob="70000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + addf(@blob=""); + etOffset(@mask=0b100, @nargs=3, @blob="01000000 00005fc3 000080bf"); + pushf(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 000080bf 00000000"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="18000000 0c000000 0c000000 0a000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="38fdffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_at3() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 01000000"); + etSprite(@nargs=3, @blob="02000000 11000000 01000000"); + etCount(@nargs=3, @blob="02000000 01000000 01000000"); + etAngle(@nargs=3, @blob="02000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="02000000 00004040 00000040"); + wait(@nargs=1, @blob="5a000000"); + jmp(@nargs=2, @blob="14030000 00000000"); + pushi(@nargs=1, @blob="e0000000"); + pushi(@nargs=1, @blob="70000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + addf(@blob=""); + etOffset(@mask=0b100, @nargs=3, @blob="02000000 00005f43 000080bf"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); + etOn(@nargs=1, @blob="02000000"); + diffWait(@nargs=4, @blob="28000000 14000000 14000000 14000000"); + pushi(@nargs=1, @blob="e0000000"); + pushi(@nargs=1, @blob="70000000"); + addi(@blob=""); + pushi(@nargs=1, @blob="70000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + addf(@blob=""); + etOffset(@mask=0b100, @nargs=3, @blob="02000000 00005f43 000080bf"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); + etOn(@nargs=1, @blob="02000000"); + diffWait(@nargs=4, @blob="28000000 14000000 14000000 12000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="f0fcffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_at3_h() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 01000000"); + etSprite(@nargs=3, @blob="02000000 11000000 01000000"); + etCount(@nargs=3, @blob="02000000 01000000 01000000"); + etAngle(@nargs=3, @blob="02000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="02000000 00004040 00000040"); + wait(@nargs=1, @blob="5a000000"); + jmp(@nargs=2, @blob="14030000 00000000"); + pushi(@nargs=1, @blob="e0000000"); + pushi(@nargs=1, @blob="70000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + addf(@blob=""); + etOffset(@mask=0b100, @nargs=3, @blob="02000000 00005fc3 000080bf"); + pushf(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); + etOn(@nargs=1, @blob="02000000"); + diffWait(@nargs=4, @blob="28000000 14000000 14000000 12000000"); + pushi(@nargs=1, @blob="e0000000"); + pushi(@nargs=1, @blob="70000000"); + addi(@blob=""); + pushi(@nargs=1, @blob="70000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + addf(@blob=""); + etOffset(@mask=0b100, @nargs=3, @blob="02000000 00005fc3 000080bf"); + pushf(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); + etOn(@nargs=1, @blob="02000000"); + diffWait(@nargs=4, @blob="28000000 14000000 14000000 12000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="f0fcffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_at_h() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 11000000 01000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000041 00000040"); + jmp(@nargs=2, @blob="1c010000 00000000"); + etOffset(@nargs=3, @blob="00000000 00005fc3 00000000"); + pushf(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="03000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="e8feffff 00000000"); + ret(@blob=""); +} + + +void BossCard3() { + stackAlloc(@nargs=1, @blob="04000000"); + 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 b80b0000 0c000000 426f7373 44656164 00000000", + ); + setChapter(@nargs=1, @blob="2d000000"); + playSound(@nargs=1, @blob="0f000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00006043"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00004043"); + {"014567"}: spell( + @nargs=4, + @blob="26000000 b80b0000 20a10700 18000000 f91206ea 7a9e1864 e4960c41 65fd1c90 f2250be9 625c81e8", + ); + {"234567"}: spell3( + @nargs=4, + @blob="28000000 b80b0000 20a10700 18000000 f91206ea 7a9e1864 e4960c41 65fd1c90 f2250be9 625c81e8", + ); + killAllAsync(@blob=""); + setInvuln(@nargs=1, @blob="3c000000"); + 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="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", + ); + setChapter(@nargs=1, @blob="2c000000"); + wait(@nargs=1, @blob="3c000000"); + jmp(@nargs=2, @blob="b0030000 02030000"); ++30: // 30 + anmPlay(@nargs=2, @blob="00000000 83000000"); + setScreenShake(@nargs=3, @blob="1e000000 01000000 00000000"); ++30: // 60 + nop(@blob=""); + anmSetSprite(@nargs=2, @blob="00000000 06000000"); + playSound(@nargs=1, @blob="0f000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 335f6174 00000000"); ++60: // 120 + anmPlay(@nargs=2, @blob="00000000 83000000"); + setScreenShake(@nargs=3, @blob="1e000000 01000000 00000000"); ++30: // 150 + nop(@blob=""); + anmSelectedPlay(@nargs=1, @blob="00000000"); + playSound(@nargs=1, @blob="0f000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 335f6174 32000000"); ++90: // 240 + anmPlay(@nargs=2, @blob="00000000 83000000"); + setScreenShake(@nargs=3, @blob="3c000000 01000000 01000000"); ++60: // 300 + setScreenShake(@nargs=3, @blob="3c000000 04000000 00000000"); + anmSetSprite(@nargs=2, @blob="00000000 06000000"); + playSound(@nargs=1, @blob="0f000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 335f6174 33620000"); ++200: // 500 + anmPlay(@nargs=2, @blob="00000000 83000000"); + setScreenShake(@nargs=3, @blob="1e000000 01000000 00000000"); ++30: // 530 + nop(@blob=""); + playSound(@nargs=1, @blob="0f000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 335f6174 62000000"); ++60: // 590 + anmPlay(@nargs=2, @blob="00000000 83000000"); + setScreenShake(@nargs=3, @blob="1e000000 01000000 00000000"); ++30: // 620 + nop(@blob=""); + playSound(@nargs=1, @blob="0f000000"); + anmSetSprite(@nargs=2, @blob="00000000 06000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 335f6174 32620000"); ++90: // 710 + anmPlay(@nargs=2, @blob="00000000 83000000"); + setScreenShake(@nargs=3, @blob="3c000000 01000000 01000000"); ++60: // 770 + setScreenShake(@nargs=3, @blob="3c000000 04000000 00000000"); + playSound(@nargs=1, @blob="0f000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 335f6174 33000000"); + wait(@nargs=1, @blob="aa000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="54fcffff 00000000"); + jmp(@nargs=2, @blob="2c000000 02030000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 02030000"); + ret(@blob=""); +} + + +void BossCard3_at() { + stackAlloc(@nargs=1, @blob="1c000000"); + etSound(@nargs=3, @blob="00000000 0f000000 ffffffff"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 05000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc93f 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000000 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 e8030000 c1bdf0ff f02374c9 f02374c9", + ); + etProtectRange(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00008041"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="40010000"); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + jmp(@nargs=2, @blob="84040000 00000000"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="40010000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + pushf(@nargs=1, @blob="cdcc4c3e"); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + pushf(@nargs=1, @blob="0000803f"); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b11000000, + @nargs=8, + @blob="00000000 03000000 00000000 08000000 3c000000 c1bdf0ff 000080bf 000080bf", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00020000 18000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 18000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="02000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="14000000 08000000 10000000 10000000 10000000", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 db0f493f db0fc93e db0fc93e db0fc93e", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="48010000 00000000"); + {"234567"}: pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + {"234567"}: pushf(@mask=0b1, @nargs=1, @blob="00000041"); + {"234567"}: mulf(@blob=""); + {"234567"}: setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 000080bf 00008040"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="bcfeffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="cdcc0c40"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="b1fb0e3c"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="02000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="80fbffff 00000000"); + ret(@blob=""); +} + + +void BossCard3_at2() { + stackAlloc(@nargs=1, @blob="1c000000"); + etSound(@nargs=3, @blob="00000000 0f000000 ffffffff"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 05000000 08000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc93f 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000000 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00100000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + etProtectRange(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00008c42"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="7c010000"); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + jmp(@nargs=2, @blob="60040000 00000000"); + pushf(@nargs=1, @blob="cdcc4c3e"); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + pushf(@nargs=1, @blob="0000803f"); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 08000000 3c000000 c1bdf0ff 000080bf 00000000", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00020000 18000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 18000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="02000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="14000000 08000000 10000000 10000000 10000000", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 db0f493f db0fc93e db0fc93e db0fc93e", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="80010000 00000000"); + {"234567"}: pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + {"234567"}: pushf(@mask=0b1, @nargs=1, @blob="00000041"); + {"234567"}: mulf(@blob=""); + {"234567"}: setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 000080bf 00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="84feffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="00008040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="b1fb0e3c"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="02000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="a4fbffff 00000000"); + ret(@blob=""); +} + + +void BossCard3_at2b() { + stackAlloc(@nargs=1, @blob="1c000000"); + etSound(@nargs=3, @blob="00000000 0f000000 ffffffff"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 05000000 04000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc93f 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000000 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 e8030000 c1bdf0ff f02374c9 f02374c9", + ); + etProtectRange(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00008c42"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="68010000"); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + jmp(@nargs=2, @blob="60040000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00020000 18000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 18000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="02000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + pushf(@nargs=1, @blob="cdcc4c3e"); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + pushf(@nargs=1, @blob="0000803f"); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 08000000 3c000000 c1bdf0ff 000080bf 00000000", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="14000000 08000000 10000000 10000000 10000000", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 db0f493f db0fc93e db0fc93e db0fc93e", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="80010000 00000000"); + {"234567"}: pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + {"234567"}: pushf(@mask=0b1, @nargs=1, @blob="00000041"); + {"234567"}: mulf(@blob=""); + {"234567"}: setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 000080bf 00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="84feffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="00008040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="98f98e3c"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="02000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="a4fbffff 00000000"); + ret(@blob=""); +} + + +void BossCard3_at3() { + stackAlloc(@nargs=1, @blob="14000000"); + etSound(@nargs=3, @blob="00000000 0f000000 ffffffff"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 11000000 01000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc93f 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000000 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 e8030000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 08000000 3c000000 c1bdf0ff 8988883c 35fa8e3c", + ); + {"0124567"}: etProtectRange(@nargs=1, @blob="00004042"); + {"34567"}: etSprite(@nargs=3, @blob="00000000 11000000 00000000"); + pushi(@nargs=1, @blob="3c000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00001643"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + {"34567"}: pushf(@nargs=1, @blob="00002043"); + {"34567"}: setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="64000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="64020000 00000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00020000 10000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 10000000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="ec000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00000000 00008040"); + 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="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="18ffffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="00000040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="01000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + wait(@nargs=1, @blob="01000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="a0fdffff 00000000"); + ret(@blob=""); +} + + +void BossCard3_at3b() { + stackAlloc(@nargs=1, @blob="18000000"); + etSound(@nargs=3, @blob="00000000 0f000000 ffffffff"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 00000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc93f 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000000 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 e8030000 c1bdf0ff f02374c9 f02374c9", + ); + {"0124567"}: etProtectRange(@nargs=1, @blob="00000042"); + {"34567"}: etSprite(@nargs=3, @blob="00000000 01000000 02000000"); + pushi(@nargs=1, @blob="3c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00001643"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="5a000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + jmp(@nargs=2, @blob="f0020000 00000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="b4000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + mulf(@blob=""); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 03000000 00000000 08000000 3c000000 c1bdf0ff 8988883c 000080bf", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00020000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="ec000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00000000 00008040"); + 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="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="18ffffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="00000040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="01000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + wait(@nargs=1, @blob="01000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="14fdffff 00000000"); + ret(@blob=""); +} + + +void BossCard3_atb() { + stackAlloc(@nargs=1, @blob="1c000000"); + etSound(@nargs=3, @blob="00000000 0f000000 ffffffff"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 05000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc93f 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000000 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 e8030000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00100000 68010000 c1bdf0ff f02374c9 f02374c9", + ); + etProtectRange(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00008041"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="40010000"); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + jmp(@nargs=2, @blob="28040000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00020000 18000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 18000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="02000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + pushf(@nargs=1, @blob="cdcc4c3e"); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + mulf(@blob=""); + pushf(@nargs=1, @blob="0000803f"); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 08000000 3c000000 c1bdf0ff 000080bf 00000000", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="14000000 08000000 10000000 10000000 10000000", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 db0f493f db0fc93e db0fc93e db0fc93e", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="48010000 00000000"); + {"234567"}: pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + {"234567"}: pushf(@mask=0b1, @nargs=1, @blob="00000041"); + {"234567"}: mulf(@blob=""); + {"234567"}: setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 000080bf 00008040"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="bcfeffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="cdcc0c40"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="98f98e3c"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="02000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="dcfbffff 00000000"); + ret(@blob=""); +} + + +void BossDead() { + stackAlloc(@nargs=1, @blob="04000000"); + 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", + ); ++60: // 60 + etClearAll(@blob=""); + spellEnd(@blob=""); + dropMain(@nargs=1, @blob="00000000"); + dropClear(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="3c000000 3c000000"); + dropMain(@nargs=1, @blob="05000000"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 08000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000"); + anmPlay(@nargs=2, @blob="00000000 4c000000"); + anmPlay(@nargs=2, @blob="00000000 8e000000"); + playSound(@nargs=1, @blob="12000000"); + setBoss(@nargs=1, @blob="ffffffff"); + delete(@blob=""); + delete(@blob=""); +} + + +void Cir00() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@nargs=1, @blob="35fa8e3c"); + pushi(@nargs=1, @blob="3c000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@nargs=1, @blob="c2b8b23d"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + mulf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 0000003f"); ++60: // 60 + flagClear(@nargs=1, @blob="03000000"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); + callAsync( + @nargs=2, + @blob="0c000000 52436972 30305f61 74000000 69690000 01000000", + ); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="01000000 04000000"); ++300: // 360 + pushf(@nargs=1, @blob="db0fc9bf"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00000000"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00008040"); + jmp(@nargs=2, @blob="2c000000 68010000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 68010000"); + ret(@blob=""); +} + + +void Cir01() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 03000000"); + dropExtra(@nargs=2, @blob="01000000 02000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 0000a040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 52436972 30315f61 74000000"); + wait(@nargs=1, @blob="2c010000"); + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 0000a040"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir01Boss1() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + anmSwitch(@nargs=2, @blob="00000000 02000000"); + moveVel(@mask=0b1, @nargs=2, @blob="00e81bc6 00000040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="10000000 52436972 3031426f 7373315f 61740000"); + wait(@nargs=1, @blob="3c000000"); + anmSwitch(@nargs=2, @blob="00000000 03000000"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + flagSet(@nargs=1, @blob="03000000"); + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 9a99993e"); ++60: // 60 + delete(@blob=""); ++6000: // 6060 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir01Boss12() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + anmSwitch(@nargs=2, @blob="00000000 02000000"); + moveVel(@mask=0b1, @nargs=2, @blob="00e81bc6 00000040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="10000000 52436972 3031426f 7373315f 61743200"); + wait(@nargs=1, @blob="3c000000"); + anmSwitch(@nargs=2, @blob="00000000 03000000"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + flagSet(@nargs=1, @blob="03000000"); + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 9a99993e"); ++60: // 60 + delete(@blob=""); ++6000: // 6060 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir01Boss2() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + anmSwitch(@nargs=2, @blob="00000000 02000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ffffffff 10000000 43697230 31426f73 73324465 61640000", + ); + moveVel(@mask=0b1, @nargs=2, @blob="00e81bc6 00000040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="10000000 52436972 3031426f 7373325f 61740000"); + wait(@nargs=1, @blob="78000000"); + anmSwitch(@nargs=2, @blob="00000000 03000000"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + flagSet(@nargs=1, @blob="03000000"); + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 9a99993e"); ++60: // 60 + delete(@blob=""); ++6000: // 6060 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir01Boss22() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + anmSwitch(@nargs=2, @blob="00000000 02000000"); + moveVel(@mask=0b1, @nargs=2, @blob="00e81bc6 00000040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="10000000 52436972 3031426f 7373325f 61743200"); + wait(@nargs=1, @blob="3c000000"); + anmSwitch(@nargs=2, @blob="00000000 03000000"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + flagSet(@nargs=1, @blob="03000000"); + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 9a99993e"); ++60: // 60 + delete(@blob=""); ++6000: // 6060 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir01Boss2Dead() { + stackAlloc(@nargs=1, @blob="00000000"); + unknown448(@mask=0b1, @nargs=1, @blob="00d9ffff"); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + ret(@blob=""); +} + + +void Cir01MBoss() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + anmSwitch(@nargs=2, @blob="00000000 02000000"); + moveVel(@mask=0b1, @nargs=2, @blob="00e81bc6 00000040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="10000000 52436972 30314d42 6f73735f 61740000"); + wait(@nargs=1, @blob="3c000000"); + anmSwitch(@nargs=2, @blob="00000000 03000000"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + flagSet(@nargs=1, @blob="03000000"); + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 9a99993e"); ++60: // 60 + delete(@blob=""); ++6000: // 6060 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir01MBoss2() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + anmSwitch(@nargs=2, @blob="00000000 02000000"); + moveVel(@mask=0b1, @nargs=2, @blob="00e81bc6 00000040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="10000000 52436972 30314d42 6f73735f 61743200"); + wait(@nargs=1, @blob="3c000000"); + anmSwitch(@nargs=2, @blob="00000000 03000000"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + flagSet(@nargs=1, @blob="03000000"); + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 9a99993e"); ++60: // 60 + delete(@blob=""); ++6000: // 6060 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir02() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + moveVel(@nargs=2, @blob="db0fc93f cdcc4c3e"); ++60: // 60 + flagClear(@nargs=1, @blob="03000000"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); + callAsync( + @nargs=2, + @blob="0c000000 52436972 30325f61 74000000 69690000 01000000", + ); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="01000000 04000000"); ++300: // 360 + flagSet(@nargs=1, @blob="03000000"); + anmSwitch(@nargs=2, @blob="00000000 03000000"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + moveVel(@nargs=2, @blob="db0fc93f cdcc4c3e"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 0000803f"); ++60: // 420 + delete(@blob=""); + ret(@blob=""); +} + + +void Cir03() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + moveVel(@nargs=2, @blob="db0fc93f cdcc4c3e"); ++60: // 60 + flagClear(@nargs=1, @blob="03000000"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); + callAsync( + @nargs=2, + @blob="0c000000 52436972 30335f61 74000000 69690000 01000000", + ); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="01000000 04000000"); ++300: // 360 + flagSet(@nargs=1, @blob="03000000"); + anmSwitch(@nargs=2, @blob="00000000 03000000"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + moveVel(@nargs=2, @blob="db0fc93f cdcc4c3e"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 0000803f"); ++60: // 420 + delete(@blob=""); + ret(@blob=""); +} + + +void GCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="03000000"); + call( + @nargs=4, + @blob="08000000 43697230 30000000 69690000 54000000 69690000 2f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 43697230 31000000 69690000 48000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir01Boss1() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73310000 69690000 54000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir01Boss12() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73313200 69690000 54000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir01Boss2() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73320000 69690000 54000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir01Boss22() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73323200 69690000 54000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir01MBoss() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 314d426f 73730000 69690000 54000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir01MBoss2() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 314d426f 73733200 69690000 54000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="03000000"); + call( + @nargs=4, + @blob="08000000 43697230 32000000 69690000 54000000 69690000 2f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir03() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="03000000"); + call( + @nargs=4, + @blob="08000000 43697230 33000000 69690000 54000000 69690000 2f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void Girl00() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + callAsync( + @nargs=2, + @blob="0c000000 52476972 6c30305f 61740000 69690000 01000000", + ); + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="1e000000 09000000 00000000 00008040"); ++30: // 30 + moveVelTime(@nargs=4, @blob="1e000000 09000000 e4cb963f 0000803f"); ++30: // 60 + moveVelTime(@nargs=4, @blob="0a000000 01000000 0bbef53f cdcc4c3f"); ++10: // 70 + anmReset(@blob=""); + moveVelTime(@nargs=4, @blob="78000000 01000000 f02374c9 0000c03f"); + wait(@nargs=1, @blob="5a000000"); ++6000: // 6070 + nop(@blob=""); + ret(@blob=""); +} + + +void MBoss() { + stackAlloc(@nargs=1, @blob="04000000"); + setBoss(@nargs=1, @blob="00000000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00002042 00002042"); + lifeSet(@nargs=1, @blob="58340000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + enmKillAll(@blob=""); + etClear(@nargs=1, @blob="00002044"); + setInterrupt( + @nargs=4, + @blob="00000000 28230000 ffffffff 08000000 4d426f73 73320000", + ); + setInterrupt( + @nargs=4, + @blob="01000000 d0070000 8c0a0000 0c000000 4d426f73 73436172 64310000", + ); + lifeMarker(@nargs=3, @blob="00000000 00a00c46 ffd0d0ff"); + lifeMarker(@nargs=3, @blob="01000000 0000fa44 80a0ffff"); + setChapter(@nargs=1, @blob="06000000"); + fog(@nargs=2, @blob="00002043 0000ff00"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + wait(@nargs=1, @blob="46000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00004042"); + call(@nargs=1, @blob="08000000 4d426f73 73310000"); + delete(@blob=""); +} + + +void MBoss1() { + stackAlloc(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="23d9ffff"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="24d9ffff"); + call(@nargs=1, @blob="0c000000 4d426f73 735f6174 32000000"); + wait(@nargs=1, @blob="78000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="3c000000"); + call(@nargs=1, @blob="0c000000 4d426f73 735f6174 31000000"); + wait(@nargs=1, @blob="78000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="3c000000"); + call(@nargs=1, @blob="0c000000 4d426f73 735f6174 32000000"); + wait(@nargs=1, @blob="78000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="3c000000"); + call(@nargs=1, @blob="0c000000 4d426f73 735f6174 31000000"); + wait(@nargs=1, @blob="78000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="3c000000"); + call(@nargs=1, @blob="08000000 4d426f73 73324200"); + ret(@blob=""); +} + + +void MBoss2() { + stackAlloc(@nargs=1, @blob="00000000"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 01000000"); + dropExtra(@nargs=2, @blob="02000000 02000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + killAllAsync(@blob=""); + setInvuln(@nargs=1, @blob="3c000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + enmKillAll(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00001043"); + playSound(@nargs=1, @blob="0f000000"); ++60: // 60 + nop(@blob=""); + call(@nargs=1, @blob="08000000 4d426f73 73324200"); + ret(@blob=""); +} + + +void MBoss2B() { + stackAlloc(@nargs=1, @blob="00000000"); + setInterrupt( + @nargs=4, + @blob="00000000 ffffffff ffffffff 08000000 4d426f73 73320000", + ); + lifeMarker(@nargs=3, @blob="00000000 00605146 ffd0d0ff"); + jmp(@nargs=2, @blob="90000000 00000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + call(@nargs=1, @blob="0c000000 4d426f73 7332425f 61740000"); + wait(@nargs=1, @blob="3c000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="46000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="74ffffff 00000000"); + ret(@blob=""); +} + + +void MBoss2B_at() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCount(@nargs=3, @blob="00000000 04000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 5077563d"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 8988083d 610b363d 610b363d 398e633d", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 01000000 04000000 5a000000 c1bdf0ff 00008040 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 01000000 00010000 01000000 0d000000 f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00080000 02000000 0d000000 f02374c9 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="0c000000 0f000000 1e000000 1e000000 3c000000", + ); + pushi(@nargs=1, @blob="10000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="d0010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + mulf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="04000000 02000000 02000000 01000000"); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00000041"); + {"04567"}: pushf(@nargs=1, @blob="00008040"); + {"04567"}: addf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00000041"); + {"14567"}: pushf(@mask=0b1, @nargs=1, @blob="00000041"); + {"14567"}: pushf(@nargs=1, @blob="00008040"); + {"14567"}: addf(@blob=""); + {"14567"}: setf(@mask=0b1, @nargs=1, @blob="00000041"); + {"24567"}: pushf(@mask=0b1, @nargs=1, @blob="00000041"); + {"24567"}: pushf(@nargs=1, @blob="0000a040"); + {"24567"}: addf(@blob=""); + {"24567"}: setf(@mask=0b1, @nargs=1, @blob="00000041"); + {"34567"}: pushf(@mask=0b1, @nargs=1, @blob="00000041"); + {"34567"}: pushf(@nargs=1, @blob="00000040"); + {"34567"}: addf(@blob=""); + {"34567"}: setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="34feffff 00000000"); + ret(@blob=""); +} + + +void MBoss3() { + stackAlloc(@nargs=1, @blob="00000000"); + callAsync(@nargs=1, @blob="08000000 4d426f73 73336200"); + wait(@nargs=1, @blob="2c060000"); + killAllAsync(@blob=""); + call(@nargs=1, @blob="08000000 426f7373 00000000"); + ret(@blob=""); +} + + +void MBoss3_at() { + stackAlloc(@nargs=1, @blob="08000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000000 db0fc93e db0f493e db0f493e db0f493e", + ); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 03000000"); + etCountD( + @nargs=9, + @blob="00000000 08000000 10000000 10000000 10000000 01000000 01000000 01000000 01000000", + ); + etAngle(@mask=0b100, @nargs=3, @blob="00000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 00000040 00000040 00000040 00000040 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 01000000 03000000 03000000 03000000", + ); + jmp(@nargs=2, @blob="40000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void MBoss3b() { + stackAlloc(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="88000000 00000000"); + diffWait(@nargs=4, @blob="b4000000 b4000000 5a000000 5a000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 0000803f"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d426f73 73335f61 74000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="7cffffff 00000000"); + ret(@blob=""); +} + + +void MBossCard1() { + stackAlloc(@nargs=1, @blob="14000000"); + killAllAsync(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00004043"); + setInvuln(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="07000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + laserCancel(@blob=""); + 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"); + flagSet(@nargs=1, @blob="10000000"); + dialogRead(@nargs=1, @blob="02000000"); ++66: // 66 + anmSelectedPlay(@nargs=1, @blob="00000000"); + dialogWait(@blob=""); + flagClear(@nargs=1, @blob="10000000"); + lifeMarker(@nargs=3, @blob="00000000 0000fa44 80a0ffff"); + timerReset(@blob=""); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 f8070000 0c000000 4d426f73 73457363 61706500", + ); + spell( + @nargs=4, + @blob="1a000000 f8070000 20a10700 14000000 fc2d0038 724f180e f83b1aa4 7bed0806 676e85ac", + ); + setChapter(@nargs=1, @blob="2b000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008043"); ++60: // 126 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 186 + nop(@blob=""); + jmp(@nargs=2, @blob="d80f0000 ba000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="10000000 06000000 08000000 0a000000 0c000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="0c000000"); + divf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="0a000000"); + divf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="06000000"); + divf(@blob=""); + addf(@blob=""); + diffF( + @mask=0b11111, + @nargs=5, + @blob="00f41bc6 000080bf 000080bf 000080bf 000080bf", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="0c000000"); + divf(@blob=""); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="0a000000"); + divf(@blob=""); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="06000000"); + divf(@blob=""); + subf(@blob=""); + diffF( + @mask=0b11111, + @nargs=5, + @blob="00f01bc6 000080bf 000080bf 000080bf 000080bf", + ); + pushf(@nargs=1, @blob="73d9a03e"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + jmp(@nargs=2, @blob="e8030000 ba000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64314174 00000000 00008041 000040c2 64000000 0a000000 00000000", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 ba000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + jmp(@nargs=2, @blob="b0020000 ba000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 ba000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="d80f493f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="d80f493f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + jmp(@nargs=2, @blob="b0010000 ba000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 ba000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="84d9203f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="84d9203f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + jmp(@nargs=2, @blob="b0000000 ba000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="960a063f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="960a063f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="1cfcffff ba000000"); + wait(@nargs=1, @blob="dc000000"); + moveRand(@nargs=3, @blob="6e000000 04000000 0000803f"); + wait(@nargs=1, @blob="78000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="10000000 04000000 08000000 0a000000 0c000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="0c000000"); + divf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="0a000000"); + divf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="04000000"); + divf(@blob=""); + addf(@blob=""); + diffF( + @mask=0b11111, + @nargs=5, + @blob="00f41bc6 000080bf 000080bf 000080bf 000080bf", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="0c000000"); + divf(@blob=""); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="0a000000"); + divf(@blob=""); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="04000000"); + divf(@blob=""); + subf(@blob=""); + diffF( + @mask=0b11111, + @nargs=5, + @blob="00f01bc6 000080bf 000080bf 000080bf 000080bf", + ); + pushf(@nargs=1, @blob="73d9a0be"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + jmp(@nargs=2, @blob="e8030000 ba000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64314174 00000000 00008041 000040c2 64000000 0a000000 00000000", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 ba000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + jmp(@nargs=2, @blob="b0020000 ba000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 ba000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="d80f493f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="d80f493f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + jmp(@nargs=2, @blob="b0010000 ba000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 ba000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="84d9203f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="84d9203f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + jmp(@nargs=2, @blob="b0000000 ba000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="960a063f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="960a063f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="1cfcffff ba000000"); + wait(@nargs=1, @blob="dc000000"); + moveRand(@nargs=3, @blob="6e000000 04000000 0000803f"); + wait(@nargs=1, @blob="78000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="2cf0ffff ba000000"); + jmp(@nargs=2, @blob="2c000000 ba000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff ba000000"); + ret(@blob=""); +} + + +void MBossCard1At() { + stackAlloc(@nargs=1, @blob="08000000"); + flagSet(@nargs=1, @blob="2c010000"); + callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64314174 5f617400"); + moveVel(@mask=0b1, @nargs=2, @blob="00f41bc6 0000803f"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00004040"); + wait(@nargs=1, @blob="3c000000"); + etProtectRange(@nargs=1, @blob="00000042"); + wait(@nargs=1, @blob="64000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MBossCard1At_at() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 07000000 04000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 00000000 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00100000 5a000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00080000 07000000 02000000 f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="58020000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="db0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="cdcccc3b"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="e0020000 00000000"); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 04000000 00000000 04000000 f0000000 c1bdf0ff 00004041 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000041 00000000"); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00000000 00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="20000000"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="0000803f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="3333b33f"); + pushi(@nargs=1, @blob="f0000000"); + divf(@blob=""); + geqf(@blob=""); + jmpEq(@nargs=2, @blob="58000000 00000000"); + pushf(@nargs=1, @blob="0ad7a33b"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="40000000 00000000"); + pushf(@nargs=1, @blob="cdcccc3b"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + wait(@nargs=1, @blob="02000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="24fdffff 00000000"); + ret(@blob=""); +} + + +void MBossDead() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + spellEnd(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="04010000 00000000"); + 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", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + 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"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="04000000 01000000"); + dropExtra(@nargs=2, @blob="02000000 08000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + setBoss(@nargs=1, @blob="ffffffff"); + setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000"); + anmPlay(@nargs=2, @blob="00000000 4c000000"); + playSound(@nargs=1, @blob="12000000"); + setChapter(@nargs=1, @blob="00000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MBossEscape() { + stackAlloc(@nargs=1, @blob="04000000"); + setInterrupt( + @nargs=4, + @blob="00000000 ffffffff 00000000 04000000 00000000", + ); + setInterrupt( + @nargs=4, + @blob="01000000 ffffffff 00000000 04000000 00000000", + ); + spellEnd(@blob=""); + moveLimitReset(@blob=""); + playSound(@nargs=1, @blob="0f000000"); + lifeHide(@nargs=1, @blob="01000000"); + fog(@nargs=2, @blob="00000000 ff80ff00"); + enmKillAll(@blob=""); + laserCancel(@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"); + flagSet(@nargs=1, @blob="10000000"); + lifeSet(@nargs=1, @blob="a0860100"); + callSTD(@nargs=1, @blob="01000000"); + dialogRead(@nargs=1, @blob="03000000"); + wait(@nargs=1, @blob="0a000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 00000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); ++66: // 66 + dialogWait(@blob=""); + setBoss(@nargs=1, @blob="ffffffff"); + callSTD(@nargs=1, @blob="02000000"); + flagSet(@nargs=1, @blob="10000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00000043 00000042"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="1c010000 42000000"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 08000000"); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="3c000000 42000000"); + dropMain(@nargs=1, @blob="05000000"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="02000000 0f000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + setChapter(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="01000000"); + setBoss(@nargs=1, @blob="00000000"); + lifeHide(@nargs=1, @blob="01000000"); + call(@nargs=1, @blob="08000000 4d426f73 73330000"); + jmp(@nargs=2, @blob="2c000000 42000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 42000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MBoss_at1() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="34020000 00000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 52436972 30314d42 6f737300 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 52436972 30314d42 6f737300 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 52436972 30314d42 6f737300 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="d0fdffff 00000000"); + ret(@blob=""); +} + + +void MBoss_at2() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="bda91ac0"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + anmSetSprite(@nargs=2, @blob="00000000 06000000"); + jmp(@nargs=2, @blob="40020000 00000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42436972 30314d42 6f737332 00000000 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42436972 30314d42 6f737332 00000000 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00008040 00000041 00e81bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42436972 30314d42 6f737332 00000000 00008040 00000041 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + wait(@nargs=1, @blob="02000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="c4fdffff 00000000"); + ret(@blob=""); +} + + +void MainBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); ++60: // 60 + dialogRead(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 000010c3 000080c1 28000000 e8030000 01000000", + ); + ins_500(@nargs=1, @blob="64000000"); + dialogWait(@blob=""); + deathWait(@blob=""); ++60: // 120 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + ret(@blob=""); + ret(@blob=""); +} + + +void MainMBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 000010c3 000000c2 28000000 10270000 01000000", + ); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void MainMsgDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + ins_500(@nargs=1, @blob="64000000"); ++120: // 120 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); ++1: // 121 + dialogWait(@blob=""); ++60: // 181 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="28000000 55100000"); ++4000: // 4181 + nop(@blob=""); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="dcffffff b5000000"); + ret(@blob=""); +} + + +void MainSub00() { + stackAlloc(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 00004043 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 00003043 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 00002043 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 00001043 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 00000043 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 0000e042 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 0000c042 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 0000a042 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 00008042 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 00004042 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 00000042 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 00008041 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="c0000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 52436972 30300000 000080bf 00000000 fa000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + ret(@blob=""); +} + + +void MainSub01() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="e0010000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303000 000060c3 00008042 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303000 00006043 00008042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303000 000060c3 00008042 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303000 00006043 00008042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303000 000060c3 00008042 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303000 00006043 00008042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303000 000060c3 00008042 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303000 00006043 00008042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303000 000060c3 00008042 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303000 00006043 00008042 64000000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub02() { + stackAlloc(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00000000 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 000080c2 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="32000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00000c43 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 000010c3 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="b4000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00000000 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00008042 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="32000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 000020c3 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00000043 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 0000c0c2 000000c2 90010000 e8030000 02000000", + ); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 0000c042 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + ret(@blob=""); +} + + +void MainSub03() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="dc000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 00004043 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 00003043 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="a0000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="80000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 00002043 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="80000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 00001043 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="a0000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="80000000"); + addf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 00000043 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="80000000"); + addf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 0000e042 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="64000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 00004043 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 00003043 2c010000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub04() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303000 000060c3 00008042 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303000 00006043 00008042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303000 000060c3 00008042 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303000 00006043 00008042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303000 000060c3 00008042 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303000 00006043 00008042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303000 000060c3 00008042 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303000 00006043 00008042 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303000 000060c3 00008042 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303000 00006043 00008042 64000000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub05() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="64000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="90000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 00004043 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="90000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 00003043 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="90000000"); + addf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 00000043 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="90000000"); + addf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 0000e042 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="90000000"); + subf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 00004043 2c010000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="90000000"); + addf(@blob=""); + enmCreate( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 000080bf 00003043 2c010000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub06() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="b4000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00000000 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 000080c2 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="32000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00000c43 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 000010c3 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00000000 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00008042 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="32000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 000020c3 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00000043 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 0000c0c2 000000c2 90010000 e8030000 02000000", + ); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 0000c042 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="50000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 000010c3 000000c2 90010000 e8030000 02000000", + ); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00001043 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="50000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 000030c3 000000c2 90010000 e8030000 02000000", + ); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 50436972 30310000 00003043 000000c2 90010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="50000000"); + ret(@blob=""); +} + + +void MapleEnemy() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + anmPlayAbs(@nargs=2, @blob="00000000 ad000000"); ++3: // 3 + jmp(@nargs=2, @blob="e8ffffff 00000000"); + delete(@blob=""); +} + + +void MapleEnemy2() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + anmPlayAbs(@nargs=2, @blob="00000000 ac000000"); ++3: // 3 + jmp(@nargs=2, @blob="e8ffffff 00000000"); + delete(@blob=""); +} + + +void PCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + call( + @nargs=4, + @blob="08000000 43697230 30000000 69690000 5a000000 69690000 30000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 43697230 31000000 69690000 4e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir01Boss1() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73310000 69690000 5a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir01Boss12() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73313200 69690000 5a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir01Boss2() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73320000 69690000 5a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir01Boss22() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73323200 69690000 5a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir01MBoss() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 314d426f 73730000 69690000 5a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir01MBoss2() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 314d426f 73733200 69690000 5a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + call( + @nargs=4, + @blob="08000000 43697230 32000000 69690000 5a000000 69690000 30000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir03() { + stackAlloc(@nargs=1, @blob="04000000"); + call( + @nargs=4, + @blob="08000000 43697230 33000000 69690000 5a000000 69690000 30000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=4, + @blob="08000000 43697230 30000000 69690000 51000000 69690000 2e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir00_at() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 04000000 04000000 04000000 04000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 5077563d"); + etSpeedD( + @nargs=9, + @blob="00000000 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f", + ); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 8988083d 8988083d 8988083d 398e633d", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00000041 f02374c9", + ); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 00000000"); + etSprite(@nargs=3, @blob="01000000 02000000 06000000"); + etCount(@nargs=3, @blob="01000000 03000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 db0fc93e"); + etSpeed(@nargs=3, @blob="01000000 0000803f 0000803f"); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="01000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00000041 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="0c000000 03000000 0a000000 14000000 14000000", + ); + jmp(@nargs=2, @blob="60000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + {"34567"}: etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="3c000000 1e000000 0f000000 0f000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="a4ffffff 00000000"); + ret(@blob=""); +} + + +void RCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 43697230 31000000 69690000 45000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir01Boss1() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73310000 69690000 51000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir01Boss12() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73313200 69690000 51000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir01Boss1_at() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 01000000 01000000 02000000 03000000 04000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 00004040 00008040 00008040 00008040 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00080000 02000000 0d000000 f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + negf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="dc010000 00000000"); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 10000000 3c000000 01000000 00008040 0000c03f", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="03000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="28feffff 00000000"); + ret(@blob=""); +} + + +void RCir01Boss1_at2() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 01000000 01000000 02000000 03000000 04000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 00004040 00008040 00008040 00008040 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00080000 02000000 0a000000 f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + negf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="dc010000 00000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 10000000 3c000000 01000000 00000000 0000c03f", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="03000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="28feffff 00000000"); + ret(@blob=""); +} + + +void RCir01Boss2() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73320000 69690000 51000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir01Boss22() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 31426f73 73323200 69690000 51000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir01Boss2_at() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 03000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00008040 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00080000 02000000 0d000000 f02374c9 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="0c000000 04000000 08000000 0a000000 0c000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + negf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="3c070000 00000000"); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 10000000 3c000000 01000000 00008040 0000c03f", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + laserStOn( + @mask=0b1001, + @nargs=12, + @blob="00d9ffff 03000000 02000000 00000000 0000b443 0000b443 32000000 1e000000 3c000000 1e000000 00008041 04000000", + ); + diffWait(@nargs=4, @blob="06000000 03000000 02000000 03000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="80010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="d8040000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="80010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="04000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="04000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="04000000"); + divf(@blob=""); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="20030000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="80010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="68010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="06000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="06000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="06000000"); + divf(@blob=""); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="c8f8ffff 00000000"); + ret(@blob=""); +} + + +void RCir01Boss2_at2() { + stackAlloc(@nargs=1, @blob="08000000"); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 04000000 3c000000 c1bdf0ff bcbbbbbd f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff bcbbbb3d f02374c9", + ); + etSound(@nargs=3, @blob="00000000 10000000 ffffffff"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 06000000 0c000000 0c000000 0c000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="c8030000 00000000"); + laserOnA2( + @mask=0b110, + @nargs=8, + @blob="03000000 ffd8ffff 00000000 0000c040 00000000 00000043 00000044 00004041", + ); + {"234567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"234567"}: pushf(@nargs=1, @blob="db0f4940"); + {"234567"}: addf(@blob=""); + {"234567"}: laserOnA2( + @mask=0b110, + @nargs=8, + @blob="03000000 ffd8ffff 000080bf 0000c040 00000000 00000043 00000044 00004041", + ); + diffWait(@nargs=4, @blob="06000000 03000000 03000000 03000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="03000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="38020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="60010000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="88000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="3cfcffff 00000000"); + ret(@blob=""); +} + + +void RCir01MBoss() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 314d426f 73730000 69690000 51000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir01MBoss2() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 43697230 314d426f 73733200 69690000 51000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir01MBoss_at() { + stackAlloc(@nargs=1, @blob="08000000"); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 04000000 3c000000 c1bdf0ff bcbbbbbd f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff bcbbbb3d f02374c9", + ); + etSound(@nargs=3, @blob="00000000 10000000 ffffffff"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 06000000 0c000000 12000000 20000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="60030000 00000000"); + laserOnA2( + @mask=0b110, + @nargs=8, + @blob="03000000 ffd8ffff 00000000 0000c040 00000000 00000043 00000044 00004041", + ); + diffWait(@nargs=4, @blob="06000000 03000000 02000000 02000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="03000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="38020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="60010000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="88000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="a4fcffff 00000000"); + ret(@blob=""); +} + + +void RCir01MBoss_at2() { + stackAlloc(@nargs=1, @blob="08000000"); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 04000000 3c000000 c1bdf0ff bcbbbbbd f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff bcbbbb3d f02374c9", + ); + etSound(@nargs=3, @blob="00000000 10000000 ffffffff"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 06000000 0c000000 12000000 20000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="60030000 00000000"); + laserOnA2( + @mask=0b110, + @nargs=8, + @blob="03000000 ffd8ffff 00000000 0000c040 00000000 00000043 00000044 00004041", + ); + diffWait(@nargs=4, @blob="06000000 03000000 02000000 02000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="03000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="38020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="60010000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="88000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="a4fcffff 00000000"); + ret(@blob=""); +} + + +void RCir01_at() { + stackAlloc(@nargs=1, @blob="08000000"); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 04000000 3c000000 c1bdf0ff 000000be f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff 0000003e f02374c9", + ); + etSound(@nargs=3, @blob="00000000 10000000 ffffffff"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 06000000 0c000000 12000000 20000000", + ); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="c8030000 00000000"); + laserOnA2( + @mask=0b100, + @nargs=8, + @blob="03000000 02000000 00000000 00000041 00000000 00000043 00000044 00004041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0f4940"); + addf(@blob=""); + laserOnA2( + @mask=0b100, + @nargs=8, + @blob="03000000 02000000 000080bf 00000041 00000000 00000043 00000044 00004041", + ); + diffWait(@nargs=4, @blob="06000000 03000000 03000000 03000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="03000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="38020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="05000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="60010000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="a0000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="88000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="0a000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="3cfcffff 00000000"); + ret(@blob=""); +} + + +void RCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=4, + @blob="08000000 43697230 32000000 69690000 51000000 69690000 2e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir02_at() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCount(@nargs=3, @blob="00000000 04000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 5077563d"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000803f"); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 610bb63c 8988083d 610b363d 398e633d", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00000041 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="0c000000 05000000 0a000000 0a000000 0a000000", + ); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="3c000000 1e000000 1e000000 1e000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void RCir03() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=4, + @blob="08000000 43697230 33000000 69690000 51000000 69690000 2e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir03_at() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCount(@nargs=3, @blob="00000000 04000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 5077563d"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000803f"); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 8988083d f02374c9", + ); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="40000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="1e000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void RGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 05000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl00_at() { + stackAlloc(@nargs=1, @blob="08000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 00000000 00000000 01000000 03000000", + ); + wait(@nargs=1, @blob="78000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 03000000 05000000 07000000 05000000 05000000 05000000 05000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a063f"); + etSpeedD( + @nargs=9, + @blob="00000000 cdcc4c40 66668640 66668640 66668640 00000040 00000040 00000040 00000040", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="84000000 00000000"); + jmp(@nargs=2, @blob="40000000 00000000"); + wait(@nargs=1, @blob="1e000000"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void YGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void main() { + stackAlloc(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="20000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 4d61706c 65456e65 6d790000 00000000 000080c1 14000000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="0c000000 4d61706c 65456e65 6d793200 00000000 000080c1 14000000 e8030000 02000000", + ); ++160: // 160 + nop(@blob=""); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 30000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 31000000"); + wait(@nargs=1, @blob="78000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 32000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000"); + wait(@nargs=1, @blob="2c010000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 000010c3 000080c1 28000000 10270000 01000000", + ); + deathWait(@blob=""); + wait(@nargs=1, @blob="78000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 36000000"); + wait(@nargs=1, @blob="b4000000"); + dialogRead(@nargs=1, @blob="00000000"); + dialogWait(@blob=""); + deathWait(@blob=""); + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="2c000000 a0000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff a0000000"); ++40000: // 40160 + nop(@blob=""); + delete(@blob=""); +} diff --git a/research/stage03.tstd b/research/stage03.tstd new file mode 100644 index 0000000..11d2f06 --- /dev/null +++ b/research/stage03.tstd @@ -0,0 +1,230 @@ +#pragma mapfile "utils/th095.stdm" + +meta { + unknown: 0, + anm_path: "stage03.anm", + objects: { + object0: { + layer: 0, + pos: [0.0, 0.0, 0.0], + size: [320.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 0, + pos: [0.0, 0.0, 0.0], + size: [320.0, 256.0], + }, + ], + }, + object1: { + layer: 3, + pos: [0.0, 0.0, -300.0], + size: [672.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 1, + pos: [-208.0, 0.0, -300.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 2, + pos: [208.0, 0.0, -300.0], + size: [256.0, 256.0], + }, + ], + }, + object2: { + layer: 1, + pos: [0.0, 0.0, -128.0], + size: [576.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 3, + pos: [-160.0, 0.0, -128.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 3, + pos: [160.0, 0.0, -128.0], + size: [256.0, 256.0], + }, + ], + }, + object3: { + layer: 1, + pos: [0.0, 0.0, -128.0], + size: [576.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 4, + pos: [-160.0, 0.0, -128.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 4, + pos: [160.0, 0.0, -128.0], + size: [256.0, 256.0], + }, + ], + }, + object4: { + layer: 0, + pos: [0.0, 0.0, 0.0], + size: [320.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 5, + pos: [0.0, 0.0, 0.0], + size: [320.0, 256.0], + }, + ], + }, + object5: { + layer: 2, + pos: [0.0, 0.0, -144.0], + size: [536.0, 256.0, 32.0], + quads: [ + rect { + anm_script: 6, + pos: [-140.0, 0.0, -128.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 6, + pos: [140.0, 0.0, -128.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 7, + pos: [-140.0, -32.0, -144.0], + size: [128.0, 128.0], + }, + rect { + anm_script: 7, + pos: [140.0, -32.0, -144.0], + size: [128.0, 128.0], + }, + rect { + anm_script: 8, + pos: [-140.0, -64.0, -160.0], + size: [64.0, 64.0], + }, + rect { + anm_script: 8, + pos: [140.0, -64.0, -160.0], + size: [64.0, 64.0], + }, + ], + }, + }, + instances: [ + object4 {pos: [0.0, 0.0, 0.0]}, + object5 {pos: [0.0, 0.0, 0.0]}, + object1 {pos: [0.0, 0.0, 0.0]}, + object3 {pos: [0.0, 0.0, 0.0]}, + object0 {pos: [0.0, 256.0, 0.0]}, + object1 {pos: [0.0, 256.0, 0.0]}, + object2 {pos: [0.0, 256.0, 0.0]}, + object0 {pos: [0.0, 512.0, 0.0]}, + object1 {pos: [0.0, 512.0, 0.0]}, + object2 {pos: [0.0, 512.0, 0.0]}, + object4 {pos: [0.0, 768.0, 0.0]}, + object5 {pos: [0.0, 768.0, 0.0]}, + object1 {pos: [0.0, 768.0, 0.0]}, + object3 {pos: [0.0, 768.0, 0.0]}, + object0 {pos: [0.0, 1024.0, 0.0]}, + object1 {pos: [0.0, 1024.0, 0.0]}, + object2 {pos: [0.0, 1024.0, 0.0]}, + object0 {pos: [0.0, 1280.0, 0.0]}, + object1 {pos: [0.0, 1280.0, 0.0]}, + object2 {pos: [0.0, 1280.0, 0.0]}, + object4 {pos: [0.0, 1536.0, 0.0]}, + object5 {pos: [0.0, 1536.0, 0.0]}, + object1 {pos: [0.0, 1536.0, 0.0]}, + object3 {pos: [0.0, 1536.0, 0.0]}, + object0 {pos: [0.0, 1792.0, 0.0]}, + object1 {pos: [0.0, 1792.0, 0.0]}, + object2 {pos: [0.0, 1792.0, 0.0]}, + object0 {pos: [0.0, 2048.0, 0.0]}, + object1 {pos: [0.0, 2048.0, 0.0]}, + object2 {pos: [0.0, 2048.0, 0.0]}, + object4 {pos: [0.0, 2304.0, 0.0]}, + object5 {pos: [0.0, 2304.0, 0.0]}, + object1 {pos: [0.0, 2304.0, 0.0]}, + object3 {pos: [0.0, 2304.0, 0.0]}, + object0 {pos: [0.0, 2560.0, 0.0]}, + object1 {pos: [0.0, 2560.0, 0.0]}, + object2 {pos: [0.0, 2560.0, 0.0]}, + object0 {pos: [0.0, 2816.0, 0.0]}, + object1 {pos: [0.0, 2816.0, 0.0]}, + object2 {pos: [0.0, 2816.0, 0.0]}, + object4 {pos: [0.0, 3072.0, 0.0]}, + object5 {pos: [0.0, 3072.0, 0.0]}, + object1 {pos: [0.0, 3072.0, 0.0]}, + object3 {pos: [0.0, 3072.0, 0.0]}, + object0 {pos: [0.0, 3328.0, 0.0]}, + object1 {pos: [0.0, 3328.0, 0.0]}, + object2 {pos: [0.0, 3328.0, 0.0]}, + object0 {pos: [0.0, 3584.0, 0.0]}, + object1 {pos: [0.0, 3584.0, 0.0]}, + object2 {pos: [0.0, 3584.0, 0.0]}, + object4 {pos: [0.0, 3840.0, 0.0]}, + object5 {pos: [0.0, 3840.0, 0.0]}, + object1 {pos: [0.0, 3840.0, 0.0]}, + object3 {pos: [0.0, 3840.0, 0.0]}, + object0 {pos: [0.0, 4096.0, 0.0]}, + object1 {pos: [0.0, 4096.0, 0.0]}, + object2 {pos: [0.0, 4096.0, 0.0]}, + object0 {pos: [0.0, 4352.0, 0.0]}, + object1 {pos: [0.0, 4352.0, 0.0]}, + object2 {pos: [0.0, 4352.0, 0.0]}, + ], +} + + +script main { + up(0.0, 1.0, 0.0); + fov(0.62831855); + fog(0xff000020, 200.0, 250.0); + fogTime(512, 0, 0xff000020, 400.0, 1200.0); + pos(-250.0, 320.0, -1200.0); + facing(0.0, 400.0, 230.0); + pos(-250.0, 320.0, -1200.0); + posTime(512, 4, 0.0, 1088.0, -600.0); ++512: // 512 + posTime(128, 1, 0.0, 1184.0, -600.0); ++128: // 640 + fogTime(160, 0, 0xff000020, 1000.0, 1200.0); +label_224: + loop { + pos(0.0, 1184.0, -600.0); + posTime(512, 0, 0.0, 1952.0, -600.0); ++512: // 1152 + } + +interrupt[1]: + pos(0.0, 1184.0, -600.0); + loop { + pos(0.0, 1184.0, -600.0); + posTime(2048, 0, 0.0, 1184.0, -600.0); ++2048: // 3200 + } + +interrupt[2]: + pos(0.0, 1184.0, -600.0); + posTime(128, 1, 0.0, 1504.0, -600.0); ++128: // 3328 + fogTime(120, 0, 0xff300030, 1000.0, 1200.0); + loop { + pos(0.0, 1504.0, -600.0); + posTime(128, 0, 0.0, 2272.0, -600.0); ++128: // 3456 + } + +interrupt[3]: + pos(0.0, 1504.0, -600.0); + pos(0.0, 1504.0, -600.0); + posTime(512, 0, 0.0, 2272.0, -600.0); ++512: // 3968 + goto label_224; +} diff --git a/research/stage04.tanm b/research/stage04.tanm new file mode 100644 index 0000000..1075ca5 --- /dev/null +++ b/research/stage04.tanm @@ -0,0 +1,147 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "background/stage04/stage04a.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 0 script0 { + type(8); + sprite(sprite0); + stop(); +} + + +entry { + path: "background/stage04/stage04b.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +entry { + path: "background/stage04/stage04c.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 1 script1 { + type(8); + sprite(sprite1); + alpha(0); ++360: // 360 + alphaTime(30, 0, 255); ++120: // 480 + nop(); + loop { + colorTime(140, 9, 128, 128, 255); ++160: // 640 + colorTime(140, 9, 255, 255, 255); ++160: // 800 + colorTime(140, 9, 255, 128, 255); ++160: // 960 + colorTime(140, 9, 255, 255, 255); ++160: // 1120 + colorTime(140, 9, 255, 128, 128); ++160: // 1280 + colorTime(140, 9, 255, 255, 255); ++160: // 1440 + } + stop(); +} + + +script 2 script2 { + type(8); + sprite(sprite2); + alpha(255); ++360: // 360 + alphaTime(60, 0, 0); ++60: // 420 + delete(); +} + + +script 3 script3 { + type(8); + sprite(sprite1); + alpha(0); ++400: // 400 + alphaTime(60, 0, 255); ++80: // 480 + nop(); + loop { + colorTime(140, 9, 128, 128, 255); ++160: // 640 + colorTime(140, 9, 255, 255, 255); ++160: // 800 + colorTime(140, 9, 255, 128, 255); ++160: // 960 + colorTime(140, 9, 255, 255, 255); ++160: // 1120 + colorTime(140, 9, 255, 128, 128); ++160: // 1280 + colorTime(140, 9, 255, 255, 255); ++160: // 1440 + } + stop(); +} + + +script 4 script4 { + type(8); + sprite(sprite2); + alpha(255); ++400: // 400 + alphaTime(60, 0, 0); ++60: // 460 + delete(); +} + + +script 5 script5 { + type(8); + sprite(sprite1); + alpha(0); ++440: // 440 + alphaTime(60, 0, 255); ++40: // 480 + nop(); + loop { + colorTime(140, 9, 128, 128, 255); ++160: // 640 + colorTime(140, 9, 255, 255, 255); ++160: // 800 + colorTime(140, 9, 255, 128, 255); ++160: // 960 + colorTime(140, 9, 255, 255, 255); ++160: // 1120 + colorTime(140, 9, 255, 128, 128); ++160: // 1280 + colorTime(140, 9, 255, 255, 255); ++160: // 1440 + } +} + + +script 6 script6 { + type(8); + sprite(sprite2); + alpha(255); ++440: // 440 + alphaTime(60, 0, 0); ++60: // 500 + delete(); +} diff --git a/research/stage04.tecl b/research/stage04.tecl new file mode 100644 index 0000000..b170700 --- /dev/null +++ b/research/stage04.tecl @@ -0,0 +1,4176 @@ +#pragma mapfile "utils/th11.eclm" + +meta { + anim: ["enemy.anm", "stgenm04.anm"], + ecli: [ + "default.ecl", + "stage4c00a.ecl", + "stage4c00b.ecl", + "stage4c00c.ecl", + "stage4c01a.ecl", + "stage4c01b.ecl", + "stage4c01c.ecl", + ], +} + + +void BCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=4, + @blob="08000000 43697230 30000000 69690000 57000000 69690000 2d000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 43697230 31000000 69690000 4b000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir01b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 43697230 31620000 69690000 4b000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 43697230 32000000 69690000 4b000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=4, + @blob="08000000 43697230 33000000 69690000 57000000 69690000 2d000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl00b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30306200 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30310000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl01b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30316200 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30320000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30330000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BPhantomMBoss() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="10000000 5068616e 746f6d4d 426f7373 00000000 69690000 62000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BPhantomMBoss2() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="10000000 5068616e 746f6d4d 426f7373 32000000 69690000 62000000 69690000 01000000", + ); + delete(@blob=""); +} + + +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="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00004042 00004042"); + setInvuln(@nargs=1, @blob="3c000000"); + lifeSet(@nargs=1, @blob="8c230000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + fog(@nargs=2, @blob="00002043 ff00ff00"); ++60: // 60 + dialogWait(@blob=""); + lifeHide(@nargs=1, @blob="00000000"); + flagClear(@nargs=1, @blob="10000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 0000c042"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSetSprite(@nargs=2, @blob="02000000 aa000000"); + anmSelect(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + call(@nargs=1, @blob="08000000 426f7373 31000000"); + delete(@blob=""); +} + + +void Boss1() { + stackAlloc(@nargs=1, @blob="00000000"); + timerReset(@blob=""); + setInterrupt( + @nargs=4, + @blob="00000000 6c070000 140a0000 0c000000 426f7373 43617264 31000000", + ); + lifeMarker(@nargs=3, @blob="00000000 0080ed44 80a0ffff"); + setChapter(@nargs=1, @blob="18000000"); + stars(@nargs=1, @blob="02000000"); + funcSet(@nargs=1, @blob="00000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="23d9ffff"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="24d9ffff"); + jmp(@nargs=2, @blob="18010000 00000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 315f6174 31000000"); + call(@nargs=1, @blob="0c000000 426f7373 315f6174 32000000"); + diffWait(@nargs=4, @blob="3c000000 3c000000 3c000000 3c000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 315f6174 31620000"); + call(@nargs=1, @blob="0c000000 426f7373 315f6174 32620000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="ecfeffff 00000000"); + ret(@blob=""); +} + + +void Boss1_at1() { + stackAlloc(@nargs=1, @blob="18000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="00000000 1e000000 78000000 78000000 78000000", + ); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 03000000 03000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 cdcccc3f cdcccc3f cdcccc3f cdcccc3f 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="bc040000 00000000"); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00008041 00004041"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 7cd9203f"); + etOn(@nargs=1, @blob="00000000"); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 0000a041 00004041"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000041 7cd9203f"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="04000000 01000000 01000000 01000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + neqi(@blob=""); + jmpEq(@nargs=2, @blob="b0010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="3ed00a3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3ed00a3d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + validRad(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="0000a041"); + jmp(@nargs=2, @blob="98010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="3ed00a3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3ed00a3e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + validRad(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="d80fc93f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="0000803f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="48fbffff 00000000"); + ret(@blob=""); +} + + +void Boss1_at1b() { + stackAlloc(@nargs=1, @blob="18000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="00000000 1e000000 78000000 78000000 78000000", + ); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 03000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 cdcccc3f cdcccc3f cdcccc3f cdcccc3f 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushi(@nargs=1, @blob="32000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="bc040000 00000000"); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00008041 00004041"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 db0fc93e"); + etOn(@nargs=1, @blob="00000000"); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 0000a041 00004041"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000041 db0fc93e"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="04000000 01000000 01000000 01000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + neqi(@blob=""); + jmpEq(@nargs=2, @blob="b0010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="3ed00a3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3ed00a3d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + validRad(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="0000a041"); + jmp(@nargs=2, @blob="98010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="3ed00a3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3ed00a3e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + validRad(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="d80fc93f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="0000003f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="48fbffff 00000000"); + ret(@blob=""); +} + + +void Boss1_at2() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 03000000 02000000"); + etCountD( + @nargs=9, + @blob="01000000 01000000 01000000 01000000 03000000 01000000 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 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="04030000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="0d000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="b0000000 00000000"); + etSprite(@nargs=3, @blob="01000000 11000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008040 7cd9203f"); + etOn(@nargs=1, @blob="01000000"); + etSprite(@nargs=3, @blob="01000000 11000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000041 7cd9203f"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="3ed00a3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3ed00a3d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + validRad(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="0000803f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="00fdffff 00000000"); + ret(@blob=""); +} + + +void Boss1_at2b() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 03000000 02000000"); + etCountD( + @nargs=9, + @blob="01000000 01000000 01000000 01000000 03000000 01000000 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 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushi(@nargs=1, @blob="32000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="04030000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="0d000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="b0000000 00000000"); + etSprite(@nargs=3, @blob="01000000 11000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008040 db0fc93e"); + etOn(@nargs=1, @blob="01000000"); + etSprite(@nargs=3, @blob="01000000 11000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000041 db0fc93e"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="3ed00a3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3ed00a3d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + validRad(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="0000003f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="00fdffff 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=""); + funcSet(@nargs=1, @blob="00000000"); + laserCancel(@blob=""); + lifeSet(@nargs=1, @blob="60220000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 34080000 10000000 426f7373 43617264 324d7367 00000000", + ); + 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="20010000 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"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 05000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + playSound(@nargs=1, @blob="0f000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); ++90: // 90 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="23d9ffff"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="24d9ffff"); + jmp(@nargs=2, @blob="c8000000 5a000000"); + {"34567"}: callAsync( + @nargs=1, + @blob="0c000000 426f7373 325f6174 32000000", + ); + call(@nargs=1, @blob="0c000000 426f7373 325f6174 31000000"); + {"34567"}: callAsync( + @nargs=1, + @blob="0c000000 426f7373 325f6174 32620000", + ); + call(@nargs=1, @blob="0c000000 426f7373 325f6174 31620000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="3cffffff 5a000000"); + ret(@blob=""); +} + + +void Boss2_at1() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 03000000 03000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 cdcccc3f 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="18030000 00000000"); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00008041 00004041"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 7cd9203f"); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="80000000 00000000"); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 0000a041 00004041"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000041 7cd9203f"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="3ed00a3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3ed00a3d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + validRad(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="0000803f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="ecfcffff 00000000"); + ret(@blob=""); +} + + +void Boss2_at1b() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 03000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 cdcccc3f 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushi(@nargs=1, @blob="32000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="18030000 00000000"); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00008041 00004041"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 7cd9203f"); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="80000000 00000000"); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 0000a041 00004041"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000041 7cd9203f"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="3ed00a3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3ed00a3d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + validRad(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="0000003f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="ecfcffff 00000000"); + ret(@blob=""); +} + + +void Boss2_at2() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 03000000 02000000"); + etCountD( + @nargs=9, + @blob="01000000 01000000 01000000 01000000 01000000 01000000 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 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="04030000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="0d000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="b0000000 00000000"); + etSprite(@nargs=3, @blob="01000000 11000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008040 00000000"); + etOn(@nargs=1, @blob="01000000"); + etSprite(@nargs=3, @blob="01000000 11000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000041 00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="3ed00a3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3ed00a3d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + validRad(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="0000803f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="00fdffff 00000000"); + ret(@blob=""); +} + + +void Boss2_at2b() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 03000000 02000000"); + 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 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushi(@nargs=1, @blob="32000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="04030000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="0d000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="b0000000 00000000"); + etSprite(@nargs=3, @blob="01000000 11000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008040 00000000"); + etOn(@nargs=1, @blob="01000000"); + etSprite(@nargs=3, @blob="01000000 11000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000041 00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="3ed00a3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3ed00a3d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="d80fc93e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + validRad(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="0000003f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="00fdffff 00000000"); + ret(@blob=""); +} + + +void BossCard1() { + stackAlloc(@nargs=1, @blob="14000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 140a0000 08000000 426f7373 32000000", + ); + {"014567"}: spell( + @nargs=4, + @blob="2a000000 140a0000 20a10700 20000000 e6041ef2 724f129d ec7c0e41 68390a28 e6350638 604000b3 dc6dfc52 dba27960", + ); + {"234567"}: spell3( + @nargs=4, + @blob="2c000000 140a0000 20a10700 14000000 e6041ef2 724f1a48 fa8a00f7 7d020600 e61885ac", + ); + setChapter(@nargs=1, @blob="2b000000"); + killAllAsync(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00006043"); + setInvuln(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="07000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + enmKillAll(@blob=""); + 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"); + funcSet(@nargs=1, @blob="01000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 0000c043 00008043"); ++30: // 30 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++120: // 150 + nop(@blob=""); + jmp(@nargs=2, @blob="28020000 96000000"); + pushf(@nargs=1, @blob="c0922b3c"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 315f6174 00000000 66660000 db0fc9bf", + ); + wait(@nargs=1, @blob="78000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="10000000"); + wait(@nargs=1, @blob="14000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00004041 5077563e 5077563e 5077563e f975f73d", + ); + callAsync( + @mask=0b10, + @nargs=2, + @blob="10000000 426f7373 43617264 315f6174 32000000 66660000 00004041", + ); + pushf(@nargs=1, @blob="c0922bbc"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + callAsync( + @nargs=2, + @blob="10000000 426f7373 43617264 315f6174 00000000 66660000 db0fc93f", + ); + wait(@nargs=1, @blob="78000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="10000000"); + wait(@nargs=1, @blob="14000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00004041 507756be 507756be 507756be f975f7bd", + ); + callAsync( + @mask=0b10, + @nargs=2, + @blob="10000000 426f7373 43617264 315f6174 32000000 66660000 00004041", + ); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="dcfdffff 96000000"); + ret(@blob=""); +} + + +void BossCard1_at() { + stackAlloc(@nargs=1, @blob="18000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + diffI( + @mask=0b1, + @nargs=5, + @blob="14000000 10000000 10000000 20000000 20000000", + ); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@mask=0b1, @nargs=1, @blob="14000000"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + jmp(@nargs=2, @blob="2c010000 00000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00000041 00004041 00008040 00008042", + ); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + addf(@blob=""); + laserStOn( + @mask=0b1000, + @nargs=12, + @blob="00000000 03000000 06000000 000080bf 00000000 0000e643 b4000000 14000000 32000000 08000000 00008041 08000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="d8feffff 00000000"); + ret(@blob=""); +} + + +void BossCard1_at2() { + stackAlloc(@nargs=1, @blob="14000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="40020000 00000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 01000000 0d000000"); + etCountD( + @nargs=9, + @blob="01000000 08000000 08000000 0c000000 14000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="01000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="01000000 cdcccc3f cdcccc3f 00000040 00000040 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@nargs=2, @blob="01000000 00000042"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="a8000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008040 00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="06000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + jmp(@nargs=2, @blob="68010000 00000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 01000000 0d000000"); + etCount(@nargs=3, @blob="01000000 08000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="01000000 cdcccc3f 0000803f"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@nargs=2, @blob="01000000 00000042"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008040 00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="60000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 02000000"); + etSprite(@nargs=3, @blob="01000000 11000000 01000000"); + etCountD( + @nargs=9, + @blob="01000000 01000000 01000000 01000000 01000000 08000000 08000000 18000000 20000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + mulf(@blob=""); + etAngle(@mask=0b110, @nargs=3, @blob="01000000 00000000 000080bf"); + etSpeedD( + @nargs=9, + @blob="01000000 0000c03f 0000c03f 00000040 00002040 0000003f 0000003f 0000003f 0000003f", + ); + {"234567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"234567"}: pushf(@nargs=1, @blob="9a99993e"); + {"234567"}: mulf(@blob=""); + {"234567"}: etAngle( + @mask=0b110, + @nargs=3, + @blob="01000000 00000000 000080bf", + ); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="01000000"); + ret(@blob=""); +} + + +void BossCard2Msg() { + stackAlloc(@nargs=1, @blob="00000000"); + killAllAsync(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00004043"); + setInvuln(@nargs=1, @blob="3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="e4000000 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="01000000 0f000000"); + dropExtra(@nargs=2, @blob="02000000 0a000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + lifeSet(@nargs=1, @blob="e8030000"); + 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", + ); + laserCancel(@blob=""); + enmKillAll(@blob=""); + setChapter(@nargs=1, @blob="2c000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000043"); + flagSet(@nargs=1, @blob="10000000"); + dialogRead(@nargs=1, @blob="02000000"); + dialogWait(@blob=""); + flagClear(@nargs=1, @blob="10000000"); + setChapter(@nargs=1, @blob="2c000000"); + stars(@nargs=1, @blob="00000000"); + call(@nargs=1, @blob="10000000 426f7373 43617264 53656c65 63740000"); + ret(@blob=""); +} + + +void BossCardItem() { + stackAlloc(@nargs=1, @blob="00000000"); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 0e000000"); + ret(@blob=""); +} + + +void BossCardSelect() { + stackAlloc(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="27d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="54000000 00000000"); + call(@nargs=1, @blob="10000000 426f7373 43617264 325f3030 41000000"); + jmp(@nargs=2, @blob="bc020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="27d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="54000000 00000000"); + call(@nargs=1, @blob="10000000 426f7373 43617264 325f3030 42000000"); + jmp(@nargs=2, @blob="30020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="27d9ffff"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="54000000 00000000"); + call(@nargs=1, @blob="10000000 426f7373 43617264 325f3030 43000000"); + jmp(@nargs=2, @blob="a4010000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="27d9ffff"); + pushi(@nargs=1, @blob="03000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="54000000 00000000"); + call(@nargs=1, @blob="10000000 426f7373 43617264 325f3031 41000000"); + jmp(@nargs=2, @blob="18010000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="27d9ffff"); + pushi(@nargs=1, @blob="04000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="54000000 00000000"); + call(@nargs=1, @blob="10000000 426f7373 43617264 325f3031 42000000"); + jmp(@nargs=2, @blob="8c000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="27d9ffff"); + pushi(@nargs=1, @blob="05000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="3c000000 00000000"); + call(@nargs=1, @blob="10000000 426f7373 43617264 325f3031 43000000"); + ret(@blob=""); +} + + +void BossDead() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="8c000000"); + anmPlay(@nargs=2, @blob="00000000 4c000000"); + playSound(@nargs=1, @blob="12000000"); + anmPlay(@nargs=2, @blob="00000000 8d000000"); + moveVelTime( + @mask=0b100, + @nargs=4, + @blob="01000000 00000000 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", + ); ++60: // 60 + etClearAll(@blob=""); + spellEnd(@blob=""); + dropMain(@nargs=1, @blob="00000000"); + dropClear(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="3c000000 3c000000"); + dropMain(@nargs=1, @blob="05000000"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 08000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000"); + anmPlay(@nargs=2, @blob="00000000 4c000000"); + anmPlay(@nargs=2, @blob="00000000 8e000000"); + playSound(@nargs=1, @blob="12000000"); + setBoss(@nargs=1, @blob="ffffffff"); + delete(@blob=""); + delete(@blob=""); +} + + +void Cir00() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + moveVel(@nargs=2, @blob="00000000 00000041"); + moveVelTime(@nargs=4, @blob="3c000000 04000000 f02374c9 00000000"); ++60: // 60 + flagClear(@nargs=1, @blob="03000000"); ++60: // 120 + moveVel(@mask=0b1, @nargs=2, @blob="00141cc6 00000000"); + {"234567"}: callAsync( + @nargs=1, + @blob="0c000000 52436972 30305f61 74000000", + ); + moveVelTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 00141cc6 00000040", + ); + 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 Cir01() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 03000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + callAsync(@nargs=1, @blob="0c000000 52436972 30315f61 74000000"); + moveVel(@nargs=2, @blob="db0fc93f 00004040"); + wait(@nargs=1, @blob="3c000000"); + moveVelTime(@nargs=4, @blob="32000000 00000000 db0f49bf 0000a040"); + wait(@nargs=1, @blob="3c000000"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir01b() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 03000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + callAsync(@nargs=1, @blob="0c000000 52436972 3031625f 61740000"); + moveVel(@nargs=2, @blob="db0fc93f 00004040"); + wait(@nargs=1, @blob="3c000000"); + moveVelTime(@nargs=4, @blob="32000000 00000000 db0f4940 0000a040"); + wait(@nargs=1, @blob="3c000000"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir02() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + callAsync(@nargs=1, @blob="0c000000 52436972 30325f61 74000000"); + moveVel(@nargs=2, @blob="db0fc9be 00004040"); + wait(@nargs=1, @blob="3c000000"); + moveVelTime(@nargs=4, @blob="32000000 00000000 00000000 00008040"); + wait(@nargs=1, @blob="3c000000"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Cir03() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + moveVel(@nargs=2, @blob="db0fc93f cdcc4c3e"); ++60: // 60 + flagClear(@nargs=1, @blob="03000000"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); + callAsync( + @nargs=2, + @blob="0c000000 52436972 30335f61 74000000 69690000 01000000", + ); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="01000000 04000000"); ++300: // 360 + flagSet(@nargs=1, @blob="03000000"); + anmSwitch(@nargs=2, @blob="00000000 03000000"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + moveVel(@nargs=2, @blob="db0fc93f cdcc4c3e"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 0000803f"); ++60: // 420 + delete(@blob=""); + ret(@blob=""); +} + + +void GCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="03000000"); + call( + @nargs=4, + @blob="08000000 43697230 30000000 69690000 54000000 69690000 2f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 43697230 31000000 69690000 48000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir01b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 43697230 31620000 69690000 48000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 43697230 32000000 69690000 48000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir03() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="03000000"); + call( + @nargs=4, + @blob="08000000 43697230 33000000 69690000 54000000 69690000 2f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl00b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30306200 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30310000 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl01b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30316200 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30320000 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30330000 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GPhantomMBoss() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="10000000 5068616e 746f6d4d 426f7373 00000000 69690000 60000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GPhantomMBoss2() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="10000000 5068616e 746f6d4d 426f7373 32000000 69690000 60000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void Girl00() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 04000000"); + dropArea(@nargs=2, @blob="00000042 00000042"); + moveVel(@nargs=2, @blob="00000000 0000c040"); + moveVelTime(@nargs=4, @blob="3c000000 09000000 00000000 00000000"); ++60: // 60 + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c30305f 61740000 69690000 04000000", + ); + wait(@nargs=1, @blob="78000000"); + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 0000803f"); ++6000: // 6060 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl00b() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 04000000"); + dropArea(@nargs=2, @blob="00000042 00000042"); + moveVel(@nargs=2, @blob="00000000 0000c040"); + moveVelTime(@nargs=4, @blob="3c000000 09000000 00000000 00000000"); ++60: // 60 + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c303062 5f617400 69690000 04000000", + ); + wait(@nargs=1, @blob="3c000000"); + {"34567"}: callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c303062 5f617400 69690000 04000000", + ); + wait(@nargs=1, @blob="3c000000"); + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 0000803f"); ++6000: // 6060 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl01() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c30315f 61740000 69690000 04000000", + ); + moveVel(@nargs=2, @blob="db0fc93f 00004040"); + moveVelTime(@nargs=4, @blob="3c000000 09000000 db0f4940 00004040"); + wait(@nargs=1, @blob="78000000"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl01b() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + {"1234567"}: callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c303162 5f617400 69690000 04000000", + ); + moveVel(@nargs=2, @blob="db0fc93f 00004040"); + moveVelTime(@nargs=4, @blob="3c000000 09000000 db0f4940 00004040"); + wait(@nargs=1, @blob="78000000"); ++6000: // 6000 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl02() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 02000000"); + dropExtra(@nargs=2, @blob="02000000 04000000"); + dropArea(@nargs=2, @blob="00000042 00000042"); + moveVel(@nargs=2, @blob="00000000 0000a040"); + moveVelTime(@nargs=4, @blob="3c000000 09000000 00000000 00000000"); ++60: // 60 + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c30325f 61740000 69690000 04000000", + ); + wait(@nargs=1, @blob="f0000000"); + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 0000803f"); ++6000: // 6060 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl03() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 04000000"); + dropArea(@nargs=2, @blob="00000042 00000042"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ffffffff 0c000000 4769726c 33446561 64000000", + ); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 0000c042"); ++60: // 60 + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c30335f 61740000 69690000 04000000", + ); + wait(@nargs=1, @blob="58020000"); + killAllAsync(@blob=""); + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 0000803f"); ++6000: // 6060 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl3Dead() { + stackAlloc(@nargs=1, @blob="00000000"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 14000000"); + dropExtra(@nargs=2, @blob="02000000 05000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + 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=""); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + ret(@blob=""); +} + + +void MBoss() { + stackAlloc(@nargs=1, @blob="10000000"); + setBoss(@nargs=1, @blob="00000000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="02000000 aa000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 07000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00002042 00002042"); + lifeSet(@nargs=1, @blob="80380100"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + setChapter(@nargs=1, @blob="06000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + wait(@nargs=1, @blob="46000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008041"); + wait(@nargs=1, @blob="78000000"); + playSound(@nargs=1, @blob="29000000"); + fog(@nargs=2, @blob="00002043 0000ff00"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSelect(@nargs=1, @blob="02000000"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="60020000 00000000"); + wait(@nargs=1, @blob="1e000000"); + moveRand(@nargs=3, @blob="28000000 04000000 00000041"); + playSound(@nargs=1, @blob="22000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00000041 00004041 00f41bc6 00000042", + ); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 52506861 6e746f6d 4d426f73 73000000 00000041 00004041 2c010000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="910a0640"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00000041 00004041 00f41bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 47506861 6e746f6d 4d426f73 73000000 00000041 00004041 2c010000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="910a0640"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00000041 00004041 00f41bc6 00000042", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42506861 6e746f6d 4d426f73 73000000 00000041 00004041 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="a4fdffff 00000000"); + call(@nargs=1, @blob="0c000000 4d426f73 73457363 61706500"); + 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 MBoss2() { + stackAlloc(@nargs=1, @blob="10000000"); + setBoss(@nargs=1, @blob="00000000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="02000000 aa000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 07000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00002042 00002042"); + lifeSet(@nargs=1, @blob="e02e0000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 36060000 10000000 4d426f73 73457363 61706532 00000000", + ); + setChapter(@nargs=1, @blob="07000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + wait(@nargs=1, @blob="46000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008041"); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="29000000"); + fog(@nargs=2, @blob="00002043 0000ff00"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmPlay(@nargs=2, @blob="00000000 83000000"); + wait(@nargs=1, @blob="3c000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d426f73 73325f61 74000000"); + callAsync(@nargs=1, @blob="0c000000 4d426f73 73325f61 74320000"); + wait(@nargs=1, @blob="3c000000"); + jmp(@nargs=2, @blob="d4000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="26d9ffff"); + pushi(@nargs=1, @blob="02000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="70000000 00000000"); + playSound(@nargs=1, @blob="29000000"); + anmPlay(@nargs=2, @blob="00000000 83000000"); + wait(@nargs=1, @blob="78000000"); + jmp(@nargs=2, @blob="04ffffff 00000000"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="30ffffff 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 MBoss2_at() { + stackAlloc(@nargs=1, @blob="18000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCountD( + @nargs=9, + @blob="00000000 20000000 30000000 30000000 40000000 01000000 01000000 01000000 01000000", + ); + etAngle(@mask=0b100, @nargs=3, @blob="00000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 9a99993e 9a99993e 9a99993e 9a99993e 0000803f 0000803f 0000803f 0000803f", + ); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 610b363c 610bb63c 610bb63c 610bb63c", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00008040 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="14000000 0a000000 14000000 1e000000 1e000000", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 0000f042 00002043 00002043 00002043", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008041 0000a041 00008041 00004041 00004041", + ); + pushi(@nargs=1, @blob="d0070000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="f8010000 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + divf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="0a000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + etOn(@nargs=1, @blob="00000000"); + etDist(@mask=0b10, @nargs=2, @blob="01000000 00000041"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00004041 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="9a09863c"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + validRad(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + diffWait(@nargs=4, @blob="08000000 05000000 02000000 02000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="0cfeffff 00000000"); + ret(@blob=""); +} + + +void MBoss2_at2() { + stackAlloc(@nargs=1, @blob="1c000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="14000000 04000000 08000000 08000000 0a000000", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00004041 0000f042 00002043 00002043 00002043", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008041 00000042 00008041 00008041 00008041", + ); + jmp(@nargs=2, @blob="d0010000 00000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="d0000000 00000000"); + circlePos( + @mask=0b1111, + @nargs=4, + @blob="00008040 00000041 00000000 00004041", + ); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42506861 6e746f6d 4d426f73 73320000 00008040 00000041 a0000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="d80f493f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="18000000"); + jmpNeq(@nargs=2, @blob="34ffffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + diffWait(@nargs=4, @blob="0a000000 05000000 05000000 05000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="34feffff 00000000"); + ret(@blob=""); +} + + +void MBossEscape() { + stackAlloc(@nargs=1, @blob="04000000"); + setInterrupt( + @nargs=4, + @blob="00000000 ffffffff 00000000 04000000 00000000", + ); + setInterrupt( + @nargs=4, + @blob="01000000 ffffffff 00000000 04000000 00000000", + ); + spellEnd(@blob=""); + moveLimitReset(@blob=""); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 08000000"); + dropExtra(@nargs=2, @blob="02000000 0a000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="7c000000 00000000"); + 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=""); + playSound(@nargs=1, @blob="0f000000"); + lifeSet(@nargs=1, @blob="a0860100"); + setBoss(@nargs=1, @blob="ffffffff"); + flagSet(@nargs=1, @blob="10000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00006043 00008042"); ++60: // 60 + setChapter(@nargs=1, @blob="00000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MBossEscape2() { + stackAlloc(@nargs=1, @blob="04000000"); + setInterrupt( + @nargs=4, + @blob="00000000 ffffffff 00000000 04000000 00000000", + ); + setInterrupt( + @nargs=4, + @blob="01000000 ffffffff 00000000 04000000 00000000", + ); + spellEnd(@blob=""); + moveLimitReset(@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"); + ins_371(@nargs=1, @blob="01000000"); + lifeSet(@nargs=1, @blob="a0860100"); + setBoss(@nargs=1, @blob="ffffffff"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 05000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="7c000000 00000000"); + 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=""); + playSound(@nargs=1, @blob="0f000000"); + wait(@nargs=1, @blob="78000000"); + flagSet(@nargs=1, @blob="10000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 000060c3 00008042"); ++60: // 60 + setChapter(@nargs=1, @blob="00000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void MainBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); ++60: // 60 + dialogRead(@nargs=1, @blob="ffffffff"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 000058c3 00008042 28000000 e8030000 01000000", + ); + ins_500(@nargs=1, @blob="64000000"); + deathWait(@blob=""); ++60: // 120 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + ret(@blob=""); + ret(@blob=""); +} + + +void MainMBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 000010c3 000000c2 28000000 10270000 01000000", + ); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void MainMsgDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + ins_500(@nargs=1, @blob="64000000"); ++120: // 120 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); ++1: // 121 + dialogWait(@blob=""); ++60: // 181 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="28000000 55100000"); ++4000: // 4181 + nop(@blob=""); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="dcffffff b5000000"); + ret(@blob=""); +} + + +void MainSub00() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="58010000 00000000"); + pushi(@nargs=1, @blob="20000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + muli(@blob=""); + addi(@blob=""); + enmCreate( + @mask=0b100, + @nargs=6, + @blob="08000000 52436972 30300000 000080c2 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@nargs=1, @blob="20000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + muli(@blob=""); + addi(@blob=""); + enmCreate( + @mask=0b100, + @nargs=6, + @blob="08000000 52436972 30300000 000080c3 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="acfeffff 00000000"); + ret(@blob=""); +} + + +void MainSub00b() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="58010000 00000000"); + pushi(@nargs=1, @blob="20000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + muli(@blob=""); + addi(@blob=""); + enmCreateM( + @mask=0b100, + @nargs=6, + @blob="08000000 52436972 30300000 00008042 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@nargs=1, @blob="20000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + muli(@blob=""); + addi(@blob=""); + enmCreateM( + @mask=0b100, + @nargs=6, + @blob="08000000 52436972 30300000 00008043 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="acfeffff 00000000"); + ret(@blob=""); +} + + +void MainSub01() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 000060c3 00008042 2c010000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub01b() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73320000 00006043 00008042 2c010000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub02() { + stackAlloc(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303000 000060c3 00008042 f4010000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303000 00006043 00008042 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="f0000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303000 000060c3 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303000 00006043 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303000 000060c3 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303000 00006043 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303000 000060c3 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303000 00006043 00000043 f4010000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub02b() { + stackAlloc(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="0c000000 52476972 6c303062 00000000 000060c3 00008042 f4010000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="0c000000 52476972 6c303062 00000000 00006043 00008042 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="f0000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 52476972 6c303062 00000000 000060c3 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateAM( + @nargs=6, + @blob="0c000000 52476972 6c303062 00000000 00006043 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 52476972 6c303062 00000000 000060c3 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateAM( + @nargs=6, + @blob="0c000000 52476972 6c303062 00000000 00006043 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 52476972 6c303062 00000000 000060c3 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateAM( + @nargs=6, + @blob="0c000000 52476972 6c303062 00000000 00006043 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 52476972 6c303062 00000000 000060c3 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateAM( + @nargs=6, + @blob="0c000000 52476972 6c303062 00000000 00006043 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 52476972 6c303062 00000000 000060c3 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateAM( + @nargs=6, + @blob="0c000000 52476972 6c303062 00000000 00006043 00000043 f4010000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub03() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="c8000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + ret(@blob=""); +} + + +void MainSub03b() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="09000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="c8000000"); + jmp(@nargs=2, @blob="00040000 00000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 42476972 6c303162 00000000 00000043 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 42476972 6c303162 00000000 00000043 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 42476972 6c303162 00000000 00000043 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 52476972 6c303162 00000000 00000043 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 52476972 6c303162 00000000 00000043 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 42476972 6c303162 00000000 00000043 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateAM( + @nargs=6, + @blob="0c000000 42476972 6c303162 00000000 000000c3 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateAM( + @nargs=6, + @blob="0c000000 42476972 6c303162 00000000 000000c3 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateAM( + @nargs=6, + @blob="0c000000 42476972 6c303162 00000000 000000c3 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateAM( + @nargs=6, + @blob="0c000000 52476972 6c303162 00000000 000000c3 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateAM( + @nargs=6, + @blob="0c000000 52476972 6c303162 00000000 000000c3 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateAM( + @nargs=6, + @blob="0c000000 42476972 6c303162 00000000 000000c3 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="03000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="3c000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="04fcffff 00000000"); + ret(@blob=""); +} + + +void MainSub04() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30310000 000020c3 000000c2 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52436972 30310000 00002043 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30310000 000020c3 000000c2 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52436972 30310000 00002043 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30310000 000020c3 000000c2 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52436972 30310000 00002043 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30316200 000070c2 000000c2 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52436972 30316200 00007042 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30316200 000070c2 000000c2 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52436972 30316200 00007042 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30316200 000070c2 000000c2 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52436972 30316200 00007042 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30310000 000020c3 000000c2 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52436972 30310000 00002043 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30310000 000020c3 000000c2 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52436972 30310000 00002043 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30310000 000020c3 000000c2 64000000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52436972 30310000 00002043 000000c2 64000000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub05() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="58020000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + jmp(@nargs=2, @blob="90050000 00000000"); + wait(@nargs=1, @blob="78000000"); + enmCreateMF( + @nargs=6, + @blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateMF( + @nargs=6, + @blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateMF( + @nargs=6, + @blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateMF( + @nargs=6, + @blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateMF( + @nargs=6, + @blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateMF( + @nargs=6, + @blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateMF( + @nargs=6, + @blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateMF( + @nargs=6, + @blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateMF( + @nargs=6, + @blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateMF( + @nargs=6, + @blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + wait(@nargs=1, @blob="78000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + enmCreateF( + @nargs=6, + @blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="74faffff 00000000"); + ret(@blob=""); +} + + +void MainSub06() { + stackAlloc(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303200 000060c3 0000c042 f4010000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303200 00006043 0000c042 f4010000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub06b() { + stackAlloc(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303200 000060c3 0000c042 f4010000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303200 00006043 0000c042 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="b4000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303200 000060c3 00000043 f4010000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303200 00006043 00000043 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="b4000000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303200 000060c3 0000c042 f4010000 e8030000 02000000", + ); + enmCreateAM( + @nargs=6, + @blob="08000000 52476972 6c303200 00006043 0000c042 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="68010000"); + enmCreateA( + @nargs=6, + @blob="08000000 52476972 6c303300 00000000 000000c2 b80b0000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MapleEnemy() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + anmPlayAbs(@nargs=2, @blob="00000000 ad000000"); ++3: // 3 + jmp(@nargs=2, @blob="e8ffffff 00000000"); + delete(@blob=""); +} + + +void MapleEnemy2() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + anmPlayAbs(@nargs=2, @blob="00000000 ac000000"); ++3: // 3 + jmp(@nargs=2, @blob="e8ffffff 00000000"); + delete(@blob=""); +} + + +void PCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + call( + @nargs=4, + @blob="08000000 43697230 30000000 69690000 5a000000 69690000 30000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 43697230 31000000 69690000 4e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir01b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 43697230 31620000 69690000 4e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 43697230 32000000 69690000 4e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir03() { + stackAlloc(@nargs=1, @blob="04000000"); + call( + @nargs=4, + @blob="08000000 43697230 33000000 69690000 5a000000 69690000 30000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PhantomMBoss() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + unknown370(@nargs=1, @blob="01000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + wait(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="40000000"); + flagClear(@nargs=1, @blob="03000000"); + callAsync(@nargs=1, @blob="10000000 5068616e 746f6d4d 426f7373 5f617400"); + moveVel(@mask=0b1, @nargs=2, @blob="00f41bc6 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 cdccccbd"); ++400: // 400 + delete(@blob=""); + ret(@blob=""); +} + + +void PhantomMBoss2() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + unknown370(@nargs=1, @blob="01000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + wait(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="40000000"); + flagClear(@nargs=1, @blob="03000000"); ++400: // 400 + nop(@blob=""); + unknown369(@nargs=1, @blob="01000000"); ++60: // 460 + nop(@blob=""); + call( + @nargs=1, + @blob="14000000 5068616e 746f6d4d 426f7373 325f6174 00000000", + ); + delete(@blob=""); + ret(@blob=""); +} + + +void PhantomMBoss2_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 03000000 03000000 05000000 06000000 01000000 01000000 01000000 01000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="03000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf db0fc93e"); + etSpeed(@nargs=3, @blob="00000000 00004040 0000803f"); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 610b36bc 610b36bc 610b36bc 610bb6bb", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00008040 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void PhantomMBoss_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b100, @nargs=3, @blob="00000000 02000000 ffd8ffff"); + etCount(@nargs=3, @blob="00000000 08000000 01000000"); + etAngle(@mask=0b100, @nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000003f 0000803f"); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 8988883c 610bb63c 8fc2f53c b4a2113d", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00008040 f02374c9", + ); + etDist(@nargs=2, @blob="00000000 00000042"); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 03000000 07000000 0c000000 0f000000", + ); + jmp(@nargs=2, @blob="c8000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 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"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="5a000000 2d000000 1c000000 0f000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="3cffffff 00000000"); + ret(@blob=""); +} + + +void RCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=4, + @blob="08000000 43697230 30000000 69690000 51000000 69690000 2e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir00_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 04000000 04000000 04000000 08000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 5077563d"); + etSpeedD( + @nargs=9, + @blob="00000000 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f", + ); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 8988083d 8988083d 8988083d 398e633d", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00008040 f02374c9", + ); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 00000000"); + etSprite(@nargs=3, @blob="01000000 02000000 06000000"); + etCount(@nargs=3, @blob="01000000 03000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 db0fc93e"); + etSpeed(@nargs=3, @blob="01000000 0000803f 0000803f"); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="01000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00008040 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 03000000 0a000000 14000000 14000000", + ); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="3c000000 1e000000 0f000000 0f000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void RCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="02000000"); + call( + @nargs=3, + @blob="08000000 43697230 31000000 69690000 45000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir01_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 0000c040 0000c040 00000041 00000041", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 04000000 3c000000 c1bdf0ff bcbbbbbd f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff abaa2a3d f02374c9", + ); + etSound(@nargs=3, @blob="00000000 10000000 ffffffff"); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 0c000000 20000000 34000000 50000000", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="d4020000 00000000"); + laserOn3( + @mask=0b1100, + @nargs=8, + @blob="03000000 02000000 00000000 00008040 00000000 00000043 00000044 00004041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + laserOn3( + @mask=0b1100, + @nargs=8, + @blob="03000000 02000000 00000000 00008040 00000000 00000043 00000044 00004041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + laserOn3( + @mask=0b1100, + @nargs=8, + @blob="03000000 02000000 00000000 00008040 00000000 00000043 00000044 00004041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + laserOn3( + @mask=0b1100, + @nargs=8, + @blob="03000000 02000000 00000000 00008040 00000000 00000043 00000044 00004041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + laserOn3( + @mask=0b1100, + @nargs=8, + @blob="03000000 02000000 00000000 00008040 00000000 00000043 00000044 00004041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + laserOn3( + @mask=0b1100, + @nargs=8, + @blob="03000000 02000000 00000000 00008040 00000000 00000043 00000044 00004041", + ); + diffWait(@nargs=4, @blob="0f000000 0a000000 07000000 05000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="30fdffff 00000000"); + ret(@blob=""); +} + + +void RCir01b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="02000000"); + call( + @nargs=3, + @blob="08000000 43697230 31620000 69690000 45000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir01b_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 0000c040 0000c040 00000041 00000041", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 04000000 3c000000 c1bdf0ff bcbbbbbd f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff abaa2a3d f02374c9", + ); + etSound(@nargs=3, @blob="00000000 10000000 ffffffff"); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 0c000000 20000000 34000000 50000000", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="d4020000 00000000"); + laserOn3( + @mask=0b1100, + @nargs=8, + @blob="03000000 06000000 00000000 00008040 00000000 00000043 00000044 00004041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + laserOn3( + @mask=0b1100, + @nargs=8, + @blob="03000000 06000000 00000000 00008040 00000000 00000043 00000044 00004041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + laserOn3( + @mask=0b1100, + @nargs=8, + @blob="03000000 06000000 00000000 00008040 00000000 00000043 00000044 00004041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + laserOn3( + @mask=0b1100, + @nargs=8, + @blob="03000000 06000000 00000000 00008040 00000000 00000043 00000044 00004041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + laserOn3( + @mask=0b1100, + @nargs=8, + @blob="03000000 06000000 00000000 00008040 00000000 00000043 00000044 00004041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="960a863f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + laserOn3( + @mask=0b1100, + @nargs=8, + @blob="03000000 06000000 00000000 00008040 00000000 00000043 00000044 00004041", + ); + diffWait(@nargs=4, @blob="0f000000 0a000000 07000000 05000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="30fdffff 00000000"); + ret(@blob=""); +} + + +void RCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 43697230 32000000 69690000 45000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir02_at() { + stackAlloc(@nargs=1, @blob="08000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="00000000 03000000 08000000 0a000000 0a000000", + ); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 05000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 02000000 02000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a863f"); + etSpeedD( + @nargs=9, + @blob="00000000 cdcccc3f 00000040 66668640 66668640 00000040 00000040 00000040 00000040", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + wait(@nargs=1, @blob="1e000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 00000040 00000040 00008040 00000040", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="9a99193f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + ret(@blob=""); +} + + +void RCir03() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=4, + @blob="08000000 43697230 33000000 69690000 51000000 69690000 2e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir03_at() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCount(@nargs=3, @blob="00000000 04000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 5077563d"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000803f"); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 8988083d f02374c9", + ); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="40000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="1e000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void RGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="02000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 28000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl00_at() { + stackAlloc(@nargs=1, @blob="10000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 04000000 08000000 08000000 0c000000", + ); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 06000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 03000000 03000000 03000000 05000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a863f"); + etSpeedD( + @nargs=9, + @blob="00000000 cdcccc3f 00000040 cdcc0c40 cdcc0c40 00000040 00000040 00000040 00000040", + ); + {"34567"}: etAngle(@nargs=3, @blob="00000000 00000000 fac8653f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00004041 a6922b3c a692ab3b fc0f933b fdad803b", + ); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="c4010000 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff cdcc4cbd 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="5c000000 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 0ad723bc 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="40feffff 00000000"); + ret(@blob=""); +} + + +void RGirl00b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="02000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30306200 69690000 28000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl00b_at() { + stackAlloc(@nargs=1, @blob="10000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 04000000 08000000 0a000000 08000000", + ); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 06000000 0a000000"); + etCountD( + @nargs=9, + @blob="00000000 03000000 03000000 03000000 06000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 db0fc93f 920a863f"); + etSpeedD( + @nargs=9, + @blob="00000000 cdcccc3f 00000040 cdcc0c40 00000040 00000040 00000040 00000040 00000040", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00004041 a6922b3c a692ab3b fc0f933b a692ab3b", + ); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="30010000 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff cdcc4cbd 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="d4feffff 00000000"); + ret(@blob=""); +} + + +void RGirl01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30310000 69690000 05000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl01_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 01000000 04000000 0a000000 0c000000", + ); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 03000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 02000000 01000000", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00141cc6 c2b8b23e"); + etSpeedD( + @nargs=9, + @blob="00000000 0000803f 0000803f 66668640 66668640 00000040 00000040 00000040 00000040", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + wait(@nargs=1, @blob="1e000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 0000803f 0000803f 00000040 0000803f", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00000041 0000803f"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="cdcc4c3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + ret(@blob=""); +} + + +void RGirl01b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30316200 69690000 05000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl01b_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 01000000 04000000 0a000000 14000000", + ); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 03000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a863f"); + etSpeedD( + @nargs=9, + @blob="00000000 cdcccc3f 00004040 66668640 66668640 00000040 00000040 00000040 00000040", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + wait(@nargs=1, @blob="1e000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 00004040 00004040 00006040 00008040", + ); + jmp(@nargs=2, @blob="b4000000 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00000041 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="cdcc4c3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="1e000000 1e000000 1e000000 0f000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="50ffffff 00000000"); + ret(@blob=""); +} + + +void RGirl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="02000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30320000 69690000 28000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl02_at() { + stackAlloc(@nargs=1, @blob="10000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 04000000 08000000 0a000000 0c000000", + ); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 06000000 04000000"); + etCountD( + @nargs=9, + @blob="00000000 03000000 06000000 06000000 06000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a863f"); + etSpeedD( + @nargs=9, + @blob="00000000 cdcccc3f 00000040 cdcc0c40 cdcc0c40 00000040 00000040 00000040 00000040", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00004041 a6922b3c a692ab3b fc0f933b fdad803b", + ); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="08020000 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 426065bc 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff cdcc4cbd 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="5c000000 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 295c8fbd 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="fcfdffff 00000000"); + ret(@blob=""); +} + + +void RGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="02000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30330000 69690000 28000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl03_at() { + stackAlloc(@nargs=1, @blob="1c000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 08000000 08000000 08000000 08000000", + ); + pushi(@nargs=1, @blob="12000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 06000000 0a000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a863f"); + etSpeedD( + @nargs=9, + @blob="00000000 cdcccc3f 00000040 cdcc0c40 cdcc0c40 00000040 00000040 00000040 00000040", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="d731e23f"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="e1edaf3f"); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + jmp(@nargs=2, @blob="0c070000 00000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008041 a6922b3c a692ab3b fc0f933b fdad803b", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 03000000 06000000 08000000 0a000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 0000a041 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="c4010000 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 8fc275bd 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="5c000000 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 0ad7a3bd 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="40feffff 00000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008041 a6922b3c a692ab3b fc0f933b fdad803b", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 03000000 06000000 08000000 0a000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 0000c041 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="c4010000 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 8fc275bd 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="5c000000 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 0ad7a3bd 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="40feffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="850a863e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushf(@nargs=1, @blob="850a863e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + validRad(@mask=0b1, @nargs=1, @blob="0000c041"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="f8f8ffff 00000000"); + ret(@blob=""); +} + + +void RPhantomMBoss() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="10000000 5068616e 746f6d4d 426f7373 00000000 69690000 5e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RPhantomMBoss2() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="10000000 5068616e 746f6d4d 426f7373 32000000 69690000 5e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl00b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30306200 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30310000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl01b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30316200 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30320000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30330000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YPhantomMBoss() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="10000000 5068616e 746f6d4d 426f7373 00000000 69690000 64000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YPhantomMBoss2() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="10000000 5068616e 746f6d4d 426f7373 32000000 69690000 64000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void main() { + stackAlloc(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="20000000"); + wait(@nargs=1, @blob="3c000000"); + wait(@nargs=1, @blob="8c000000"); + playSound(@nargs=1, @blob="35000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 30000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 31000000"); + wait(@nargs=1, @blob="4c040000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 32000000"); + wait(@nargs=1, @blob="be000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000"); + wait(@nargs=1, @blob="78000000"); + playSound(@nargs=1, @blob="35000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 30620000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 31620000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 36000000"); + wait(@nargs=1, @blob="04010000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 33620000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 32620000"); + wait(@nargs=1, @blob="be000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000"); + wait(@nargs=1, @blob="b4000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 36620000"); + wait(@nargs=1, @blob="58020000"); + dialogRead(@nargs=1, @blob="00000000"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 000058c3 00008042 28000000 e8030000 01000000", + ); + deathWait(@blob=""); + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + wait(@nargs=1, @blob="78000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 32000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 36000000"); + wait(@nargs=1, @blob="b4000000"); + dialogRead(@nargs=1, @blob="00000000"); + dialogWait(@blob=""); + deathWait(@blob=""); ++40000: // 40000 + nop(@blob=""); + delete(@blob=""); +} diff --git a/research/stage04.tstd b/research/stage04.tstd new file mode 100644 index 0000000..fdc437b --- /dev/null +++ b/research/stage04.tstd @@ -0,0 +1,206 @@ +#pragma mapfile "utils/th095.stdm" + +meta { + unknown: 0, + anm_path: "stage04.anm", + objects: { + object0: { + layer: 0, + pos: [384.0, 0.0, 0.0], + size: [1792.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 1, + pos: [-128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 2, + pos: [-128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 1, + pos: [128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 2, + pos: [128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [-384.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [1152.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [896.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [640.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [384.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + ], + }, + object1: { + layer: 0, + pos: [0.0, 0.0, 0.0], + size: [1024.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 5, + pos: [-128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 6, + pos: [-128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 5, + pos: [128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 6, + pos: [128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [384.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [-384.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + ], + }, + object2: { + layer: 0, + pos: [384.0, 0.0, 0.0], + size: [1792.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 3, + pos: [-128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 4, + pos: [-128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 3, + pos: [128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 4, + pos: [128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [-384.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [1152.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [896.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [640.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [384.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + ], + }, + }, + instances: [ + object0 {pos: [0.0, 512.0, 0.0]}, + object0 {pos: [0.0, 768.0, 0.0]}, + object0 {pos: [0.0, 1024.0, 0.0]}, + object2 {pos: [0.0, 1280.0, 0.0]}, + object1 {pos: [0.0, 1536.0, 0.0]}, + object1 {pos: [0.0, 1792.0, 0.0]}, + object1 {pos: [0.0, 2048.0, 0.0]}, + object1 {pos: [0.0, 2304.0, 0.0]}, + ], +} + + +script main { + up(0.0, 1.0, 0.0); + fov(0.62831855); + fog(0xff000000, 200.0, 800.0); + fogTime(512, 0, 0xff000000, 400.0, 1200.0); + facing(200.0, 200.0, 300.0); + facingTime(320, 0, 0.0, 200.0, 300.0); + pos(0.0, 250.0, -800.0); + fogTime(160, 0, 0xff200000, 1000.0, 1200.0); + posTime(120, 4, 640.0, 442.0, -700.0); ++120: // 120 + pos(640.0, 442.0, -700.0); + posTime(30, 1, 640.0, 490.0, -650.0); ++30: // 150 + posTime(30, 4, 640.0, 538.0, -600.0); ++30: // 180 + pos(640.0, 538.0, -600.0); + posTime(60, 1, 320.0, 634.0, -600.0); ++60: // 240 + pos(320.0, 634.0, -600.0); + posTime(80, 4, 0.0, 730.0, -600.0); ++80: // 320 + pos(0.0, 730.0, -600.0); + pos(0.0, 730.0, -600.0); + posTime(1024, 0, 0.0, 1242.0, -600.0); ++1024: // 1344 + pos(0.0, 730.0, -600.0); + posTime(1024, 0, 0.0, 1242.0, -600.0); ++1024: // 2368 + pos(0.0, 730.0, -600.0); + posTime(700, 0, 0.0, 1080.0, -600.0); ++700: // 3068 + pos(0.0, 824.0, -600.0); + posTime(128, 4, 0.0, 856.0, -600.0); ++128: // 3196 + pos(0.0, 856.0, -600.0); ++60: // 3256 + pos(0.0, 856.0, -600.0); + rockingMode(5); + loop { + pos(0.0, 1112.0, -600.0); + posTime(512, 0, 0.0, 856.0, -600.0); ++512: // 3768 + } +} diff --git a/research/stage05.tanm b/research/stage05.tanm new file mode 100644 index 0000000..86d1e57 --- /dev/null +++ b/research/stage05.tanm @@ -0,0 +1,381 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "background/stage05/stage05a.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 11, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}, + sprite1: {x: 224.0, y: 0.0, w: 32.0, h: 256.0}, + sprite2: {x: 32.0, y: 0.0, w: 32.0, h: 256.0}, + sprite3: {x: 192.0, y: 0.0, w: 32.0, h: 256.0}, + sprite4: {x: 64.0, y: 0.0, w: 32.0, h: 256.0}, + sprite5: {x: 160.0, y: 0.0, w: 32.0, h: 256.0}, + sprite6: {x: 96.0, y: 0.0, w: 32.0, h: 256.0}, + sprite7: {x: 128.0, y: 0.0, w: 32.0, h: 256.0}, + sprite8: {x: 128.0, y: 0.0, w: 32.0, h: 256.0}, + sprite9: {x: 96.0, y: 0.0, w: 32.0, h: 256.0}, + sprite10: {x: 160.0, y: 0.0, w: 32.0, h: 256.0}, + sprite11: {x: 64.0, y: 0.0, w: 32.0, h: 256.0}, + sprite12: {x: 192.0, y: 0.0, w: 32.0, h: 256.0}, + sprite13: {x: 32.0, y: 0.0, w: 32.0, h: 256.0}, + sprite14: {x: 224.0, y: 0.0, w: 32.0, h: 256.0}, + sprite15: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}, + }, +} + + +script 0 script0 { + type(8); + sprite(sprite0); + rotate(0.0, -0.98901993, 0.0); + pos(-262.78854, 0.0, 5.120286); + scrollY(0.005); + stop(); +} + + +script 1 script1 { + type(8); + sprite(sprite1); + rotate(0.0, 0.98901993, 0.0); + pos(262.78854, 0.0, 5.120286); + scrollY(0.005); + stop(); +} + + +script 2 script2 { + type(8); + sprite(sprite2); + rotate(0.0, -0.87266463, 0.0); + pos(-237.37227, 0.0, 39.260265); + scrollY(0.005); + stop(); +} + + +script 3 script3 { + type(8); + sprite(sprite3); + rotate(0.0, 0.87266463, 0.0); + pos(237.37227, 0.0, 39.260265); + scrollY(0.005); + stop(); +} + + +script 4 script4 { + type(8); + sprite(sprite4); + rotate(0.0, -0.75630933, 0.0); + pos(-208.16444, 0.0, 70.21875); + scrollY(0.005); + stop(); +} + + +script 5 script5 { + type(8); + sprite(sprite5); + rotate(0.0, 0.75630933, 0.0); + pos(208.16444, 0.0, 70.21875); + scrollY(0.005); + stop(); +} + + +script 6 script6 { + type(8); + sprite(sprite6); + rotate(0.0, -0.63995403, 0.0); + pos(-175.56004, 0.0, 97.57709); + scrollY(0.005); + stop(); +} + + +script 7 script7 { + type(8); + sprite(sprite7); + rotate(0.0, 0.63995403, 0.0); + pos(175.56004, 0.0, 97.57709); + scrollY(0.005); + stop(); +} + + +script 8 script8 { + type(8); + sprite(sprite8); + rotate(0.0, -0.5235988, 0.0); + pos(-140.0, 0.0, 120.9653); + scrollY(0.005); + stop(); +} + + +script 9 script9 { + type(8); + sprite(sprite9); + rotate(0.0, 0.5235988, 0.0); + pos(140.0, 0.0, 120.9653); + scrollY(0.005); + stop(); +} + + +script 10 script10 { + type(8); + sprite(sprite10); + rotate(0.0, -0.4072435, 0.0); + pos(-101.965195, 0.0, 140.0671); + scrollY(0.005); + stop(); +} + + +script 11 script11 { + type(8); + sprite(sprite11); + rotate(0.0, 0.4072435, 0.0); + pos(101.965195, 0.0, 140.0671); + scrollY(0.005); + stop(); +} + + +script 12 script12 { + type(8); + sprite(sprite12); + rotate(0.0, -0.29088822, 0.0); + pos(-61.969982, 0.0, 154.62416); + scrollY(0.005); + stop(); +} + + +script 13 script13 { + type(8); + sprite(sprite13); + rotate(0.0, 0.29088822, 0.0); + pos(61.969982, 0.0, 154.62416); + scrollY(0.005); + stop(); +} + + +script 14 script14 { + type(8); + sprite(sprite14); + rotate(0.0, -0.17453292, 0.0); + pos(-20.555233, 0.0, 164.43964); + scrollY(0.005); + stop(); +} + + +script 15 script15 { + type(8); + sprite(sprite15); + rotate(0.0, 0.17453292, 0.0); + pos(20.555233, 0.0, 164.43964); + scrollY(0.005); + stop(); +} + + +entry { + path: "background/stage05/stage05b.png", + img_width: 256, + img_height: 256, + memory_priority: 11, + sprites: { + sprite16: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}, + sprite17: {x: 32.0, y: 0.0, w: 32.0, h: 256.0}, + sprite18: {x: 64.0, y: 0.0, w: 32.0, h: 256.0}, + sprite19: {x: 96.0, y: 0.0, w: 32.0, h: 256.0}, + sprite20: {x: 128.0, y: 0.0, w: 32.0, h: 256.0}, + sprite21: {x: 160.0, y: 0.0, w: 32.0, h: 256.0}, + sprite22: {x: 192.0, y: 0.0, w: 32.0, h: 256.0}, + sprite23: {x: 224.0, y: 0.0, w: 32.0, h: 256.0}, + }, +} + + +script 16 script16 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite16); + rotate(0.0, -0.98901993, 0.0); + pos(-262.78854, 0.0, 5.120286); + stop(); +} + + +script 17 script17 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite16); + rotate(0.0, 4.1306124, 0.0); + pos(262.78854, 0.0, 5.120286); + stop(); +} + + +script 18 script18 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite17); + rotate(0.0, -0.87266463, 0.0); + pos(-237.37227, 0.0, 39.260265); + stop(); +} + + +script 19 script19 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite17); + rotate(0.0, 4.0142574, 0.0); + pos(237.37227, 0.0, 39.260265); + stop(); +} + + +script 20 script20 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite18); + rotate(0.0, -0.75630933, 0.0); + pos(-208.16444, 0.0, 70.21875); + stop(); +} + + +script 21 script21 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite18); + rotate(0.0, 3.897902, 0.0); + pos(208.16444, 0.0, 70.21875); + stop(); +} + + +script 22 script22 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite19); + rotate(0.0, -0.63995403, 0.0); + pos(-175.56004, 0.0, 97.57709); + stop(); +} + + +script 23 script23 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite19); + rotate(0.0, 3.7815468, 0.0); + pos(175.56004, 0.0, 97.57709); + stop(); +} + + +script 24 script24 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite20); + rotate(0.0, -0.5235988, 0.0); + pos(-140.0, 0.0, 120.9653); + stop(); +} + + +script 25 script25 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite20); + rotate(0.0, 3.6651914, 0.0); + pos(140.0, 0.0, 120.9653); + stop(); +} + + +script 26 script26 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite21); + rotate(0.0, -0.4072435, 0.0); + pos(-101.965195, 0.0, 140.0671); + stop(); +} + + +script 27 script27 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite21); + rotate(0.0, 3.5488362, 0.0); + pos(101.965195, 0.0, 140.0671); + stop(); +} + + +script 28 script28 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite22); + rotate(0.0, -0.29088822, 0.0); + pos(-61.969982, 0.0, 154.62416); + stop(); +} + + +script 29 script29 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite22); + rotate(0.0, 3.4324808, 0.0); + pos(61.969982, 0.0, 154.62416); + stop(); +} + + +script 30 script30 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite23); + rotate(0.0, -0.17453292, 0.0); + pos(-20.555233, 0.0, 164.43964); + stop(); +} + + +script 31 script31 { + type(8); + color(255, 0, 0); + alpha(128); + sprite(sprite23); + rotate(0.0, 3.3161256, 0.0); + pos(20.555233, 0.0, 164.43964); + stop(); +} diff --git a/research/stage05.tecl b/research/stage05.tecl new file mode 100644 index 0000000..d3436db --- /dev/null +++ b/research/stage05.tecl @@ -0,0 +1,1748 @@ +#pragma mapfile "utils/th11.eclm" + +meta { + anim: ["enemy.anm", "stgenm05.anm"], + ecli: ["default.ecl", "stage05mboss.ecl", "stage05boss.ecl"], +} + + +void BCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=4, + @blob="08000000 43697230 30000000 69690000 57000000 69690000 2d000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=4, + @blob="08000000 43697230 31000000 69690000 57000000 69690000 2d000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=4, + @blob="08000000 43697230 32000000 69690000 4b000000 69690000 2d000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BPhantom00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 30000000 69690000 62000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BPhantom01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 31000000 69690000 62000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BPhantom02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 32000000 69690000 62000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void Cir00() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="0f000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + playSound(@nargs=1, @blob="22000000"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 01000000"); + dropExtra(@nargs=2, @blob="02000000 04000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + moveCircle( + @mask=0b1, + @nargs=4, + @blob="00381cc6 db0fc93d 00009042 000080bf", + ); + moveVelRel(@nargs=2, @blob="db0fc9bf 0000803f"); + moveVelRelTime(@nargs=4, @blob="3c000000 04000000 f02374c9 00000000"); ++60: // 60 + flagClear(@nargs=1, @blob="0f000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + moveCircle(@nargs=4, @blob="f02374c9 f02374c9 f02374c9 00000000"); + callAsync(@nargs=1, @blob="0c000000 52436972 30305f61 74000000"); ++120: // 180 + moveVelRel(@nargs=2, @blob="db0fc93f 00000000"); + moveVelRelTime(@nargs=4, @blob="3c000000 04000000 f02374c9 0000803f"); + wait(@nargs=1, @blob="3c000000"); + moveVelRelTime(@nargs=4, @blob="78000000 01000000 f02374c9 000080bf"); + jmp(@nargs=2, @blob="2c000000 b4000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff b4000000"); + ret(@blob=""); +} + + +void Cir01() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="0f000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + playSound(@nargs=1, @blob="22000000"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 0a000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + moveCircle( + @mask=0b1, + @nargs=4, + @blob="00381cc6 db0fc93d 00009042 000080bf", + ); + moveVelRel(@nargs=2, @blob="db0fc9bf 0000803f"); + moveVelRelTime(@nargs=4, @blob="3c000000 04000000 f02374c9 00000000"); ++60: // 60 + flagClear(@nargs=1, @blob="0f000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + moveCircle(@nargs=4, @blob="f02374c9 f02374c9 f02374c9 00000000"); + callAsync(@nargs=1, @blob="0c000000 52436972 30315f61 74000000"); ++500: // 560 + moveVelRel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelRelTime(@nargs=4, @blob="78000000 01000000 f02374c9 0000803f"); + jmp(@nargs=2, @blob="2c000000 30020000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 30020000"); + ret(@blob=""); +} + + +void Cir02() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 01000000"); + dropExtra(@nargs=2, @blob="02000000 02000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + callAsync(@nargs=1, @blob="0c000000 52436972 30325f61 74000000"); + moveVel(@nargs=2, @blob="db0fc93f 00004040"); + wait(@nargs=1, @blob="3c000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 00000000 f02374c9"); + wait(@nargs=1, @blob="3c000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 db0fc93f f02374c9"); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void GCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="03000000"); + call( + @nargs=4, + @blob="08000000 43697230 30000000 69690000 54000000 69690000 2f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="03000000"); + call( + @nargs=4, + @blob="08000000 43697230 31000000 69690000 54000000 69690000 2f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="03000000"); + call( + @nargs=4, + @blob="08000000 43697230 32000000 69690000 48000000 69690000 2f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GPhantom00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 30000000 69690000 60000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GPhantom01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 31000000 69690000 60000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GPhantom02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 32000000 69690000 60000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void MainBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); ++60: // 60 + dialogRead(@nargs=1, @blob="ffffffff"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 00005843 00008042 28000000 e8030000 01000000", + ); + ins_500(@nargs=1, @blob="64000000"); + dialogWait(@blob=""); + deathWait(@blob=""); ++60: // 120 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + ret(@blob=""); + ret(@blob=""); +} + + +void MainMBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 00004043 000000c2 28000000 10270000 01000000", + ); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void MainMsgDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + ins_500(@nargs=1, @blob="64000000"); ++120: // 120 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); ++1: // 121 + dialogWait(@blob=""); ++60: // 181 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="28000000 55100000"); ++4000: // 4181 + nop(@blob=""); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="dcffffff b5000000"); + ret(@blob=""); +} + + +void MainSub00() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="60ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="60000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="a0010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + mulf(@blob=""); + addf(@blob=""); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 00000000 000080bf 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="04000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="04000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="64feffff 00000000"); + wait(@nargs=1, @blob="e6000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="a0000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="10000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="80000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="a0010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + mulf(@blob=""); + addf(@blob=""); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 52506861 6e746f6d 30300000 00000000 000080bf 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="04000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="06000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="64feffff 00000000"); + wait(@nargs=1, @blob="f0000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="60ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="10000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="a0000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="7c020000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + mulf(@blob=""); + addf(@blob=""); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 00000000 000080bf 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + mulf(@blob=""); + addf(@blob=""); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + subf(@blob=""); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="0c000000 52506861 6e746f6d 30300000 000080bf 000080bf 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="04000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="06000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="88fdffff 00000000"); + ret(@blob=""); +} + + +void MainSub00b() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="58010000 00000000"); + pushi(@nargs=1, @blob="20000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + muli(@blob=""); + addi(@blob=""); + enmCreateM( + @mask=0b100, + @nargs=6, + @blob="08000000 52436972 30300000 00008042 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@nargs=1, @blob="20000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + muli(@blob=""); + addi(@blob=""); + enmCreateM( + @mask=0b100, + @nargs=6, + @blob="08000000 52436972 30300000 00008043 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="acfeffff 00000000"); + ret(@blob=""); +} + + +void MainSub01() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 0000c0c2 00000043 e8030000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 0000c042 00000043 e8030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="a0000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 00000000 00000043 e8030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="a0000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 00000043 00000043 bc020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="a0000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 000000c3 00000043 bc020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="aa000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 00007042 00000043 bc020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="a0000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 000070c2 00000043 bc020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="a0000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 00000000 00000043 bc020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="b4000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 0000c0c2 00000043 58020000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30300000 0000c042 00000043 58020000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub02() { + stackAlloc(@nargs=1, @blob="04000000"); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30310000 00000000 00000043 a00f0000 e8030000 02000000", + ); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 32620000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="4c030000 00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b100, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30310000 000060c3 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b100, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30310000 000060c3 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b100, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30310000 000060c3 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30310000 000060c3 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b100, + @nargs=6, + @blob="0c000000 52506861 6e746f6d 30310000 000060c3 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="b8fcffff 00000000"); + ret(@blob=""); +} + + +void MainSub02b() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="4c030000 00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAM( + @mask=0b100, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30310000 00006043 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAM( + @mask=0b100, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30310000 00006043 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAM( + @mask=0b100, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30310000 00006043 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAM( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30310000 00006043 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAM( + @mask=0b100, + @nargs=6, + @blob="0c000000 52506861 6e746f6d 30310000 00006043 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="b8fcffff 00000000"); + ret(@blob=""); +} + + +void MainSub03() { + stackAlloc(@nargs=1, @blob="00000000"); + playSound(@nargs=1, @blob="35000000"); + wait(@nargs=1, @blob="3c000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 00004043 000000c2 b80b0000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub04() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="28000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="60010000 00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAMF( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30320000 00006043 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAF( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30320000 000060c3 000080bf 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="a4feffff 00000000"); + ret(@blob=""); +} + + +void MainSub05() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="60ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAMF( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30320000 00006043 000080bf 64000000 e8030000 02000000", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 00000000 000000c2 50000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="10000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="a0000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAF( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30320000 000060c3 000080bf 64000000 e8030000 02000000", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAMF( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 00000000 000000c2 50000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="10000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="e0ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAMF( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30320000 00006043 000080bf 64000000 e8030000 02000000", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAMF( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 00000000 000000c2 50000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="10000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="20000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAF( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30320000 000060c3 000080bf 64000000 e8030000 02000000", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 00000000 000000c2 50000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="10000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="60ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAMF( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30320000 00006043 000080bf 64000000 e8030000 02000000", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 00000000 000000c2 50000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="10000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="a0000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAF( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30320000 000060c3 000080bf 64000000 e8030000 02000000", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAMF( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 00000000 000000c2 50000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="10000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="e0ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAMF( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30320000 00006043 000080bf 64000000 e8030000 02000000", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAMF( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 00000000 000000c2 50000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="10000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="20000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAF( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30320000 000060c3 000080bf 64000000 e8030000 02000000", + ); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAF( + @mask=0b10, + @nargs=6, + @blob="08000000 42436972 30320000 00000000 000000c2 50000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="10000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="5cffffff 00000000"); + ret(@blob=""); +} + + +void MainSub06() { + stackAlloc(@nargs=1, @blob="04000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36620000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36630000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="4c030000 00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b100, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30310000 000060c3 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b100, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30310000 000060c3 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b100, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30310000 000060c3 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30310000 000060c3 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b100, + @nargs=6, + @blob="0c000000 52506861 6e746f6d 30310000 000060c3 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="b8fcffff 00000000"); + ret(@blob=""); +} + + +void MainSub06b() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="4c030000 00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAM( + @mask=0b100, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30310000 00006043 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAM( + @mask=0b100, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30310000 00006043 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAM( + @mask=0b100, + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30310000 00006043 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAM( + @mask=0b100, + @nargs=6, + @blob="0c000000 47506861 6e746f6d 30310000 00006043 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateAM( + @mask=0b100, + @nargs=6, + @blob="0c000000 52506861 6e746f6d 30310000 00006043 000080bf 1e000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="b8fcffff 00000000"); + ret(@blob=""); +} + + +void MainSub06c() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30310000 00000000 00000043 b80b0000 e8030000 02000000", + ); + wait(@nargs=1, @blob="90010000"); + enmCreateA( + @nargs=6, + @blob="08000000 42436972 30310000 00000000 00000043 a00f0000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MapleEnemy() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + anmPlayAbs(@nargs=2, @blob="00000000 ab000000"); ++3: // 3 + jmp(@nargs=2, @blob="e8ffffff 00000000"); + delete(@blob=""); +} + + +void PCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + call( + @nargs=4, + @blob="08000000 43697230 30000000 69690000 5a000000 69690000 30000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + call( + @nargs=4, + @blob="08000000 43697230 31000000 69690000 5a000000 69690000 30000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void PCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + call( + @nargs=4, + @blob="08000000 43697230 32000000 69690000 4e000000 69690000 30000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void Phantom00() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + playSound(@nargs=1, @blob="2e000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + wait(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="40000000"); + flagClear(@nargs=1, @blob="03000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ffffffff 10000000 5068616e 746f6d30 305f6174 00000000", + ); + moveVel(@mask=0b1, @nargs=2, @blob="00381cc6 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 cdccccbd"); ++160: // 160 + nop(@blob=""); + call(@nargs=1, @blob="10000000 5068616e 746f6d30 305f6174 32000000"); + ret(@blob=""); +} + + +void Phantom00_at() { + stackAlloc(@nargs=1, @blob="00000000"); + call(@nargs=1, @blob="10000000 5068616e 746f6d30 305f6174 42000000"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 02000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void Phantom00_at2() { + stackAlloc(@nargs=1, @blob="00000000"); + call(@nargs=1, @blob="10000000 5068616e 746f6d30 305f6174 42000000"); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void Phantom00_atB() { + stackAlloc(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 0c000000 10000000 14000000 18000000 01000000 03000000 06000000 08000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 00004040 00004040 00008040 0000a040 0000c03f 0000c03f 0000c03f 0000c03f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void Phantom01() { + stackAlloc(@nargs=1, @blob="0c000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + wait(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="40000000"); + flagClear(@nargs=1, @blob="03000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ffffffff 10000000 5068616e 746f6d30 315f6174 00000000", + ); + pushf(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + moveVelRel(@mask=0b1, @nargs=2, @blob="00000041 0000803f"); + moveEllipse( + @mask=0b10001, + @nargs=6, + @blob="00381cc6 5077563d 00000000 0000803e 00000041 00000000", + ); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void Phantom01_at() { + stackAlloc(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 03000000 03000000 01000000 03000000 05000000 05000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a863f"); + etSpeedD( + @nargs=9, + @blob="00000000 66660640 66660640 66664640 33338340 9a99d93f 9a99d93f 9a99d93f 9a99d93f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + dropItems(@blob=""); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void Phantom01_at2() { + stackAlloc(@nargs=1, @blob="00000000"); + call(@nargs=1, @blob="10000000 5068616e 746f6d30 315f6174 42000000"); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void Phantom01_atB() { + stackAlloc(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 03000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 66660640 9a99d93f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void Phantom02() { + stackAlloc(@nargs=1, @blob="0c000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + wait(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="40000000"); + flagClear(@nargs=1, @blob="03000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ffffffff 10000000 5068616e 746f6d30 325f6174 00000000", + ); + pushf(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + moveVelRel(@mask=0b1, @nargs=2, @blob="00000041 0000c03f"); + moveEllipse( + @mask=0b10001, + @nargs=6, + @blob="00381cc6 5077563d 00000000 0000803e 00000041 00000000", + ); + callAsync(@nargs=1, @blob="10000000 5068616e 746f6d30 325f6174 32000000"); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void Phantom02_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 03000000 05000000 01000000 03000000 05000000 05000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a863f"); + etSpeedD( + @nargs=9, + @blob="00000000 66660640 66660640 66664640 33338340 9a99d93f 9a99d93f 9a99d93f 9a99d93f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + dropItems(@blob=""); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void Phantom02_at2() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 18000000 0f000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="3c000000"); + modi(@blob=""); + wait(@mask=0b1, @nargs=1, @blob="ffffffff"); + jmp(@nargs=2, @blob="d0010000 00000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 10000000 10000000 18000000 20000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="20010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + pushf(@nargs=1, @blob="0000003f"); + addf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + 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="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="e4feffff 00000000"); + diffWait(@nargs=4, @blob="f0000000 3c000000 3c000000 3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="34feffff 00000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void RCir00() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=4, + @blob="08000000 43697230 30000000 69690000 51000000 69690000 2e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir00_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 05000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 03000000"); + etCountD( + @nargs=9, + @blob="00000000 10000000 10000000 10000000 10000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 db0fc93f 5077563d"); + etSpeedD( + @nargs=9, + @blob="00000000 00004040 00004040 00004040 00004040 0000803f 0000803f 0000803f 0000803f", + ); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etDist(@nargs=2, @blob="00000000 00000042"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 00000000"); + etSprite(@nargs=3, @blob="01000000 02000000 02000000"); + etCount(@nargs=3, @blob="01000000 02000000 02000000"); + etAngle(@nargs=3, @blob="01000000 00000000 db0fc93f"); + etSpeed(@nargs=3, @blob="01000000 00000040 0000803f"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 0000803f 9a99993f 00000040 00004040", + ); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="01000000 01000000 00000000 20000000 5a000000 01000000 00000000 00008040", + ); + callAsync(@nargs=1, @blob="0c000000 52436972 30305f61 74320000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 03000000 64000000 14000000 14000000", + ); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="78000000 3c000000 1e000000 14000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void RCir00_at2() { + stackAlloc(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="78000000 50000000 1e000000 1e000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void RCir01() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=4, + @blob="08000000 43697230 31000000 69690000 51000000 69690000 2e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir01_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 05000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 03000000"); + etCountD( + @nargs=9, + @blob="00000000 10000000 10000000 14000000 14000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 db0fc93f 5077563d"); + etSpeedD( + @nargs=9, + @blob="00000000 00004040 00004040 00008040 0000a040 0000803f 0000803f 0000803f 0000803f", + ); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etDist(@nargs=2, @blob="00000000 00000042"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 00000000"); + etSprite(@nargs=3, @blob="01000000 02000000 02000000"); + etCount(@nargs=3, @blob="01000000 02000000 02000000"); + etAngle(@nargs=3, @blob="01000000 00000000 db0fc93f"); + etSpeed(@nargs=3, @blob="01000000 00000040 0000803f"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 20000000 5a000000 01000000 00000000 00000040", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 03000000 64000000 14000000 14000000", + ); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="3c000000 0f000000 0a000000 0f000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void RCir01_at2() { + stackAlloc(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="3c000000 1e000000 0f000000 0f000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void RCir02() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=4, + @blob="08000000 43697230 32000000 69690000 45000000 69690000 2e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RCir02_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 03000000 05000000 05000000 05000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 35fa8e3c"); + etSpeedD( + @nargs=9, + @blob="00000000 00000040 00004040 00008040 00008040 0000003f 0000003f 0000003f 0000003f", + ); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + etDist(@nargs=2, @blob="00000000 00000042"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 00000000"); + etSprite(@nargs=3, @blob="01000000 03000000 0a000000"); + etCountD( + @nargs=9, + @blob="01000000 03000000 05000000 05000000 05000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="01000000 00000000 35fa8e3c"); + etSpeedD( + @nargs=9, + @blob="01000000 0000803f 0000803f 0000803f 0000803f 0000003f 0000003f 0000003f 0000003f", + ); + etSound(@nargs=3, @blob="01000000 07000000 ffffffff"); + etDist(@nargs=2, @blob="01000000 00000042"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 03000000 06000000 09000000 0c000000", + ); + jmp(@nargs=2, @blob="ac000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + etAngle(@nargs=3, @blob="01000000 db0fc93f 35fa8e3c"); + etOn(@nargs=1, @blob="01000000"); + etAngle(@nargs=3, @blob="01000000 db0fc9bf 35fa8e3c"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="3c000000 1e000000 14000000 0f000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="58ffffff 00000000"); + ret(@blob=""); +} + + +void RCir02_at2() { + stackAlloc(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="3c000000 1e000000 0f000000 0f000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void RPhantom00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 30000000 69690000 5e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RPhantom01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 31000000 69690000 5e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RPhantom02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 32000000 69690000 5e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YPhantom00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 30000000 69690000 64000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YPhantom01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 31000000 69690000 64000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YPhantom02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 32000000 69690000 64000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void main() { + stackAlloc(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="20000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 4d61706c 65456e65 6d790000 00000000 000080c1 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + wait(@nargs=1, @blob="5a000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 30000000"); + wait(@nargs=1, @blob="f4010000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 31000000"); + wait(@nargs=1, @blob="90010000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 32000000"); + wait(@nargs=1, @blob="a0000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000"); + wait(@nargs=1, @blob="08070000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000"); + wait(@nargs=1, @blob="f0000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000"); + wait(@nargs=1, @blob="64000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 36000000"); + wait(@nargs=1, @blob="c8000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 30000000"); + wait(@nargs=1, @blob="f0000000"); + dialogRead(@nargs=1, @blob="00000000"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 00005843 00008042 28000000 e8030000 01000000", + ); + deathWait(@blob=""); + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); ++40000: // 40000 + nop(@blob=""); + delete(@blob=""); +} diff --git a/research/stage05.tstd b/research/stage05.tstd new file mode 100644 index 0000000..5cbd6a0 --- /dev/null +++ b/research/stage05.tstd @@ -0,0 +1,334 @@ +#pragma mapfile "utils/th095.stdm" + +meta { + unknown: 0, + anm_path: "stage05.anm", + objects: { + object0: { + layer: 0, + pos: [0.0, 128.0, -240.0], + size: [42.0, -256.0, 0.0], + quads: [ + rect { + anm_script: 0, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 1, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 2, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 3, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 4, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 5, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 6, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 7, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 8, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 9, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 10, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 11, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 12, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 13, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 14, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + rect { + anm_script: 15, + pos: [0.0, 128.0, -240.0], + size: [43.0, -256.0], + }, + ], + }, + object1: { + layer: 1, + pos: [0.0, 0.0, -260.0], + size: [42.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 16, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 17, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 18, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 19, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 20, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 21, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 22, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 23, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 24, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 25, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 26, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 27, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 28, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 29, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 30, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + rect { + anm_script: 31, + pos: [0.0, 0.0, -260.0], + size: [43.0, 256.0], + }, + ], + }, + object2: { + layer: 1, + pos: [0.0, 128.0, -235.22003], + size: [42.0, -256.0, 159.31935], + quads: [ + rect { + anm_script: 16, + pos: [0.0, 128.0, -314.8797], + size: [43.0, -256.0], + }, + rect { + anm_script: 17, + pos: [0.0, 128.0, -314.8797], + size: [43.0, -256.0], + }, + rect { + anm_script: 18, + pos: [0.0, 128.0, -280.73975], + size: [43.0, -256.0], + }, + rect { + anm_script: 19, + pos: [0.0, 128.0, -280.73975], + size: [43.0, -256.0], + }, + rect { + anm_script: 20, + pos: [0.0, 128.0, -249.78125], + size: [43.0, -256.0], + }, + rect { + anm_script: 21, + pos: [0.0, 128.0, -249.78125], + size: [43.0, -256.0], + }, + rect { + anm_script: 22, + pos: [0.0, 128.0, -222.42291], + size: [43.0, -256.0], + }, + rect { + anm_script: 23, + pos: [0.0, 128.0, -222.42291], + size: [43.0, -256.0], + }, + rect { + anm_script: 24, + pos: [0.0, 128.0, -199.0347], + size: [43.0, -256.0], + }, + rect { + anm_script: 25, + pos: [0.0, 128.0, -199.0347], + size: [43.0, -256.0], + }, + rect { + anm_script: 26, + pos: [0.0, 128.0, -179.9329], + size: [43.0, -256.0], + }, + rect { + anm_script: 27, + pos: [0.0, 128.0, -179.9329], + size: [43.0, -256.0], + }, + rect { + anm_script: 28, + pos: [0.0, 128.0, -165.37584], + size: [43.0, -256.0], + }, + rect { + anm_script: 29, + pos: [0.0, 128.0, -165.37584], + size: [43.0, -256.0], + }, + rect { + anm_script: 30, + pos: [0.0, 128.0, -155.56036], + size: [43.0, -256.0], + }, + rect { + anm_script: 31, + pos: [0.0, 128.0, -155.56036], + size: [43.0, -256.0], + }, + ], + }, + }, + instances: [ + object0 {pos: [0.0, 512.0, 0.0]}, + object1 {pos: [0.0, 512.0, 0.0]}, + object0 {pos: [0.0, 256.0, 0.0]}, + object1 {pos: [0.0, 256.0, 0.0]}, + object0 {pos: [0.0, 0.0, 0.0]}, + object1 {pos: [0.0, 0.0, 0.0]}, + object0 {pos: [0.0, -256.0, 0.0]}, + object1 {pos: [0.0, -256.0, 0.0]}, + object0 {pos: [0.0, -512.0, 0.0]}, + object1 {pos: [0.0, -512.0, 0.0]}, + object0 {pos: [0.0, -768.0, 0.0]}, + object1 {pos: [0.0, -768.0, 0.0]}, + object0 {pos: [0.0, -1024.0, 0.0]}, + object1 {pos: [0.0, -1024.0, 0.0]}, + object0 {pos: [0.0, -1280.0, 0.0]}, + object1 {pos: [0.0, -1280.0, 0.0]}, + object0 {pos: [0.0, -1536.0, 0.0]}, + object1 {pos: [0.0, -1536.0, 0.0]}, + object0 {pos: [0.0, -1792.0, 0.0]}, + object1 {pos: [0.0, -1792.0, 0.0]}, + object0 {pos: [0.0, -2048.0, 0.0]}, + object1 {pos: [0.0, -2048.0, 0.0]}, + object0 {pos: [0.0, -2304.0, 0.0]}, + object1 {pos: [0.0, -2304.0, 0.0]}, + object0 {pos: [0.0, -2560.0, 0.0]}, + object1 {pos: [0.0, -2560.0, 0.0]}, + object0 {pos: [0.0, -2816.0, 0.0]}, + object1 {pos: [0.0, -2816.0, 0.0]}, + object0 {pos: [0.0, -3072.0, 0.0]}, + object1 {pos: [0.0, -3072.0, 0.0]}, + object0 {pos: [0.0, -3328.0, 0.0]}, + object1 {pos: [0.0, -3328.0, 0.0]}, + object0 {pos: [0.0, -3584.0, 0.0]}, + object1 {pos: [0.0, -3584.0, 0.0]}, + object0 {pos: [0.0, -3840.0, 0.0]}, + object1 {pos: [0.0, -3840.0, 0.0]}, + object0 {pos: [0.0, -4096.0, 0.0]}, + object1 {pos: [0.0, -4096.0, 0.0]}, + object0 {pos: [0.0, -4352.0, 0.0]}, + object1 {pos: [0.0, -4352.0, 0.0]}, + object0 {pos: [0.0, -4608.0, 0.0]}, + object1 {pos: [0.0, -4608.0, 0.0]}, + object0 {pos: [0.0, -4864.0, 0.0]}, + object1 {pos: [0.0, -4864.0, 0.0]}, + object0 {pos: [0.0, -5120.0, 0.0]}, + object1 {pos: [0.0, -5120.0, 0.0]}, + ], +} + + +script main { + up(0.0, 1.0, 0.0); + fov(0.62831855); + fog(0xff000000, 200.0, 250.0); + fogTime(1200, 0, 0xff800000, 500.0, 900.0); + pos(0.0, 0.0, -700.0); + facing(0.0, -300.0, 330.0); + rockingMode(1); + distortion(1); + loop { + pos(0.0, 0.0, -700.0); + posTime(2048, 0, 0.0, -1024.0, -700.0); ++2048: // 2048 + } +} diff --git a/research/stage05boss.tecl b/research/stage05boss.tecl new file mode 100644 index 0000000..3e247d3 --- /dev/null +++ b/research/stage05boss.tecl @@ -0,0 +1,2765 @@ +#pragma mapfile "utils/th11.eclm" + +meta {} + + +void BBoss1Girl() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + pushi(@nargs=1, @blob="6d000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 426f7373 31476972 6c000000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BBoss2Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="10000000 426f7373 32506861 6e746f6d 00000000 69690000 62000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BBoss3Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="10000000 426f7373 33506861 6e746f6d 00000000 69690000 62000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BBossCard2Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="14000000 426f7373 43617264 32506861 6e746f6d 00000000 69690000 62000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BBossCard3Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="14000000 426f7373 43617264 33506861 6e746f6d 00000000 69690000 62000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BBossCard4Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="14000000 426f7373 43617264 34506861 6e746f6d 00000000 69690000 62000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void Boss() { + stackAlloc(@nargs=1, @blob="04000000"); + playSound(@nargs=1, @blob="35000000"); + setBoss(@nargs=1, @blob="00000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 0b000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00004042 00004042"); + setInvuln(@nargs=1, @blob="3c000000"); + lifeSet(@nargs=1, @blob="d4300000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + fog(@nargs=2, @blob="00002043 00ff8000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + setChapter(@nargs=1, @blob="18000000"); ++60: // 60 + dialogWait(@blob=""); + setChapter(@nargs=1, @blob="18000000"); + playSound(@nargs=1, @blob="29000000"); + anmSetSprite(@nargs=2, @blob="00000000 08000000"); ++1: // 61 + dialogWait(@blob=""); + anmSetMain(@nargs=2, @blob="00000000 00000000"); + setChapter(@nargs=1, @blob="18000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 0000c042"); + lifeSet(@nargs=1, @blob="d4300000"); + 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 0080bb44 80a0ffff"); + setChapter(@nargs=1, @blob="18000000"); + setInterrupt( + @nargs=4, + @blob="00000000 dc050000 b80b0000 0c000000 426f7373 43617264 31000000", + ); + setChapter(@nargs=1, @blob="18000000"); + stars(@nargs=1, @blob="03000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + callAsync(@nargs=1, @blob="0c000000 426f7373 3141744e 65617200"); + callAsync(@nargs=1, @blob="0c000000 426f7373 31417432 00000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync( + @nargs=3, + @blob="0c000000 426f7373 31417431 00000000 66660000 fdad003d 69690000 06000000", + ); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync( + @nargs=3, + @blob="0c000000 426f7373 31417431 00000000 66660000 fdad00bd 69690000 0a000000", + ); + wait(@nargs=1, @blob="a0000000"); + jmp(@nargs=2, @blob="48010000 00000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync( + @nargs=3, + @blob="0c000000 426f7373 31417431 00000000 66660000 fdad003d 69690000 06000000", + ); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync( + @nargs=3, + @blob="0c000000 426f7373 31417431 00000000 66660000 fdad00bd 69690000 0a000000", + ); + wait(@nargs=1, @blob="78000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 0000803f"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="bcfeffff 00000000"); + ret(@blob=""); +} + + +void Boss1At1() { + stackAlloc(@nargs=1, @blob="1c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b100, @nargs=3, @blob="00000000 05000000 04000000"); + etCountD( + @nargs=9, + @blob="00000000 18000000 20000000 24000000 30000000 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 14000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008041 cdcc4c3d abaaaa3d abaaaa3d abaaaa3d", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 04000000 3c000000 c1bdf0ff 00008041 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="18000000"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 000080bf 000080bf"); + etProtectRange(@nargs=1, @blob="00004042"); + pushi(@nargs=1, @blob="0e000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="20000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="8c000000"); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + jmp(@nargs=2, @blob="9c010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 18000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="00000042"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@mask=0b1, @nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + validRad(@mask=0b1, @nargs=1, @blob="00004041"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="68feffff 00000000"); + ret(@blob=""); +} + + +void Boss1At2() { + stackAlloc(@nargs=1, @blob="08000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 08000000 10000000 11000000 12000000", + ); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + subi(@blob=""); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + jmp(@nargs=2, @blob="c0000000 00000000"); + enmCreate( + @nargs=6, + @blob="0c000000 52426f73 73314769 726c0000 00000000 00000000 64000000 e8030000 02000000", + ); + playSound(@nargs=1, @blob="0f000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="44ffffff 00000000"); + ret(@blob=""); +} + + +void Boss1AtNear() { + stackAlloc(@nargs=1, @blob="04000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="78000000"); + jmp(@nargs=2, @blob="04060000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00601bc6"); + pushf(@nargs=1, @blob="0000c042"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="8c020000 00000000"); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 03000000"); + etSprite(@nargs=3, @blob="02000000 18000000 06000000"); + etCount(@nargs=3, @blob="02000000 01000000 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", + ); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="18000000"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + etOffsetAbs(@mask=0b110, @nargs=3, @blob="02000000 000080bf 000080bf"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + pushf(@nargs=1, @blob="0000003f"); + addf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); + etOn(@nargs=1, @blob="02000000"); + jmp(@nargs=2, @blob="e0020000 00000000"); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 03000000"); + etSprite(@nargs=3, @blob="02000000 18000000 06000000"); + etCount(@nargs=3, @blob="02000000 01000000 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", + ); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="18000000"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + etOffsetAbs(@mask=0b110, @nargs=3, @blob="02000000 000080bf 000080bf"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + pushf(@nargs=1, @blob="0000003f"); + addf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); + etOn(@nargs=1, @blob="02000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="a60a063e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="03000000 03000000 01000000 01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="730f493d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="00faffff 00000000"); + ret(@blob=""); +} + + +void Boss1Girl() { + stackAlloc(@nargs=1, @blob="10000000"); + ins_278(@nargs=1, @blob="02000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="4c040000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ffffffff 10000000 426f7373 31476972 6c446561 64000000", + ); + moveVel(@mask=0b1, @nargs=2, @blob="00f41bc6 0000a040"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000"); ++60: // 60 + nop(@blob=""); + jmp(@nargs=2, @blob="2c000000 3c000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); + ret(@blob=""); +} + + +void Boss1Girl2() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="71000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + anmSelect(@nargs=1, @blob="01000000"); + flagSet(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="02000000 77000000"); + wait(@nargs=1, @blob="3c000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ffffffff 10000000 426f7373 31476972 6c446561 64320000", + ); + anmSetMain(@nargs=2, @blob="00000000 14000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + lifeSet(@nargs=1, @blob="64000000"); + flagSet(@nargs=1, @blob="00040000"); + flagClear(@nargs=1, @blob="03000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + callAsync(@nargs=1, @blob="10000000 426f7373 31476972 6c325f61 74000000"); + jmp(@nargs=2, @blob="fc000000 00000000"); + pushf(@nargs=1, @blob="0000003f"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000003f"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b11, @nargs=2, @blob="000080bf 000080bf"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="08ffffff 00000000"); + ret(@blob=""); +} + + +void Boss1Girl2_at() { + stackAlloc(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="f4010000"); + jmp(@nargs=2, @blob="28010000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 00000000 06000000"); + etCount(@nargs=3, @blob="00000000 03000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 db0f493e"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="dcfeffff 00000000"); + ret(@blob=""); +} + + +void Boss1GirlDead() { + stackAlloc(@nargs=1, @blob="00000000"); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + moveVelTime(@nargs=4, @blob="01000000 00000000 f02374c9 00000000"); + anmReset(@blob=""); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 ffd8ffff"); + flagSet(@nargs=1, @blob="03040000"); + lifeSet(@nargs=1, @blob="a0860100"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00000040"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); + pushi(@nargs=1, @blob="3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="5a000000"); + modi(@blob=""); + addi(@blob=""); + wait(@mask=0b1, @nargs=1, @blob="ffffffff"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + jmp(@nargs=2, @blob="9c000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="38000000 00000000"); + call(@nargs=1, @blob="0c000000 426f7373 31476972 6c320000"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="68ffffff 00000000"); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void Boss1GirlDead2() { + stackAlloc(@nargs=1, @blob="00000000"); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + moveVelTime(@nargs=4, @blob="01000000 00000000 f02374c9 00000000"); + anmReset(@blob=""); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 ffd8ffff"); + flagSet(@nargs=1, @blob="03040000"); + lifeSet(@nargs=1, @blob="a0860100"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + unknown450(@nargs=1, @blob="e8030000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00002040"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 08000000"); + etSprite(@nargs=3, @blob="00000000 00000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 05000000 0c000000 0c000000 14000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 db0f49c0 db0f4940"); + etSpeedD( + @nargs=9, + @blob="00000000 00000040 00000040 00000040 00004040 9a99193f 9a99193f 9a99193f 9a99193f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="a0000000"); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="5a000000"); + modi(@blob=""); + addi(@blob=""); + wait(@mask=0b1, @nargs=1, @blob="ffffffff"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + jmp(@nargs=2, @blob="9c000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="38000000 00000000"); + call(@nargs=1, @blob="0c000000 426f7373 31476972 6c320000"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="68ffffff 00000000"); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void Boss2() { + stackAlloc(@nargs=1, @blob="00000000"); + timerReset(@blob=""); + funcCall(@nargs=1, @blob="04000000"); + 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="08200000"); + setInterrupt( + @nargs=4, + @blob="00000000 98080000 34080000 0c000000 426f7373 43617264 32000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00800945 80a0ffff"); + setChapter(@nargs=1, @blob="19000000"); + 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 0a000000"); + 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"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 0000f042 00000043"); ++60: // 60 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + jmp(@nargs=2, @blob="28020000 3c000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 32417431 00000000"); + wait(@nargs=1, @blob="14000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + wait(@nargs=1, @blob="3c000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + callAsync( + @nargs=3, + @blob="0c000000 426f7373 32417432 00000000 69690000 06000000 66660000 5077d6bc", + ); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 000000c3 00000043"); + wait(@nargs=1, @blob="3c000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 32417431 00000000"); + wait(@nargs=1, @blob="14000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + wait(@nargs=1, @blob="3c000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + callAsync( + @nargs=3, + @blob="0c000000 426f7373 32417432 00000000 69690000 06000000 66660000 5077d63c", + ); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 0000f042 00000043"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="dcfdffff 3c000000"); + ret(@blob=""); +} + + +void Boss2At1() { + stackAlloc(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + diffI( + @mask=0b1, + @nargs=5, + @blob="10000000 05000000 05000000 05000000 09000000", + ); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="2c010000 00000000"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00000000 00008040 00000041 00004042", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="18000000"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="16000000"); + addf(@blob=""); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42426f73 73325068 616e746f 6d000000 000080bf 000080bf c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="d8feffff 00000000"); + ret(@blob=""); +} + + +void Boss2At2() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b100, @nargs=3, @blob="00000000 05000000 00000000"); + etCountD( + @nargs=9, + @blob="00000000 0c000000 18000000 20000000 28000000 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 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 04000000 3c000000 c1bdf0ff abaaaa3d f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="18000000"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 000080bf 000080bf"); + etProtectRange(@nargs=1, @blob="00004042"); + pushi(@nargs=1, @blob="0e000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="20000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="8c000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + jmp(@nargs=2, @blob="9c010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="00008041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + validRad(@mask=0b1, @nargs=1, @blob="00004041"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="68feffff 00000000"); + ret(@blob=""); +} + + +void Boss2Phantom() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + playSound(@nargs=1, @blob="2e000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + wait(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="40000000"); + flagClear(@nargs=1, @blob="03000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ffffffff 10000000 426f7373 32506861 6e746f6d 5f617400", + ); + moveVel(@mask=0b1, @nargs=2, @blob="00381cc6 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 cdccccbd"); ++160: // 160 + nop(@blob=""); + call( + @nargs=1, + @blob="14000000 426f7373 32506861 6e746f6d 5f617432 00000000", + ); + ret(@blob=""); +} + + +void Boss2Phantom_at() { + stackAlloc(@nargs=1, @blob="00000000"); + call( + @nargs=1, + @blob="14000000 426f7373 32506861 6e746f6d 5f617442 00000000", + ); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 01000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void Boss2Phantom_at2() { + stackAlloc(@nargs=1, @blob="00000000"); + call( + @nargs=1, + @blob="14000000 426f7373 32506861 6e746f6d 5f617442 00000000", + ); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void Boss2Phantom_atB() { + stackAlloc(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 0c000000 10000000 10000000 10000000 01000000 03000000 04000000 05000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 00004040 00004040 00008040 0000a040 0000c03f 0000c03f 0000c03f 0000c03f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void Boss3() { + stackAlloc(@nargs=1, @blob="04000000"); + timerReset(@blob=""); + funcCall(@nargs=1, @blob="04000000"); + 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="f4330000"); + setInterrupt( + @nargs=4, + @blob="00000000 fc080000 34080000 0c000000 426f7373 43617264 33000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00c00f45 80a0ffff"); + setChapter(@nargs=1, @blob="1a000000"); + 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 0a000000"); + 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 00000042"); + jmp(@nargs=2, @blob="b8000000 3c000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="0b000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 33417431 00000000"); + wait(@nargs=1, @blob="64000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="46000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="4cffffff 3c000000"); + ret(@blob=""); +} + + +void Boss3At1() { + stackAlloc(@nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + diffI( + @mask=0b1, + @nargs=5, + @blob="10000000 03000000 07000000 09000000 0c000000", + ); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + jmp(@nargs=2, @blob="54010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00000000 00008040 00f41bc6 00004042", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="18000000"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="16000000"); + addf(@blob=""); + enmCreate( + @mask=0b110, + @nargs=6, + @blob="10000000 42426f73 73335068 616e746f 6d000000 000080bf 000080bf c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="b0feffff 00000000"); + ret(@blob=""); +} + + +void Boss3At2() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b100, @nargs=3, @blob="00000000 05000000 00000000"); + etCountD( + @nargs=9, + @blob="00000000 0c000000 18000000 18000000 18000000 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 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 04000000 3c000000 c1bdf0ff 8988883c f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="18000000"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 000080bf 000080bf"); + etProtectRange(@nargs=1, @blob="00004042"); + pushi(@nargs=1, @blob="0e000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="20000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="8c000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + jmp(@nargs=2, @blob="9c010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="00008041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + validRad(@mask=0b1, @nargs=1, @blob="00004041"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="68feffff 00000000"); + ret(@blob=""); +} + + +void Boss3Phantom() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="0d020000"); + playSound(@nargs=1, @blob="2e000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + wait(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="40000000"); + moveVel(@mask=0b1, @nargs=2, @blob="00f41bc6 00000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 33506861 6e746f6d 5f617400"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 cdcc8c3f"); + wait(@nargs=1, @blob="a0000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void Boss3Phantom_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCount(@nargs=3, @blob="00000000 07000000 01000000"); + etAngle(@mask=0b110, @nargs=3, @blob="00000000 00f41bc6 00f41bc6"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff 8988083d f02374c9", + ); + jmp(@nargs=2, @blob="40000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard1() { + stackAlloc(@nargs=1, @blob="10000000"); + 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="7a000000 100e0000 20a10700 1c000000 f98a0504 724f12a5 ec650e46 68c60a36 e42f0626 6271009e 5fe67d24", + ); + {"234567"}: spell( + @nargs=4, + @blob="7a000000 100e0000 20a10700 18000000 f98a0504 724f187d f81a11eb 63791e14 f7d604da e32a81e8", + ); + 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"); + funcCall(@nargs=1, @blob="02000000"); ++60: // 60 + anmPlay(@nargs=2, @blob="00000000 83000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); ++60: // 120 + funcSet(@nargs=1, @blob="03000000"); + anmPlay(@nargs=2, @blob="00000000 b0000000"); ++30: // 150 + nop(@blob=""); + callAsync(@nargs=1, @blob="0c000000 426f7373 43617264 31417400"); + jmp(@nargs=2, @blob="2c000000 96000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 96000000"); + ret(@blob=""); +} + + +void BossCard1At() { + stackAlloc(@nargs=1, @blob="04000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="78000000"); + jmp(@nargs=2, @blob="70030000 00000000"); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 03000000"); + etSprite(@nargs=3, @blob="02000000 01000000 06000000"); + etCountD( + @nargs=9, + @blob="02000000 01000000 01000000 02000000 03000000 01000000 01000000 01000000 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", + ); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="18000000"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + etOffsetAbs(@mask=0b110, @nargs=3, @blob="02000000 000080bf 000080bf"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + 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"); + {"34567"}: pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + {"34567"}: pushf(@nargs=1, @blob="0000003f"); + {"34567"}: mulf(@blob=""); + {"34567"}: pushf(@nargs=1, @blob="cdcc0c40"); + {"34567"}: addf(@blob=""); + {"34567"}: etSpeed( + @mask=0b10, + @nargs=3, + @blob="02000000 000080bf 00000000", + ); + etOn(@nargs=1, @blob="02000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="a60a063e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="06000000 03000000 03000000 03000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="94fcffff 00000000"); + ret(@blob=""); +} + + +void BossCard2() { + stackAlloc(@nargs=1, @blob="04000000"); + {"014567"}: spell( + @nargs=4, + @blob="7e000000 b80b0000 20a10700 1c000000 fad80250 724f12a0 ec800ebe 6ae90ae3 e42d04f7 607400b3 de907d24", + ); + {"234567"}: spell( + @nargs=4, + @blob="7e000000 b80b0000 20a10700 14000000 f90c0250 724f01b0 ff9a04b1 7c5e0806 676e85ac", + ); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 b80b0000 08000000 426f7373 33000000", + ); + enmKillAll(@blob=""); + killAllAsync(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + 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"); ++120: // 120 + nop(@blob=""); + jmp(@nargs=2, @blob="a0000000 78000000"); + call(@nargs=1, @blob="10000000 426f7373 43617264 325f6174 00000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="3c000000"); + moveRand(@nargs=3, @blob="3c000000 00000000 0000c03f"); + diffWait(@nargs=4, @blob="54010000 54010000 f0000000 a0000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="64ffffff 78000000"); + ret(@blob=""); +} + + +void BossCard2Phantom() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="0f000000"); + flagSet(@nargs=1, @blob="00020000"); + moveCircle( + @mask=0b11, + @nargs=4, + @blob="00f41bc6 00f01bc6 00000043 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushi(@nargs=1, @blob="04000000"); + divf(@blob=""); + moveCircleTime( + @mask=0b100, + @nargs=5, + @blob="3c000000 04000000 000080bf 00004043 f02374c9", + ); + playSound(@nargs=1, @blob="2e000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + wait(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="40000000"); + flagClear(@nargs=1, @blob="03000000"); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 32506861 6e746f6d 5f617400", + ); + wait(@nargs=1, @blob="3c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushi(@nargs=1, @blob="04000000"); + divf(@blob=""); + moveCircleTime( + @mask=0b100, + @nargs=5, + @blob="f0000000 01000000 000080bf 000080c1 f02374c9", + ); ++240: // 240 + nop(@blob=""); + flagSet(@nargs=1, @blob="01000000"); + movePos(@mask=0b11, @nargs=2, @blob="00341cc6 00301cc6"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 b2000000"); ++20: // 260 + anmSetSprite(@nargs=2, @blob="00000000 ffffffff"); + playSound(@nargs=1, @blob="36000000"); + flagSet(@nargs=1, @blob="00020000"); + pushi(@nargs=1, @blob="04000000"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="90000000 04010000"); + setHitbox(@mask=0b11, @nargs=2, @blob="00004041 00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="08000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + wait(@nargs=1, @blob="01000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="74ffffff 04010000"); + pushi(@nargs=1, @blob="2d000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="90000000 04010000"); + setHitbox(@mask=0b11, @nargs=2, @blob="00004041 00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="9a99993e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + wait(@nargs=1, @blob="01000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="74ffffff 04010000"); + flagSet(@nargs=1, @blob="03000000"); + wait(@nargs=1, @blob="28000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void BossCard2Phantom_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="cc000000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); + jmp(@nargs=2, @blob="b4000000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 05000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 00040000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 b4000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 8988083c 8988083c 8988883c cdcccc3c", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 04000000 78000000 c1bdf0ff 00008040 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="78000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="28000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="94000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00cc1bc6"); + pushf(@nargs=1, @blob="db0f4940"); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="02000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="70ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard2Phantom_at2() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCount(@nargs=3, @blob="00000000 10000000 03000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void BossCard2_at() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563d"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + jmp(@nargs=2, @blob="a0000000 00000000"); + enmCreateA( + @mask=0b110, + @nargs=6, + @blob="14000000 47426f73 73436172 64325068 616e746f 6d000000 00b41bc6 00b01bc6 c8000000 e8030000 02000000", + ); + 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="00000000"); + jmpNeq(@nargs=2, @blob="64ffffff 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 b80b0000 0c000000 426f7373 43617264 34000000", + ); + setChapter(@nargs=1, @blob="2d000000"); + 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 0a000000"); + dropExtra(@nargs=2, @blob="02000000 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"); + {"014567"}: spell( + @nargs=4, + @blob="82000000 b80b0000 20a10700 18000000 91a21863 724f1a74 fd9800a2 697e191a e93c04da e32a81e8", + ); + {"234567"}: spell( + @nargs=4, + @blob="82000000 b80b0000 20a10700 20000000 91a21863 724f0134 e1680ff8 7bd80bb6 f5a70706 61c3086d c80afc52 dba27960", + ); + anmSelectedPlay(@nargs=1, @blob="00000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); ++60: // 60 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + jmp(@nargs=2, @blob="58030000 3c000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 04000000 07000000 07000000 07000000", + ); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + subi(@blob=""); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0fc93f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@nargs=1, @blob="f90f493e"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + jmp(@nargs=2, @blob="e8000000 3c000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 33417431 00000000"); + wait(@nargs=1, @blob="05000000"); + pushf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="1cffffff 3c000000"); + diffWait(@nargs=4, @blob="64000000 64000000 50000000 3c000000"); + {"014567"}: callAsync( + @nargs=3, + @blob="10000000 426f7373 43617264 33417432 00000000 69690000 04000000 66660000 db0fc93d", + ); + {"234567"}: callAsync( + @nargs=3, + @blob="10000000 426f7373 43617264 33417432 00000000 69690000 02000000 66660000 db0fc93d", + ); + diffWait(@nargs=4, @blob="64000000 64000000 50000000 3c000000"); + {"014567"}: callAsync( + @nargs=3, + @blob="10000000 426f7373 43617264 33417432 00000000 69690000 03000000 66660000 db0fc9bd", + ); + {"234567"}: callAsync( + @nargs=3, + @blob="10000000 426f7373 43617264 33417432 00000000 69690000 01000000 66660000 db0fc9bd", + ); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="acfcffff 3c000000"); + ret(@blob=""); +} + + +void BossCard3At1() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="c8000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="14000000 42426f73 73436172 64335068 616e746f 6d000000 0000b041 0000c0c1 c8000000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="7bd9a03f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="3cffffff 00000000"); + ret(@blob=""); +} + + +void BossCard3At2() { + stackAlloc(@nargs=1, @blob="1c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b100, @nargs=3, @blob="00000000 05000000 00000000"); + etCountD( + @nargs=9, + @blob="00000000 12000000 14000000 18000000 18000000 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 14000000 c1bdf0ff f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008041 8988883c 8988883c cdcccc3c 8988083d", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 04000000 3c000000 c1bdf0ff 00008041 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="18000000"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 000080bf 000080bf"); + etProtectRange(@nargs=1, @blob="00004042"); + pushi(@nargs=1, @blob="0e000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="20000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="8c000000"); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + jmp(@nargs=2, @blob="9c010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 18000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="00008041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@mask=0b1, @nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + validRad(@mask=0b1, @nargs=1, @blob="00004041"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="68feffff 00000000"); + ret(@blob=""); +} + + +void BossCard3Phantom() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="0d020000"); + playSound(@nargs=1, @blob="2e000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + wait(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="40000000"); + moveVel(@mask=0b1, @nargs=2, @blob="00ec1bc6 00000000"); + moveVelTime(@nargs=4, @blob="2c010000 00000000 f02374c9 00008040"); + moveCircleRel( + @mask=0b11, + @nargs=4, + @blob="00f41bc6 00f01bc6 00000000 00000000", + ); + moveCircleRelTime( + @mask=0b100, + @nargs=5, + @blob="3c000000 01000000 00f01bc6 00004042 00000000", + ); + wait(@nargs=1, @blob="f0000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void BossCard3Phantom_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCount(@nargs=3, @blob="00000000 10000000 03000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 01000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void BossCard3Phantom_at2() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCount(@nargs=3, @blob="00000000 10000000 03000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); + 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="a0000000"); + lifeSet(@nargs=1, @blob="dc050000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 100e0000 0c000000 426f7373 44656164 00000000", + ); + lifeMarker(@nargs=3, @blob="00000000 0080bb44 80a0ffff"); + setChapter(@nargs=1, @blob="1b000000"); + stars(@nargs=1, @blob="00000000"); + 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 0a000000"); + 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"); + flagSet(@nargs=1, @blob="02000000"); + moveLimit(@nargs=4, @blob="00000000 00006043 00008c43 0000a043"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00006043"); ++60: // 60 + nop(@blob=""); + {"014567"}: spell( + @nargs=4, + @blob="86000000 100e0000 20a10700 10000000 f60b1b3c 797e0464 fba40c42 ebb28970", + ); + {"234567"}: spell( + @nargs=4, + @blob="86000000 100e0000 20a10700 14000000 f60b1a10 7b910614 fa6a07bc 690b0bc5 e61885ac", + ); + setChapter(@nargs=1, @blob="2e000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 34417431 00000000"); + wait(@nargs=1, @blob="78000000"); + playSound(@nargs=1, @blob="29000000"); + anmPlay(@nargs=2, @blob="00000000 b0000000"); + wait(@nargs=1, @blob="3c000000"); + funcCall(@nargs=1, @blob="02000000"); + funcSet(@nargs=1, @blob="03000000"); + {"1234567"}: callAsync( + @nargs=1, + @blob="0c000000 426f7373 43617264 35417400", + ); + 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 BossCard4At1() { + stackAlloc(@nargs=1, @blob="10000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="c0010000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="1c020000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="40ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b110, + @nargs=6, + @blob="14000000 42426f73 73436172 64345068 616e746f 6d000000 000080bf 00008040 204e0000 e8030000 02000000", + ); + pushi(@nargs=1, @blob="c0000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + subf(@blob=""); + enmCreateA( + @mask=0b110, + @nargs=6, + @blob="14000000 42426f73 73436172 64345068 616e746f 6d000000 000080bf 00008040 204e0000 e8030000 02000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="7bd9a03f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="08000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="e8fdffff 00000000"); + ret(@blob=""); +} + + +void BossCard4At2() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b100, @nargs=3, @blob="00000000 05000000 00000000"); + etCount(@nargs=3, @blob="00000000 18000000 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 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 04000000 3c000000 c1bdf0ff 8988883c f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="18000000"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 000080bf 000080bf"); + etProtectRange(@nargs=1, @blob="00004042"); + pushi(@nargs=1, @blob="0e000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="20000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="8c000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + jmp(@nargs=2, @blob="9c010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 02000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="00008041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + validRad(@mask=0b1, @nargs=1, @blob="00004041"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="68feffff 00000000"); + ret(@blob=""); +} + + +void BossCard4Girl() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="71000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + anmSelect(@nargs=1, @blob="01000000"); + flagSet(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="02000000 77000000"); + wait(@nargs=1, @blob="3c000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ffffffff 14000000 426f7373 43617264 34476972 6c446561 64320000", + ); + anmSetMain(@nargs=2, @blob="00000000 14000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + lifeSet(@nargs=1, @blob="c8000000"); + flagSet(@nargs=1, @blob="00040000"); + flagClear(@nargs=1, @blob="03000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 34476972 6c5f6174 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="f8060000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="02000000"); + lessi(@blob=""); + jmpEq(@nargs=2, @blob="d0050000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="01000000"); + lessi(@blob=""); + jmpEq(@nargs=2, @blob="58000000 00000000"); + pushi(@nargs=1, @blob="12000000"); + seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); + jmp(@nargs=2, @blob="40000000 00000000"); + pushi(@nargs=1, @blob="19000000"); + seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); + pushf(@mask=0b1, @nargs=1, @blob="00601bc6"); + pushi(@nargs=1, @blob="00010000"); + greaterf(@blob=""); + jmpEq(@nargs=2, @blob="1c010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00b41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b1100, + @nargs=4, + @blob="c8000000 00000000 000080bf 000080bf", + ); + wait(@nargs=1, @blob="f0000000"); + jmp(@nargs=2, @blob="ac030000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00601bc6"); + pushi(@nargs=1, @blob="c0000000"); + greaterf(@blob=""); + jmpEq(@nargs=2, @blob="1c010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00b41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b1100, + @nargs=4, + @blob="96000000 00000000 000080bf 000080bf", + ); + wait(@nargs=1, @blob="be000000"); + jmp(@nargs=2, @blob="58020000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00601bc6"); + pushi(@nargs=1, @blob="80000000"); + greaterf(@blob=""); + jmpEq(@nargs=2, @blob="1c010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00b41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b1100, + @nargs=4, + @blob="64000000 00000000 000080bf 000080bf", + ); + wait(@nargs=1, @blob="8c000000"); + jmp(@nargs=2, @blob="04010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00b41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b1100, + @nargs=4, + @blob="3c000000 00000000 000080bf 000080bf", + ); + wait(@nargs=1, @blob="28000000"); + jmp(@nargs=2, @blob="90000000 00000000"); + pushi(@nargs=1, @blob="12000000"); + seti(@mask=0b1, @nargs=1, @blob="01d9ffff"); + call( + @nargs=1, + @blob="14000000 426f7373 43617264 34476972 6c5f6174 32000000", + ); + pushi(@nargs=1, @blob="ffffffff"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="0cf9ffff 00000000"); + ret(@blob=""); +} + + +void BossCard4GirlDead() { + stackAlloc(@nargs=1, @blob="00000000"); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + moveVelTime(@nargs=4, @blob="01000000 00000000 f02374c9 00000000"); + anmReset(@blob=""); + anmSetSprite(@nargs=2, @blob="00000000 6d000000"); + flagSet(@nargs=1, @blob="03040000"); + lifeSet(@nargs=1, @blob="a0860100"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00000040"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + jmp(@nargs=2, @blob="a0000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="3c000000 00000000"); + call(@nargs=1, @blob="10000000 426f7373 43617264 34476972 6c000000"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="64ffffff 00000000"); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard4GirlDead2() { + stackAlloc(@nargs=1, @blob="00000000"); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + movePosTime( + @mask=0b1100, + @nargs=4, + @blob="01000000 00000000 00341cc6 00301cc6", + ); + anmReset(@blob=""); + anmSetSprite(@nargs=2, @blob="00000000 71000000"); + flagSet(@nargs=1, @blob="03040000"); + lifeSet(@nargs=1, @blob="a0860100"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="24010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00008040"); + mulf(@blob=""); + pushf(@nargs=1, @blob="00008040"); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0fc93f"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b11, @nargs=2, @blob="000080bf 000080bf"); + jmp(@nargs=2, @blob="0c010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00008040"); + mulf(@blob=""); + pushf(@nargs=1, @blob="00008040"); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0fc93f"); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b11, @nargs=2, @blob="000080bf 000080bf"); + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); + pushi(@nargs=1, @blob="78000000"); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="5a000000"); + modi(@blob=""); + addi(@blob=""); + wait(@mask=0b1, @nargs=1, @blob="ffffffff"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + jmp(@nargs=2, @blob="a0000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="3c000000 00000000"); + call(@nargs=1, @blob="10000000 426f7373 43617264 34476972 6c000000"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="64ffffff 00000000"); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard4Girl_at() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="5a000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="28030000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b10, @nargs=3, @blob="00000000 01d9ffff 00000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 02000000 04000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 db0fc93f db0f493e"); + etSpeed(@nargs=3, @blob="00000000 0ad7233c 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 1e000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff 8988883c f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="34000000 00000000"); + etAngle(@nargs=3, @blob="00000000 db0fc9bf 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="28000000"); + greateri(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00004040"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="cdcc4c3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="dcfcffff 00000000"); + ret(@blob=""); +} + + +void BossCard4Girl_at2() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 11000000 00000000"); + etCountD( + @nargs=9, + @blob="01000000 04000000 06000000 09000000 07000000 01000000 01000000 01000000 01000000", + ); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 db0f493e"); + etSpeedD( + @nargs=9, + @blob="01000000 6666a63f cdcccc3f 66662640 66662640 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="c8000000"); + ret(@blob=""); +} + + +void BossCard4Phantom() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="0d040000"); + playSound(@nargs=1, @blob="2e000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + wait(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="40000000"); + flagClear(@nargs=1, @blob="03000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ffffffff 14000000 426f7373 43617264 34476972 6c446561 64000000", + ); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + moveVel(@mask=0b1, @nargs=2, @blob="00ec1bc6 00000000"); + moveVelTime(@nargs=4, @blob="2c010000 00000000 f02374c9 00008040"); + moveCircleRel( + @mask=0b11, + @nargs=4, + @blob="00f41bc6 00f01bc6 00000000 00000000", + ); + moveCircleRelTime( + @mask=0b100, + @nargs=5, + @blob="3c000000 01000000 00f01bc6 00004042 00000000", + ); + wait(@nargs=1, @blob="f0000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void BossCard4Phantom_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCount(@nargs=3, @blob="00000000 10000000 03000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="02000000 01000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void BossCard4Phantom_at2() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 02000000 06000000"); + etCount(@nargs=3, @blob="00000000 10000000 03000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00004040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + anmPlay(@nargs=2, @blob="00000000 4e000000"); + playSound(@nargs=1, @blob="02000000"); + delete(@blob=""); + ret(@blob=""); +} + + +void BossCard5At() { + stackAlloc(@nargs=1, @blob="04000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="ec020000 00000000"); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 03000000"); + etSprite(@nargs=3, @blob="02000000 18000000 06000000"); + etCount(@nargs=3, @blob="02000000 02000000 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", + ); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="18000000"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + etOffsetAbs(@mask=0b110, @nargs=3, @blob="02000000 000080bf 000080bf"); + etDist(@nargs=2, @blob="00000000 00000042"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="9a99993f"); + mulf(@blob=""); + pushf(@nargs=1, @blob="cdcc4c3f"); + addf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="02000000 000080bf 00000000"); + etOn(@nargs=1, @blob="02000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="66f7e43d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="0a000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="18fdffff 00000000"); + ret(@blob=""); +} + + +void BossDead() { + stackAlloc(@nargs=1, @blob="04000000"); + 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", + ); ++60: // 60 + etClearAll(@blob=""); + spellEnd(@blob=""); + funcCall(@nargs=1, @blob="04000000"); + enmKillAll(@blob=""); + dropMain(@nargs=1, @blob="00000000"); + dropClear(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="2c000000 3c000000"); + dropMain(@nargs=1, @blob="05000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 08000000"); + dropExtra(@nargs=2, @blob="02000000 08000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000"); + anmPlay(@nargs=2, @blob="00000000 4c000000"); + anmPlay(@nargs=2, @blob="00000000 8e000000"); + playSound(@nargs=1, @blob="12000000"); + setBoss(@nargs=1, @blob="ffffffff"); + delete(@blob=""); + delete(@blob=""); +} + + +void GBoss1Girl() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + pushi(@nargs=1, @blob="6f000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 426f7373 31476972 6c000000 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GBoss2Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="10000000 426f7373 32506861 6e746f6d 00000000 69690000 60000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GBoss3Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="10000000 426f7373 33506861 6e746f6d 00000000 69690000 60000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GBossCard2Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="14000000 426f7373 43617264 32506861 6e746f6d 00000000 69690000 60000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GBossCard3Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="14000000 426f7373 43617264 33506861 6e746f6d 00000000 69690000 60000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GBossCard4Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="14000000 426f7373 43617264 34506861 6e746f6d 00000000 69690000 60000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RBoss1Girl() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="6e000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 426f7373 31476972 6c000000 69690000 05000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RBoss1Girl_at() { + stackAlloc(@nargs=1, @blob="1c000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 08000000 08000000 08000000 08000000", + ); + pushi(@nargs=1, @blob="12000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 06000000 0a000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 920a863f"); + etSpeedD( + @nargs=9, + @blob="00000000 cdcccc3f 00000040 66668640 66668640 00000040 00000040 00000040 00000040", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="d731e23f"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="e1edaf3f"); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + jmp(@nargs=2, @blob="7c060000 00000000"); + pushf(@nargs=1, @blob="c092ab3b"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 0000a041 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="74010000 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 8fc275bd 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 0ad7a3bd 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="90feffff 00000000"); + pushf(@nargs=1, @blob="c092ab3b"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 0000c041 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="74010000 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 8fc275bd 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 0ad7a3bd 00004041", + ); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="90feffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@nargs=1, @blob="850a863e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushf(@nargs=1, @blob="850a863e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + validRad(@mask=0b1, @nargs=1, @blob="0000c041"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="88f9ffff 00000000"); + ret(@blob=""); +} + + +void RBoss2Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="10000000 426f7373 32506861 6e746f6d 00000000 69690000 5e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RBoss3Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="10000000 426f7373 33506861 6e746f6d 00000000 69690000 5e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RBossCard2Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="14000000 426f7373 43617264 32506861 6e746f6d 00000000 69690000 5e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RBossCard3Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="14000000 426f7373 43617264 33506861 6e746f6d 00000000 69690000 5e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RBossCard4Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="14000000 426f7373 43617264 34506861 6e746f6d 00000000 69690000 5e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YBoss1Girl() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + pushi(@nargs=1, @blob="70000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=3, + @blob="0c000000 426f7373 31476972 6c000000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YBoss2Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="10000000 426f7373 32506861 6e746f6d 00000000 69690000 64000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YBoss3Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="10000000 426f7373 33506861 6e746f6d 00000000 69690000 64000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YBossCard2Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="14000000 426f7373 43617264 32506861 6e746f6d 00000000 69690000 64000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YBossCard3Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="14000000 426f7373 43617264 33506861 6e746f6d 00000000 69690000 64000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YBossCard4Phantom() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="14000000 426f7373 43617264 34506861 6e746f6d 00000000 69690000 64000000 69690000 01000000", + ); + delete(@blob=""); +} diff --git a/research/stage05mboss.tecl b/research/stage05mboss.tecl new file mode 100644 index 0000000..0082738 --- /dev/null +++ b/research/stage05mboss.tecl @@ -0,0 +1,1320 @@ +#pragma mapfile "utils/th11.eclm" + +meta {} + + +void MBoss() { + stackAlloc(@nargs=1, @blob="10000000"); + setBoss(@nargs=1, @blob="00000000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="02000000 aa000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 0b000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00002042 00002042"); + lifeSet(@nargs=1, @blob="68420000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + setInterrupt( + @nargs=4, + @blob="00000000 28230000 54060000 08000000 4d426f73 73320000", + ); + setTimeout(@nargs=2, @blob="00000000 0c000000 4d426f73 73457363 61706500"); + lifeMarker(@nargs=3, @blob="00000000 00a00c46 ffd0d0ff"); + lifeMarker(@nargs=3, @blob="01000000 0080bb44 a0a0ffff"); + setChapter(@nargs=1, @blob="06000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + wait(@nargs=1, @blob="46000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008041"); + playSound(@nargs=1, @blob="29000000"); + fog(@nargs=2, @blob="00002043 00808000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSelect(@nargs=1, @blob="02000000"); + wait(@nargs=1, @blob="3c000000"); + call(@nargs=1, @blob="08000000 4d426f73 73310000"); + 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 MBoss1() { + stackAlloc(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="18010000 00000000"); + callAsync(@nargs=1, @blob="0c000000 4d426f73 73315f61 74000000"); + diffWait(@nargs=4, @blob="a0000000 a0000000 78000000 64000000"); + playSound(@nargs=1, @blob="29000000"); + anmPlay(@nargs=2, @blob="00000000 83000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d426f73 73315f61 74320000"); + diffWait(@nargs=4, @blob="a0000000 a0000000 78000000 64000000"); + playSound(@nargs=1, @blob="29000000"); + anmPlay(@nargs=2, @blob="00000000 83000000"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="ecfeffff 00000000"); + ret(@blob=""); +} + + +void MBoss1_at() { + stackAlloc(@nargs=1, @blob="14000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 05000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 10000000 20000000 20000000 20000000 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", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 cdcc4c3d cdcc4c3d 8988883d efeeee3d", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff 00000041 f02374c9", + ); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="18000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="04010000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="9c010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 10000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00000040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="12691b3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="68feffff 00000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="9c010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 10000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00000040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="e8f42c3e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="68feffff 00000000"); + ret(@blob=""); +} + + +void MBoss1_at2() { + stackAlloc(@nargs=1, @blob="14000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 05000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 10000000 20000000 20000000 20000000 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", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 cdcc4c3d cdcc4c3d 8988883d abaaaa3d", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff 00000041 f02374c9", + ); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="18000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="04010000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="e8010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 10000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00000040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="12691b3e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00008040"); + {"04567"}: pushf(@nargs=1, @blob="12691b3e"); + {"04567"}: addf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="1cfeffff 00000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="e8010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 10000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00000040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="e8f42c3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00008040"); + {"04567"}: pushf(@nargs=1, @blob="e8f42c3e"); + {"04567"}: addf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="1cfeffff 00000000"); + ret(@blob=""); +} + + +void MBoss2() { + 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=""); + funcSet(@nargs=1, @blob="00000000"); + laserCancel(@blob=""); + playSound(@nargs=1, @blob="0f000000"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 02000000"); + dropExtra(@nargs=2, @blob="02000000 06000000"); + dropArea(@nargs=2, @blob="00008042 00008042"); + 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"); + setInterrupt( + @nargs=4, + @blob="00000000 dc050000 b0040000 0c000000 4d426f73 73436172 64310000", + ); + setTimeout(@nargs=2, @blob="00000000 0c000000 4d426f73 73457363 61706500"); + setChapter(@nargs=1, @blob="07000000"); + jmp(@nargs=2, @blob="18010000 00000000"); + playSound(@nargs=1, @blob="29000000"); + anmPlay(@nargs=2, @blob="00000000 83000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d426f73 73325f61 74000000"); + diffWait(@nargs=4, @blob="a0000000 a0000000 78000000 78000000"); + playSound(@nargs=1, @blob="29000000"); + anmPlay(@nargs=2, @blob="00000000 83000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 4d426f73 73325f61 74320000"); + diffWait(@nargs=4, @blob="a0000000 a0000000 78000000 78000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="ecfeffff 00000000"); + ret(@blob=""); +} + + +void MBoss2_at() { + stackAlloc(@nargs=1, @blob="14000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 05000000 02000000"); + etCountD( + @nargs=9, + @blob="00000000 0c000000 18000000 18000000 18000000 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", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 cdcc4c3d cdcc4c3d 8988883d cdcccc3d", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff 00000041 f02374c9", + ); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="18000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="2c010000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="9c010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 10000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="0000c040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="12691b3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="68feffff 00000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="9c010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 10000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="0000c040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="e8f42c3e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="68feffff 00000000"); + ret(@blob=""); +} + + +void MBoss2_at2() { + stackAlloc(@nargs=1, @blob="14000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 05000000 02000000"); + etCountD( + @nargs=9, + @blob="00000000 0c000000 18000000 18000000 18000000 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", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 cdcc4c3d cdcc4c3d 8988883d cdcccc3d", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff 00000041 f02374c9", + ); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="18000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="2c010000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="9c010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 10000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="0000c040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="12691b3e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="68feffff 00000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="9c010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 10000000 c1bdf0ff f02374c9 f02374c9", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="0000c040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="e8f42c3e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="68feffff 00000000"); + ret(@blob=""); +} + + +void MBossCard1() { + stackAlloc(@nargs=1, @blob="14000000"); + setChapter(@nargs=1, @blob="0f000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ac080000 08000000 426f7373 32000000", + ); + {"014567"}: spell( + @nargs=4, + @blob="76000000 ac080000 00000000 1c000000 e3320038 724f12b4 ec750e56 68d10a35 e42604f7 6064009e 5fe67d24", + ); + {"234567"}: spell3( + @nargs=4, + @blob="78000000 ac080000 00000000 14000000 e3320038 724f187d f81a1978 7c221c90 e61885ac", + ); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ac080000 0c000000 4d426f73 73457363 61706500", + ); + killAllAsync(@blob=""); + setInvuln(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="07000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + enmKillAll(@blob=""); + 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"); + moveLimitReset(@blob=""); ++30: // 30 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 90 + nop(@blob=""); + flagSet(@nargs=1, @blob="0c000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="ec0d0000 5a000000"); + movePosRelTime(@nargs=4, @blob="3c000000 04000000 00000000 000000c2"); + jmp(@nargs=2, @blob="700d0000 5a000000"); + playSound(@nargs=1, @blob="0f000000"); + pushi(@nargs=1, @blob="6cffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 00002043", + ); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 00004043", + ); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="94000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 00006043", + ); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 00008043", + ); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="6cffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 00009043", + ); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 0000a043", + ); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="94000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 0000b143", + ); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + movePosTime(@nargs=4, @blob="3c000000 04000000 0000b043 0000b143"); + wait(@nargs=1, @blob="3c000000"); + movePos(@nargs=2, @blob="0000b043 00000043"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + wait(@nargs=1, @blob="c8000000"); + playSound(@nargs=1, @blob="0f000000"); + pushi(@nargs=1, @blob="94000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 00002043", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + playSound(@nargs=1, @blob="0f000000"); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 00004043", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + playSound(@nargs=1, @blob="0f000000"); + pushi(@nargs=1, @blob="6cffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 00006043", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + playSound(@nargs=1, @blob="0f000000"); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 00008043", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + playSound(@nargs=1, @blob="0f000000"); + pushi(@nargs=1, @blob="94000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 00009043", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + playSound(@nargs=1, @blob="0f000000"); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 0000a043", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + playSound(@nargs=1, @blob="0f000000"); + pushi(@nargs=1, @blob="6cffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b100, + @nargs=4, + @blob="3c000000 04000000 000080bf 0000b143", + ); + wait(@nargs=1, @blob="3c000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + playSound(@nargs=1, @blob="0f000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 0000b0c3 0000b143"); + wait(@nargs=1, @blob="3c000000"); + movePos(@nargs=2, @blob="0000b0c3 00000043"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + wait(@nargs=1, @blob="c8000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="94f2ffff 5a000000"); + jmp(@nargs=2, @blob="d8140000 5a000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="10000000 28000000 28000000 28000000 1e000000", + ); + movePosRelTime( + @mask=0b1, + @nargs=4, + @blob="10000000 04000000 00000000 000000c2", + ); + jmp(@nargs=2, @blob="50140000 5a000000"); + playSound(@nargs=1, @blob="0f000000"); + pushi(@nargs=1, @blob="6cffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00006043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00004043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="94000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00002043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00000043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="6cffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00004043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00006043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="94000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00007043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00008043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="6cffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 0000a043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00009643", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="94000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 0000a043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + movePosTime( + @mask=0b1, + @nargs=4, + @blob="10000000 04000000 0000b043 0000b143", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + movePos(@nargs=2, @blob="0000b043 00000043"); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + movePosTime( + @mask=0b1, + @nargs=4, + @blob="10000000 04000000 00000000 00000043", + ); + wait(@nargs=1, @blob="c8000000"); + playSound(@nargs=1, @blob="0f000000"); + pushi(@nargs=1, @blob="94000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00006043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00004043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="6cffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00002043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00000043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="94000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00004043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00006043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="6cffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00007043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00008043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="94000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 0000a043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 00009643", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="6cffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + movePosTime( + @mask=0b101, + @nargs=4, + @blob="10000000 04000000 000080bf 0000a043", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + playSound(@nargs=1, @blob="0f000000"); + enmCreate( + @nargs=6, + @blob="10000000 4d426f73 73436172 64325f65 74000000 00000000 00000000 e8030000 0a000000 00000000", + ); + movePosTime( + @mask=0b1, + @nargs=4, + @blob="10000000 04000000 0000b0c3 0000b143", + ); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + movePos(@nargs=2, @blob="0000b043 00000043"); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + movePosTime( + @mask=0b1, + @nargs=4, + @blob="10000000 04000000 00000000 00000043", + ); + wait(@nargs=1, @blob="c8000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b4ebffff 5a000000"); + ret(@blob=""); +} + + +void MBossCard2_at() { + stackAlloc(@nargs=1, @blob="14000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 05000000 00000000"); + etCountD( + @nargs=9, + @blob="00000000 10000000 18000000 18000000 18000000 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 02000000 00000000 00000001 05000000 06000000 f02374c9 f02374c9", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 8988883c cdcccc3c cdcccc3c cdcccc3c", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 03000000 00000000 04000000 78000000 c1bdf0ff 00000041 f02374c9", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="0c000000 02000000 04000000 04000000 04000000", + ); + pushi(@nargs=1, @blob="40000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="c8000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="3c010000 00000000"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 01000000 00000000 00100000 10000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="10000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="08000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + wait(@nargs=1, @blob="08000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="c8feffff 00000000"); + ret(@blob=""); +} + + +void MBossCard2_et() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20010000"); + call(@nargs=1, @blob="10000000 4d426f73 73436172 64325f61 74000000"); + delete(@blob=""); +} + + +void MBossEscape() { + stackAlloc(@nargs=1, @blob="04000000"); + setInterrupt( + @nargs=4, + @blob="00000000 ffffffff 00000000 04000000 00000000", + ); + setInterrupt( + @nargs=4, + @blob="01000000 ffffffff 00000000 04000000 00000000", + ); + spellEnd(@blob=""); + moveLimitReset(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="60ffffff"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="50000000 00000000"); + movePosTime( + @mask=0b1000, + @nargs=4, + @blob="3c000000 04000000 000020c3 00301cc6", + ); + jmp(@nargs=2, @blob="88000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="a0000000"); + greaterf(@blob=""); + jmpEq(@nargs=2, @blob="38000000 00000000"); + movePosTime( + @mask=0b1000, + @nargs=4, + @blob="3c000000 04000000 00002043 00301cc6", + ); + 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=""); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="d4000000 00000000"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 14000000"); + dropArea(@nargs=2, @blob="00008042 00008042"); + 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=""); + playSound(@nargs=1, @blob="0f000000"); + lifeSet(@nargs=1, @blob="a0860100"); + anmSetSprite(@nargs=2, @blob="01000000 ffffffff"); + anmSetSprite(@nargs=2, @blob="02000000 ffffffff"); + fog(@nargs=2, @blob="00000000 00808000"); + setBoss(@nargs=1, @blob="ffffffff"); + wait(@nargs=1, @blob="78000000"); + flagSet(@nargs=1, @blob="10000000"); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="00000000"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="50000000 00000000"); + movePosTime( + @mask=0b1000, + @nargs=4, + @blob="3c000000 04000000 000060c3 00301cc6", + ); + jmp(@nargs=2, @blob="38000000 00000000"); + movePosTime( + @mask=0b1000, + @nargs=4, + @blob="3c000000 04000000 00006043 00301cc6", + ); ++60: // 60 + setChapter(@nargs=1, @blob="00000000"); + delete(@blob=""); + delete(@blob=""); +} diff --git a/research/stage06.tanm b/research/stage06.tanm new file mode 100644 index 0000000..53c4a63 --- /dev/null +++ b/research/stage06.tanm @@ -0,0 +1,84 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "background/stage06/stage05a.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 11, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 0 script0 { + type(8); + sprite(sprite0); + rotate(0.0, 0.0, 0.0); + pos(0.0, 0.0, 0.0); + scrollY(0.005); + stop(); +} + + +entry { + path: "background/stage06/stage05b.png", + img_width: 256, + img_height: 256, + memory_priority: 11, + sprites: {sprite1: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 1 script1 { + type(8); + sprite(sprite1); + alpha(192); + rotate(0.0, 0.0, 0.0); + pos(0.0, 0.0, 0.0); + scrollX(0.003); + stop(); +} + + +entry { + path: "background/stage06/stage06c.png", + img_width: 512, + img_height: 512, + memory_priority: 11, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 512.0, h: 512.0}}, +} + + +script 2 script2 { + type(1); + sprite(sprite2); + angleVel(0.0, 0.0, 0.0019634955); + pos(224.0, 240.0, 0.0); + scale(4.0, 4.0); ++20: // 20 + scaleTime(40, 4, 1.6, 1.6); ++40: // 60 + scaleTime(1000, 4, 1.0, 1.0); + stop(); +} + + +entry { + path: "background/stage06/stage06d.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_RGB_565, + memory_priority: 11, + sprites: {sprite3: {x: 0.0, y: 0.0, w: 384.0, h: 448.0}}, +} + + +script 3 script3 { + type(0); + sprite(sprite3); + pos(224.0, 240.0, 0.0); ++20: // 20 + alphaTime(40, 0, 0); ++40: // 60 + delete(); +} diff --git a/research/stage06.tecl b/research/stage06.tecl new file mode 100644 index 0000000..861a455 --- /dev/null +++ b/research/stage06.tecl @@ -0,0 +1,1036 @@ +#pragma mapfile "utils/th11.eclm" + +meta { + anim: ["enemy.anm", "stgenm06.anm"], + ecli: ["default.ecl", "stage06mboss.ecl", "stage06boss.ecl"], +} + + +void BPhantom00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 30000000 69690000 62000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BPhantom01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 31000000 69690000 62000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void Crow00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 0c000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + pushf(@nargs=1, @blob="00004040"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00000040"); + mulf(@blob=""); + addf(@blob=""); + pushf(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b11, @nargs=2, @blob="000080bf 000080bf"); + pushf(@nargs=1, @blob="00004040"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00000040"); + mulf(@blob=""); + addf(@blob=""); + moveVelTime( + @mask=0b1000, + @nargs=4, + @blob="3c000000 00000000 f02374c9 000080bf", + ); + callAsync(@nargs=1, @blob="0c000000 43726f77 30305f61 74000000"); ++600: // 600 + nop(@blob=""); + jmp(@nargs=2, @blob="2c000000 58020000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 58020000"); + delete(@blob=""); +} + + +void Crow00_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 01000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 01000000 01000000 02000000 03000000 04000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 00000040 00004040 00008040 0000a040 0000c03f 0000c03f 0000c03f 0000c03f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="1e000000"); + modi(@blob=""); + wait(@mask=0b1, @nargs=1, @blob="ffffffff"); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="78000000 3c000000 1e000000 14000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void Crow01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 0c000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="03000000 02000000"); + dropExtra(@nargs=2, @blob="02000000 05000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + pushf(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00008040"); + pushi(@nargs=1, @blob="0a000000"); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="1e000000"); + modi(@blob=""); + addi(@blob=""); + wait(@mask=0b1, @nargs=1, @blob="ffffffff"); + moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000"); + wait(@nargs=1, @blob="32000000"); + callAsync(@nargs=1, @blob="0c000000 43726f77 30315f61 74000000"); + wait(@nargs=1, @blob="c8000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00008040"); ++600: // 600 + nop(@blob=""); + jmp(@nargs=2, @blob="2c000000 58020000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 58020000"); + delete(@blob=""); +} + + +void Crow01_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 04000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 05000000 05000000 05000000 05000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 db0fc93f 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 00004040 00004040 00008040 0000a040 0000c03f 0000c03f 0000c03f 0000c03f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="0c000000 06000000 05000000 04000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void Crow02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 0c000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="03000000 08000000"); + dropExtra(@nargs=2, @blob="02000000 05000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + pushf(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00008040"); + pushi(@nargs=1, @blob="0a000000"); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="1e000000"); + modi(@blob=""); + addi(@blob=""); + wait(@mask=0b1, @nargs=1, @blob="ffffffff"); + moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000"); + wait(@nargs=1, @blob="32000000"); + callAsync(@nargs=1, @blob="0c000000 43726f77 30325f61 74000000"); + wait(@nargs=1, @blob="c8000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00008040"); ++600: // 600 + nop(@blob=""); + jmp(@nargs=2, @blob="2c000000 58020000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 58020000"); + delete(@blob=""); +} + + +void Crow02_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 04000000 06000000"); + etCountD( + @nargs=9, + @blob="00000000 05000000 05000000 05000000 05000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 db0fc93f 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 00004040 00004040 00008040 0000a040 0000c03f 0000c03f 0000c03f 0000c03f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="0c000000 06000000 05000000 04000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void Crow03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 0c000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + pushf(@nargs=1, @blob="00004040"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00000040"); + mulf(@blob=""); + addf(@blob=""); + pushf(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b11, @nargs=2, @blob="000080bf 000080bf"); + pushf(@nargs=1, @blob="00004040"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="00000040"); + mulf(@blob=""); + addf(@blob=""); + moveVelTime( + @mask=0b1000, + @nargs=4, + @blob="3c000000 00000000 f02374c9 000080bf", + ); + callAsync(@nargs=1, @blob="0c000000 43726f77 30335f61 74000000"); ++600: // 600 + nop(@blob=""); + jmp(@nargs=2, @blob="2c000000 58020000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 58020000"); + delete(@blob=""); +} + + +void Crow03_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 03000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etSpeed(@nargs=3, @blob="00000000 cdcccc3d 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 04000000 78000000 c1bdf0ff 8988083d db0fc93f", + ); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="1e000000"); + modi(@blob=""); + wait(@mask=0b1, @nargs=1, @blob="ffffffff"); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="3c000000 1e000000 14000000 0a000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void GPhantom00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 30000000 69690000 60000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GPhantom01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 31000000 69690000 60000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void MainBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); ++60: // 60 + dialogRead(@nargs=1, @blob="ffffffff"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 00005843 00008042 28000000 e8030000 01000000", + ); + ins_500(@nargs=1, @blob="64000000"); + dialogWait(@blob=""); + deathWait(@blob=""); ++60: // 120 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + ret(@blob=""); + ret(@blob=""); +} + + +void MainMBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + playSound(@nargs=1, @blob="35000000"); + dialogRead(@nargs=1, @blob="02000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 00004043 000000c2 28000000 10270000 01000000", + ); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void MainMsgDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + ins_500(@nargs=1, @blob="64000000"); ++120: // 120 + dialogRead(@nargs=1, @blob="00000000"); + dialogWait(@blob=""); ++1: // 121 + dialogWait(@blob=""); ++60: // 181 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="28000000 55100000"); ++4000: // 4181 + nop(@blob=""); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="dcffffff b5000000"); + ret(@blob=""); +} + + +void MainSub00() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 30620000"); + jmp(@nargs=2, @blob="b8000000 00000000"); + pushi(@nargs=1, @blob="40000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="08000000"); + muli(@blob=""); + addi(@blob=""); + enmCreate( + @mask=0b100, + @nargs=6, + @blob="08000000 43726f77 30300000 000060c3 000080bf 32000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="4cffffff 00000000"); + ret(@blob=""); +} + + +void MainSub00b() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b8000000 00000000"); + pushi(@nargs=1, @blob="40000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="08000000"); + muli(@blob=""); + addi(@blob=""); + enmCreateM( + @mask=0b100, + @nargs=6, + @blob="08000000 43726f77 30300000 00006043 000080bf 32000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="4cffffff 00000000"); + ret(@blob=""); +} + + +void MainSub01() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 31620000"); + jmp(@nargs=2, @blob="b8000000 00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreate( + @mask=0b100, + @nargs=6, + @blob="08000000 43726f77 30310000 000060c3 000080bf c8000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="4cffffff 00000000"); + ret(@blob=""); +} + + +void MainSub01b() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b8000000 00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateM( + @mask=0b100, + @nargs=6, + @blob="08000000 43726f77 30310000 00006043 000080bf c8000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="4cffffff 00000000"); + ret(@blob=""); +} + + +void MainSub02() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 32620000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 00006043 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 00000000"); + wait(@nargs=1, @blob="f0000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 00008042 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 00000000"); + wait(@nargs=1, @blob="78000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 000060c3 00000043 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 00000000"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 000080c2 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 00000000"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 00006043 00000043 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 00000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 00008042 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 00000000"); + ret(@blob=""); +} + + +void MainSub02b() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + wait(@nargs=1, @blob="f0000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 000060c3 00000043 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 00000000"); + wait(@nargs=1, @blob="f0000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 000080c2 000000c2 64000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 00000000"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 00006043 00000043 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 00000000"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 00008042 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 00000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 000060c3 00000043 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 00000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b0000000 00000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 42506861 6e746f6d 30300000 000080c2 000000c2 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 00000000"); + ret(@blob=""); +} + + +void MainSub03() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 33620000"); + jmp(@nargs=2, @blob="b8000000 00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateF( + @mask=0b100, + @nargs=6, + @blob="08000000 43726f77 30320000 000060c3 000080bf c8000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="4cffffff 00000000"); + ret(@blob=""); +} + + +void MainSub03b() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b8000000 00000000"); + pushi(@nargs=1, @blob="80000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateMF( + @mask=0b100, + @nargs=6, + @blob="08000000 43726f77 30320000 00006043 000080bf c8000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="28000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="4cffffff 00000000"); + ret(@blob=""); +} + + +void MainSub04() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="20000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 34620000"); + jmp(@nargs=2, @blob="b8000000 00000000"); + pushi(@nargs=1, @blob="60000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="60000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateF( + @mask=0b100, + @nargs=6, + @blob="08000000 43726f77 30330000 000060c3 000080bf 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="4cffffff 00000000"); + ret(@blob=""); +} + + +void MainSub04b() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="20000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="b8000000 00000000"); + pushi(@nargs=1, @blob="60000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="60000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateMF( + @mask=0b100, + @nargs=6, + @blob="08000000 43726f77 30330000 00006043 000080bf 32000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="4cffffff 00000000"); + ret(@blob=""); +} + + +void MainSub05() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="40000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushf(@nargs=1, @blob="a0e1cd3b"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 52506861 6e746f6d 30310000 00000000 000000c2 70170000 e8030000 00000000", + ); + wait(@nargs=1, @blob="08020000"); + pushf(@nargs=1, @blob="a0e14dbc"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + enmCreate( + @nargs=6, + @blob="0c000000 52506861 6e746f6d 30310000 00000000 000000c2 70170000 e8030000 00000000", + ); + wait(@nargs=1, @blob="c2010000"); + ret(@blob=""); +} + + +void MapleEnemy() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + anmPlayAbs(@nargs=2, @blob="00000000 b3000000"); ++3: // 3 + jmp(@nargs=2, @blob="e8ffffff 00000000"); + delete(@blob=""); +} + + +void Phantom00() { + stackAlloc(@nargs=1, @blob="0c000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + wait(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="40000000"); + flagClear(@nargs=1, @blob="03000000"); + callAsync(@nargs=1, @blob="10000000 5068616e 746f6d30 305f6174 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + moveVelRel(@mask=0b1, @nargs=2, @blob="00000041 0000c03f"); + moveEllipse( + @mask=0b10001, + @nargs=6, + @blob="00f01bc6 5077d63c 00008042 00000000 00000041 00000000", + ); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void Phantom00_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 01000000 04000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 00006040 00008040 00009040 0000a040 9a99d93f 9a99d93f 9a99d93f 9a99d93f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="14000000"); + modi(@blob=""); + wait(@mask=0b1, @nargs=1, @blob="ffffffff"); + jmp(@nargs=2, @blob="9c000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="62010000"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="2c000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="46000000 23000000 1e000000 12000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="68ffffff 00000000"); + ret(@blob=""); +} + + +void Phantom01() { + stackAlloc(@nargs=1, @blob="0c000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="03000000"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 14000000"); + dropExtra(@nargs=2, @blob="02000000 14000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + wait(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="40000000"); + flagClear(@nargs=1, @blob="03000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + moveVel(@nargs=2, @blob="db0fc93f 00004040"); + moveVelTime(@nargs=4, @blob="78000000 00000000 f02374c9 00000000"); ++120: // 120 + callAsync(@nargs=1, @blob="10000000 5068616e 746f6d30 315f6174 00000000"); ++600: // 720 + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="c8000000 00000000 f02374c9 00000040"); + killAllAsync(@blob=""); + jmp(@nargs=2, @blob="2c000000 d0020000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff d0020000"); + ret(@blob=""); +} + + +void Phantom01_at() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 05000000"); + etSprite(@nargs=3, @blob="00000000 03000000 03000000"); + etCountD( + @nargs=9, + @blob="00000000 03000000 06000000 06000000 09000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 6666e63f 00000040 00004040 00004040 9a99d93f 9a99d93f 9a99d93f 9a99d93f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff"); + pushi(@nargs=1, @blob="14000000"); + modi(@blob=""); + wait(@mask=0b1, @nargs=1, @blob="ffffffff"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7077d63c"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="40000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="d0010000 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="00000000"); + greaterf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="0000003f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="34feffff 00000000"); + ret(@blob=""); +} + + +void RPhantom00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 30000000 69690000 5e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RPhantom01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 2e000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 31000000 69690000 5e000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YPhantom00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 30000000 69690000 64000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YPhantom01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="0c000000 5068616e 746f6d30 31000000 69690000 64000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void main() { + stackAlloc(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="20000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 4d61706c 65456e65 6d790000 00000000 000080c1 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + wait(@nargs=1, @blob="5a000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 30000000"); + wait(@nargs=1, @blob="18010000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 31000000"); + wait(@nargs=1, @blob="c8000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 32000000"); + wait(@nargs=1, @blob="d2000000"); + playSound(@nargs=1, @blob="35000000"); + dialogRead(@nargs=1, @blob="02000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 00004043 000000c2 28000000 10270000 01000000", + ); + dialogWait(@blob=""); + wait(@nargs=1, @blob="e8030000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000"); + wait(@nargs=1, @blob="c8000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000"); + wait(@nargs=1, @blob="c8000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000"); + wait(@nargs=1, @blob="68010000"); + dialogRead(@nargs=1, @blob="00000000"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 000058c3 00008042 28000000 e8030000 01000000", + ); + deathWait(@blob=""); + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); ++40000: // 40000 + nop(@blob=""); + delete(@blob=""); +} diff --git a/research/stage06.tstd b/research/stage06.tstd new file mode 100644 index 0000000..62a5c19 --- /dev/null +++ b/research/stage06.tstd @@ -0,0 +1,127 @@ +#pragma mapfile "utils/th095.stdm" + +meta { + unknown: 0, + anm_path: "stage06.anm", + objects: { + object0: { + layer: 0, + pos: [0.0, 0.0, 0.0], + size: [1024.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 0, + pos: [-384.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [-128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 0, + pos: [384.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + ], + }, + object1: { + layer: 1, + pos: [0.0, 0.0, 0.0], + size: [1024.0, 256.0, 0.0], + quads: [ + rect { + anm_script: 1, + pos: [-384.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 1, + pos: [-128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 1, + pos: [128.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + rect { + anm_script: 1, + pos: [384.0, 0.0, 0.0], + size: [256.0, 256.0], + }, + ], + }, + }, + instances: [ + object0 {pos: [0.0, -512.0, 0.0]}, + object1 {pos: [0.0, -512.0, 0.0]}, + object0 {pos: [0.0, -256.0, 0.0]}, + object1 {pos: [0.0, -256.0, 0.0]}, + object0 {pos: [0.0, 0.0, 0.0]}, + object1 {pos: [0.0, 0.0, 0.0]}, + object0 {pos: [0.0, 256.0, 0.0]}, + object1 {pos: [0.0, 256.0, 0.0]}, + object0 {pos: [0.0, 512.0, 0.0]}, + object1 {pos: [0.0, 512.0, 0.0]}, + object0 {pos: [0.0, 768.0, 0.0]}, + object1 {pos: [0.0, 768.0, 0.0]}, + object0 {pos: [0.0, 1024.0, 0.0]}, + object1 {pos: [0.0, 1024.0, 0.0]}, + object0 {pos: [0.0, 1280.0, 0.0]}, + object1 {pos: [0.0, 1280.0, 0.0]}, + object0 {pos: [0.0, 1536.0, 0.0]}, + object1 {pos: [0.0, 1536.0, 0.0]}, + object0 {pos: [0.0, 1792.0, 0.0]}, + object1 {pos: [0.0, 1792.0, 0.0]}, + object0 {pos: [0.0, 2048.0, 0.0]}, + object1 {pos: [0.0, 2048.0, 0.0]}, + ], +} + + +script main { + up(0.0, 1.0, 0.0); + fov(0.62831855); + pos(0.0, 0.0, -600.0); + posTime(300, 4, 0.0, 0.0, -200.0); + facing(0.0, 600.0, 200.0); + rockingMode(6); + fog(0xff000000, 200.0, 250.0); + distortion(1); + fogTime(400, 0, 0xfff04000, 500.0, 1200.0); ++300: // 300 + pos(0.0, 0.0, -200.0); + posTime(2048, 0, 0.0, 1024.0, -200.0); ++2048: // 2348 + pos(0.0, 0.0, -200.0); + posTime(2048, 0, 0.0, 1024.0, -200.0); ++2048: // 4396 + pos(0.0, 0.0, -200.0); + posTime(2048, 0, 0.0, 1024.0, -200.0); ++2048: // 6444 + pos(0.0, 0.0, -200.0); + posTime(380, 0, 0.0, 190.0, -200.0); ++380: // 6824 + pos(0.0, 190.0, -200.0); + posTime(128, 1, 0.0, 254.0, -1200.0); + facingTime(128, 1, 0.0, 0.0, 600.0); + fogTime(128, 0, 0xffffffff, 500.0, 1200.0); ++128: // 6952 + pos(0.0, -1794.0, -1200.0); + rockingMode(0); + sprite(0, 2); + sprite(1, 3); + fog(0xff000000, 800.0, 1200.0); + distortion(2); + loop { + pos(0.0, -1794.0, -1200.0); ++2048: // 9000 + } +} diff --git a/research/stage06boss.tecl b/research/stage06boss.tecl new file mode 100644 index 0000000..693cfa4 --- /dev/null +++ b/research/stage06boss.tecl @@ -0,0 +1,2577 @@ +#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=""); +} diff --git a/research/stage06mboss.tecl b/research/stage06mboss.tecl new file mode 100644 index 0000000..c50d36f --- /dev/null +++ b/research/stage06mboss.tecl @@ -0,0 +1,226 @@ +#pragma mapfile "utils/th11.eclm" + +meta {} + + +void MBoss() { + stackAlloc(@nargs=1, @blob="10000000"); + setBoss(@nargs=1, @blob="00000000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="02000000 aa000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 07000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00002042 00002042"); + lifeSet(@nargs=1, @blob="d0070000"); + lifeMarker(@nargs=3, @blob="00000000 0000fa44 80a0ffff"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + setChapter(@nargs=1, @blob="06000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + wait(@nargs=1, @blob="46000000"); + playSound(@nargs=1, @blob="29000000"); + anmSetSprite(@nargs=2, @blob="00000000 23000000"); ++60: // 60 + dialogWait(@blob=""); + anmSetMain(@nargs=2, @blob="00000000 1b000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008041"); + playSound(@nargs=1, @blob="29000000"); + fog(@nargs=2, @blob="00002043 00808000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSelect(@nargs=1, @blob="02000000"); + call(@nargs=1, @blob="0c000000 4d426f73 73436172 64310000"); + jmp(@nargs=2, @blob="2c000000 3c000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); + delete(@blob=""); +} + + +void MBossCard1() { + stackAlloc(@nargs=1, @blob="14000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ac080000 08000000 426f7373 32000000", + ); + spell( + @nargs=4, + @blob="8a000000 ac080000 00000000 14000000 e01a1c4a 724f1836 e67d0ff8 65661ea6 e61885ac", + ); + setChapter(@nargs=1, @blob="0f000000"); + lifeSet(@nargs=1, @blob="d0070000"); + lifeMarker(@nargs=3, @blob="00000000 0000fa44 80a0ffff"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 ac080000 0c000000 4d426f73 73446561 64000000", + ); + killAllAsync(@blob=""); + setInvuln(@nargs=1, @blob="3c000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + enmKillAll(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + moveLimitReset(@blob=""); ++30: // 30 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 90 + nop(@blob=""); + flagSet(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="32000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="64020000 5a000000"); + pushf(@nargs=1, @blob="7077d63c"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077d63b"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushi(@nargs=1, @blob="19000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64315f61 74000000"); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + pushf(@nargs=1, @blob="7077d6bc"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077d6bb"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushi(@nargs=1, @blob="12000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64315f61 74000000"); + wait(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="1e000000"); + greateri(@blob=""); + jmpEq(@nargs=2, @blob="64000000 5a000000"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="04000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="a0fdffff 5a000000"); + ret(@blob=""); +} + + +void MBossCard1_at() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@mask=0b1, @nargs=1, @blob="00d9ffff"); + etAim(@mask=0b1, @nargs=2, @blob="00d9ffff 03000000"); + etSprite(@mask=0b11, @nargs=3, @blob="00d9ffff ffd8ffff 00000000"); + etCountD( + @mask=0b1, + @nargs=9, + @blob="00d9ffff 0c000000 18000000 1a000000 1c000000 01000000 01000000 01000000 01000000", + ); + etAngle(@mask=0b1, @nargs=3, @blob="00d9ffff 00000000 00000000"); + etSpeedD( + @mask=0b1, + @nargs=9, + @blob="00d9ffff 0000e03f 0000e03f 0000e03f 0000e03f 0000c03f 0000c03f 0000c03f 0000c03f", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00d9ffff 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00d9ffff 02000000 00000000 04000000 3c000000 c1bdf0ff 8988883c f02374c9", + ); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="0c000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="64000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@mask=0b1, @nargs=1, @blob="00d9ffff"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + jmp(@nargs=2, @blob="88010000 00000000"); + etEx( + @mask=0b1, + @nargs=8, + @blob="14000000 01000000 00000000 00100000 1e000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@mask=0b11, @nargs=2, @blob="14000000 00000000"); + etAngle(@mask=0b11, @nargs=3, @blob="14000000 00008040 00000000"); + etOn(@mask=0b1, @nargs=1, @blob="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="0e000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="07000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="08000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="7cfeffff 00000000"); + ret(@blob=""); +} + + +void MBossDead() { + stackAlloc(@nargs=1, @blob="04000000"); + 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", + ); ++60: // 60 + etClearAll(@blob=""); + spellEnd(@blob=""); + enmKillAll(@blob=""); + dropMain(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="0c010000 3c000000"); + dropClear(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="2c000000 3c000000"); + dropMain(@nargs=1, @blob="05000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="04000000 02000000"); + dropExtra(@nargs=2, @blob="02000000 0a000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000"); + anmPlay(@nargs=2, @blob="00000000 4c000000"); + anmPlay(@nargs=2, @blob="00000000 8e000000"); + playSound(@nargs=1, @blob="12000000"); + setBoss(@nargs=1, @blob="ffffffff"); + delete(@blob=""); + delete(@blob=""); +} diff --git a/research/stage07.tanm b/research/stage07.tanm new file mode 100644 index 0000000..7906c59 --- /dev/null +++ b/research/stage07.tanm @@ -0,0 +1,128 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "background/stage07/stg7bg.png", + img_width: 256, + img_height: 256, + memory_priority: 11, + sprites: {sprite0: {x: 0.0, y: 0.0, w: 256.0, h: 512.0}}, +} + + +script 0 script0 { + type(8); + sprite(sprite0); + stop(); +} + + +entry { + path: "background/stage07/stg7bg2.png", + img_width: 256, + img_height: 256, + memory_priority: 11, + sprites: {sprite1: {x: 1.0, y: 0.0, w: 254.0, h: 512.0}}, +} + + +script 1 script1 { + type(8); + sprite(sprite1); + stop(); +} + + +script 2 script2 { + type(8); + rotate(0.0, 3.1415927, 0.0); + sprite(sprite1); + stop(); +} + + +entry { + path: "background/stage07/stg7bg3.png", + img_width: 32, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 11, + sprites: {sprite2: {x: 0.0, y: 0.0, w: 32.0, h: 512.0}}, +} + + +script 3 script3 { + type(8); + color(96, 96, 96); + rotate(1.5707964, 0.0, 0.0); + sprite(sprite2); + stop(); +} + + +script 4 script4 { + type(8); + color(255, 255, 255); + rotate(1.5707964, 0.0, 1.5707964); + sprite(sprite2); + stop(); +} + + +script 5 script5 { + type(8); + color(32, 32, 32); + rotate(1.5707964, 0.0, 1.5707964); + sprite(sprite2); + stop(); ++3368: // 3368 + colorTime(120, 0, 0, 0, 0); + stop(); +} + + +script 6 script6 { + type(8); + color(0, 0, 0); + rotate(1.5707964, 0.0, 0.7853982); + sprite(sprite2); + stop(); ++3368: // 3368 + colorTime(120, 0, 0, 0, 0); + stop(); +} + + +script 7 script7 { + type(8); + color(128, 128, 128); + rotate(1.5707964, 0.0, -0.7853982); + sprite(sprite2); + stop(); ++3368: // 3368 + colorTime(120, 0, 0, 0, 0); + stop(); +} + + +script 8 script8 { + type(8); + color(192, 192, 192); + rotate(1.5707964, 0.0, 0.7853982); + sprite(sprite2); + stop(); ++3368: // 3368 + colorTime(120, 0, 0, 0, 0); + stop(); +} + + +script 9 script9 { + type(8); + color(96, 96, 96); + rotate(1.5707964, 0.0, -0.7853982); + sprite(sprite2); + stop(); ++3368: // 3368 + colorTime(120, 0, 0, 0, 0); + stop(); +} diff --git a/research/stage07.tecl b/research/stage07.tecl new file mode 100644 index 0000000..7800e36 --- /dev/null +++ b/research/stage07.tecl @@ -0,0 +1,1263 @@ +#pragma mapfile "utils/th11.eclm" + +meta { + anim: ["enemy.anm", "stgenm07.anm"], + ecli: ["default.ecl", "stage07mboss.ecl", "stage07boss.ecl"], +} + + +void BGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2d000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 00000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void BGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2d000000"); + call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 00000000"); + delete(@blob=""); +} + + +void BGirl05() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="02000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2d000000"); + call(@nargs=2, @blob="08000000 4769726c 30350000 69690000 00000000"); + delete(@blob=""); +} + + +void GGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2f000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 0a000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void GGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2f000000"); + call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 0a000000"); + delete(@blob=""); +} + + +void GGirl05() { + stackAlloc(@nargs=1, @blob="04000000"); + dropMain(@nargs=1, @blob="03000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2f000000"); + call(@nargs=2, @blob="08000000 4769726c 30350000 69690000 0a000000"); + delete(@blob=""); +} + + +void Girl00() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + flagSet(@nargs=1, @blob="02000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + pushf(@nargs=1, @blob="db0fc9bf"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushf(@nargs=1, @blob="00000042"); + divf(@blob=""); + addf(@blob=""); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00000041"); ++30: // 30 + moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000"); ++50: // 80 + callAsync( + @mask=0b10, + @nargs=2, + @blob="0c000000 52476972 6c30305f 61740000 69690000 04000000", + ); ++150: // 230 + moveVel(@nargs=2, @blob="db0fc93e 00000000"); + moveVelTime(@nargs=4, @blob="64000000 00000000 db0fc93e 00004040"); ++6000: // 6230 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="00000000 28000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 05000000"); + dropExtra(@nargs=2, @blob="02000000 0a000000"); + dropExtra(@nargs=2, @blob="03000000 0a000000"); + dropArea(@nargs=2, @blob="00000042 00000042"); + moveVel(@nargs=2, @blob="db0fc93f 3333333f"); + callAsync(@nargs=1, @blob="0c000000 52476972 6c30315f 61740000"); ++6000: // 6000 + nop(@blob=""); + delete(@blob=""); +} + + +void Girl01b() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="00000000 28000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 05000000"); + dropExtra(@nargs=2, @blob="02000000 0a000000"); + dropExtra(@nargs=2, @blob="03000000 0a000000"); + dropArea(@nargs=2, @blob="00000042 00000042"); + moveVel(@nargs=2, @blob="db0fc93f 3333333f"); + callAsync(@nargs=1, @blob="0c000000 52476972 6c30315f 61740000"); ++6000: // 6000 + nop(@blob=""); + delete(@blob=""); +} + + +void Girl02() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="00000000 28000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 0a000000"); + dropExtra(@nargs=2, @blob="03000000 0a000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + moveVel(@nargs=2, @blob="db0fc93f 9a99d93f"); + callAsync(@nargs=1, @blob="0c000000 52476972 6c30325f 61740000"); ++80: // 80 + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000"); ++160: // 240 + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 0000803f"); ++6000: // 6240 + nop(@blob=""); + delete(@blob=""); +} + + +void Girl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + flagSet(@nargs=1, @blob="02000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + callAsync(@nargs=1, @blob="0c000000 52476972 6c30335f 61740000"); + moveVel(@nargs=2, @blob="00000000 0000a040"); ++50: // 50 + moveVelTime(@nargs=4, @blob="1e000000 00000000 db0f4940 f02374c9"); ++6000: // 6050 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl04() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="00000000 28000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 02000000"); + dropExtra(@nargs=2, @blob="02000000 06000000"); + dropExtra(@nargs=2, @blob="03000000 06000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + moveVel(@nargs=2, @blob="db0fc93f 6666b640"); + callAsync(@nargs=1, @blob="0c000000 52476972 6c30345f 61740000"); ++10: // 10 + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); ++160: // 170 + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00004040"); ++6000: // 6170 + nop(@blob=""); + delete(@blob=""); +} + + +void Girl05() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000"); + flagSet(@nargs=1, @blob="40000000"); + flagSet(@nargs=1, @blob="02000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + callAsync(@nargs=1, @blob="0c000000 52476972 6c30355f 61740000"); + moveVel(@nargs=2, @blob="00000000 0000a040"); ++50: // 50 + moveVelTime(@nargs=4, @blob="1e000000 00000000 db0f4940 f02374c9"); ++6000: // 6050 + nop(@blob=""); + ret(@blob=""); +} + + +void Girl06() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="00000000 28000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 02000000"); + dropExtra(@nargs=2, @blob="02000000 06000000"); + dropExtra(@nargs=2, @blob="03000000 06000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + moveVel(@nargs=2, @blob="db0fc93f 6666b640"); + callAsync(@nargs=1, @blob="0c000000 52476972 6c30365f 61740000"); ++10: // 10 + moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000"); ++160: // 170 + moveVel(@nargs=2, @blob="db0fc9bf 00000000"); + moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000040"); ++6000: // 6170 + nop(@blob=""); + delete(@blob=""); +} + + +void Girl07() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="00000000 28000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="0000c041 0000c041"); + setHitbox(@nargs=2, @blob="00008041 00008041"); + dropClear(@blob=""); + dropExtra(@nargs=2, @blob="01000000 03000000"); + dropExtra(@nargs=2, @blob="02000000 0a000000"); + dropExtra(@nargs=2, @blob="03000000 0a000000"); + dropArea(@nargs=2, @blob="00000042 00000042"); + moveVel(@nargs=2, @blob="db0fc93f 3333333f"); + callAsync(@nargs=1, @blob="0c000000 52476972 6c30315f 61740000"); ++6000: // 6000 + nop(@blob=""); + delete(@blob=""); +} + + +void MainBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); ++60: // 60 + dialogRead(@nargs=1, @blob="ffffffff"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 000058c3 00008042 28000000 e8030000 01000000", + ); + ins_500(@nargs=1, @blob="64000000"); + dialogWait(@blob=""); + deathWait(@blob=""); ++60: // 120 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + ret(@blob=""); + ret(@blob=""); +} + + +void MainMBossDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + dialogRead(@nargs=1, @blob="02000000"); + ins_500(@nargs=1, @blob="64000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 00004043 000000c2 28000000 10270000 01000000", + ); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + ret(@blob=""); +} + + +void MainMsgDebug() { + stackAlloc(@nargs=1, @blob="00000000"); + ins_500(@nargs=1, @blob="64000000"); ++120: // 120 + dialogRead(@nargs=1, @blob="00000000"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 000058c3 00008042 28000000 e8030000 01000000", + ); ++1: // 121 + dialogWait(@blob=""); ++60: // 181 + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="28000000 55100000"); ++4000: // 4181 + nop(@blob=""); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="dcffffff b5000000"); + ret(@blob=""); +} + + +void MainSub00() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="44020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="d0000000 00000000"); + pushi(@nargs=1, @blob="40ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303000 00008040 0000e843 14000000 e8030000 02000000", + ); + jmp(@nargs=2, @blob="b8000000 00000000"); + pushi(@nargs=1, @blob="c0000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + enmCreateAM( + @mask=0b10, + @nargs=6, + @blob="08000000 52476972 6c303000 00008040 0000e843 14000000 e8030000 01000000", + ); + wait(@nargs=1, @blob="0a000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="9cfdffff 00000000"); + ret(@blob=""); +} + + +void MainSub01() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 00000000 000000c2 d0070000 e8030000 02000000", + ); + wait(@nargs=1, @blob="2c010000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 00004042 000000c2 e8030000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 000040c2 000000c2 e8030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="2c010000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 0000c042 000000c2 e8030000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 0000c0c2 000000c2 e8030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="2c010000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 00001043 000000c2 e8030000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 000010c3 000000c2 e8030000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub02() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30320000 00000000 000000c2 e8030000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub03() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303300 000060c3 00000043 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="38ffffff 00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303300 00006043 00000043 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="38ffffff 00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303300 000060c3 00000043 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="38ffffff 00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303300 00006043 00000043 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="38ffffff 00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303300 000060c3 00000043 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="38ffffff 00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303300 00006043 00000043 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="38ffffff 00000000"); + ret(@blob=""); +} + + +void MainSub04() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30340000 00000000 000000c2 e8030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30340000 00000043 000000c2 20030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30340000 00008042 000000c2 20030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30340000 000080c2 000000c2 20030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30340000 000000c3 000000c2 20030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="78000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30340000 000010c3 000000c2 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="5a000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30340000 000090c2 000000c2 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="5a000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30340000 00000000 000000c2 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="5a000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30340000 00009042 000000c2 f4010000 e8030000 02000000", + ); + wait(@nargs=1, @blob="5a000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30340000 00001043 000000c2 f4010000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MainSub05() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303500 000060c3 00002043 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="38ffffff 00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303500 00006043 00002043 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="38ffffff 00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303500 000060c3 00002043 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="38ffffff 00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303500 00006043 00002043 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="38ffffff 00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 42476972 6c303500 000060c3 00002043 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="38ffffff 00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="a8000000 00000000"); + enmCreateAM( + @nargs=6, + @blob="08000000 42476972 6c303500 00006043 00002043 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="05000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + lessi(@blob=""); + jmpNeq(@nargs=2, @blob="38ffffff 00000000"); + ret(@blob=""); +} + + +void MainSub06() { + stackAlloc(@nargs=1, @blob="00000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30360000 00000000 000000c2 e8030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="60000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="60000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="60000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="a0ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="a0ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="a0ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000", + ); + wait(@nargs=1, @blob="3c000000"); + ret(@blob=""); +} + + +void MainSub07() { + stackAlloc(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 00000000 000000c2 20030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="96000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 00004042 000000c2 20030000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 000040c2 000000c2 20030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="96000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 0000c042 000000c2 20030000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 0000c0c2 000000c2 20030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="96000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 00001043 000000c2 20030000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 000010c3 000000c2 20030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="b4000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 00000000 000000c2 20030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="96000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 00004042 000000c2 20030000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 000040c2 000000c2 20030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="96000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 0000c042 000000c2 20030000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30310000 0000c0c2 000000c2 20030000 e8030000 02000000", + ); + wait(@nargs=1, @blob="96000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30316200 00001043 000000c2 20030000 e8030000 02000000", + ); + enmCreateA( + @nargs=6, + @blob="08000000 4769726c 30316200 000010c3 000000c2 20030000 e8030000 02000000", + ); + ret(@blob=""); +} + + +void MapleEnemy() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + anmPlayAbs(@nargs=2, @blob="00000000 b3000000"); ++3: // 3 + jmp(@nargs=2, @blob="e8ffffff 00000000"); + delete(@blob=""); +} + + +void MapleEnemy2() { + stackAlloc(@nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + anmPlayAbs(@nargs=2, @blob="00000000 be000000"); ++3: // 3 + jmp(@nargs=2, @blob="e8ffffff 00000000"); + delete(@blob=""); +} + + +void RGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 05000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void RGirl00_at() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 03000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 0000b040 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="dc000000 00000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00141cc6 00000000"); + jmp(@nargs=2, @blob="40000000 00000000"); + wait(@nargs=1, @blob="05000000"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + wait(@nargs=1, @blob="28000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="28ffffff 00000000"); + ret(@blob=""); +} + + +void RGirl01_at() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etCount(@nargs=3, @blob="00000000 38000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 0000c03f 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@nargs=2, @blob="00000000 00004042"); + jmp(@nargs=2, @blob="5c000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="78000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="a8ffffff 00000000"); + ret(@blob=""); +} + + +void RGirl02_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 04000000 06000000"); + etCount(@nargs=3, @blob="00000000 02000000 04000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 00009040 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 20000000 3c000000 01000000 00000000 00004040", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="c7b8323e"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="bc000000 00000000"); + etAngle(@mask=0b110, @nargs=3, @blob="00000000 00141cc6 00000041"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="c7b8323e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + wait(@nargs=1, @blob="0a000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="48ffffff 00000000"); + ret(@blob=""); +} + + +void RGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 05000000"); + delete(@blob=""); +} + + +void RGirl03_at() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 0000b040 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="f0000000 00000000"); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 10000000 3c000000 01000000 00381cc6 0000803f", + ); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="40000000 00000000"); + wait(@nargs=1, @blob="05000000"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="14ffffff 00000000"); + ret(@blob=""); +} + + +void RGirl04_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="28000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 04000000 06000000"); + etCount(@nargs=3, @blob="00000000 0f000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc93f db0f493f"); + etSpeed(@nargs=3, @blob="00000000 0000d040 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="c7b8323e"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="a0000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="c7b8323e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + wait(@nargs=1, @blob="04000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="64ffffff 00000000"); + ret(@blob=""); +} + + +void RGirl05() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 2e000000"); + dropMain(@nargs=1, @blob="01000000"); + call(@nargs=2, @blob="08000000 4769726c 30350000 69690000 05000000"); + delete(@blob=""); +} + + +void RGirl05_at() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 0000b040 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="28010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="06000000"); + divf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 10000000 3c000000 01000000 000080bf 00004040", + ); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="40000000 00000000"); + wait(@nargs=1, @blob="02000000"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="dcfeffff 00000000"); + ret(@blob=""); +} + + +void RGirl06_at() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="28000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 11000000 02000000"); + etCount(@nargs=3, @blob="00000000 03000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc93f db0f493f"); + etSpeed(@nargs=3, @blob="00000000 33331340 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff cdcc4c3d f02374c9", + ); + wait(@nargs=1, @blob="28000000"); + jmp(@nargs=2, @blob="94000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf db0f493f"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="70ffffff 00000000"); + ret(@blob=""); +} + + +void RGirl07_at() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 06000000"); + etCount(@nargs=3, @blob="00000000 38000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a063d"); + etSpeed(@nargs=3, @blob="00000000 0000803f 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@nargs=2, @blob="00000000 00004042"); + jmp(@nargs=2, @blob="5c000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="64000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="a8ffffff 00000000"); + ret(@blob=""); +} + + +void YGirl00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 30000000"); + call( + @nargs=3, + @blob="08000000 4769726c 30300000 69690000 0f000000 69690000 01000000", + ); + delete(@blob=""); +} + + +void YGirl03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 30000000"); + call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 0f000000"); + delete(@blob=""); +} + + +void YGirl05() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetMain(@nargs=2, @blob="01000000 30000000"); + call(@nargs=2, @blob="08000000 4769726c 30350000 69690000 0f000000"); + delete(@blob=""); +} + + +void main() { + stackAlloc(@nargs=1, @blob="0c000000"); + flagSet(@nargs=1, @blob="20000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 4d61706c 65456e65 6d793200 00000000 000080c1 14000000 e8030000 02000000", + ); + wait(@nargs=1, @blob="b4000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 30000000"); + wait(@nargs=1, @blob="c8000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 31000000"); + wait(@nargs=1, @blob="2c010000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 32000000"); + wait(@nargs=1, @blob="2c010000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000"); + wait(@nargs=1, @blob="04010000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000"); + wait(@nargs=1, @blob="04010000"); + dialogRead(@nargs=1, @blob="02000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 000040c3 000000c2 28000000 10270000 01000000", + ); + dialogWait(@blob=""); + deathWait(@blob=""); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000"); + wait(@nargs=1, @blob="b4000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 36000000"); + wait(@nargs=1, @blob="b4000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000"); + call(@nargs=1, @blob="0c000000 4d61696e 53756230 37000000"); + wait(@nargs=1, @blob="90010000"); + dialogRead(@nargs=1, @blob="00000000"); + dialogWait(@blob=""); + enmCreateA( + @nargs=6, + @blob="08000000 426f7373 00000000 000058c3 00008042 28000000 e8030000 01000000", + ); + deathWait(@blob=""); + dialogRead(@nargs=1, @blob="01000000"); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); + wait(@nargs=1, @blob="5a000000"); + playSound(@nargs=1, @blob="35000000"); + dialogRead(@nargs=1, @blob="02000000"); + enmCreateA( + @nargs=6, + @blob="08000000 4d426f73 73000000 00004043 000000c2 28000000 10270000 01000000", + ); + dialogWait(@blob=""); + jmp(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 00000000"); ++40000: // 40000 + nop(@blob=""); + delete(@blob=""); +} diff --git a/research/stage07.tstd b/research/stage07.tstd new file mode 100644 index 0000000..bfbaf02 --- /dev/null +++ b/research/stage07.tstd @@ -0,0 +1,353 @@ +#pragma mapfile "utils/th095.stdm" + +meta { + unknown: 0, + anm_path: "stage07.anm", + objects: { + object0: { + layer: 0, + pos: [0.0, 0.0, 0.0], + size: [640.0, 512.0, 0.0], + quads: [ + rect { + anm_script: 1, + pos: [192.0, 0.0, 0.0], + size: [256.0, 512.0], + }, + rect { + anm_script: 2, + pos: [-192.0, 0.0, 0.0], + size: [256.0, 512.0], + }, + ], + }, + object1: { + layer: 1, + pos: [0.0, 0.0, -2.0], + size: [256.0, 512.0, 0.0], + quads: [ + rect { + anm_script: 0, + pos: [0.0, 0.0, -2.0], + size: [256.0, 512.0], + }, + ], + }, + object2: { + layer: 2, + pos: [-112.475, 155.95, 0.0], + size: [48.95, 785.3, 0.0], + quads: [ + rect { + anm_script: 5, + pos: [-96.0, 19.3, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 6, + pos: [-101.65, 5.65, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 3, + pos: [-115.3, 0.0, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 7, + pos: [-128.95, 5.65, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 4, + pos: [-134.6, 19.3, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 8, + pos: [-128.95, 30.6, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 3, + pos: [-115.3, 36.6, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 9, + pos: [-101.65, 30.6, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 5, + pos: [-96.0, 275.3, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 6, + pos: [-101.65, 261.65, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 3, + pos: [-115.3, 256.0, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 7, + pos: [-128.95, 261.65, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 4, + pos: [-134.6, 275.3, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 8, + pos: [-128.95, 286.6, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 3, + pos: [-115.3, 292.6, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 9, + pos: [-101.65, 286.6, 0.0], + size: [16.0, 512.0], + }, + ], + }, + object3: { + layer: 2, + pos: [115.3, 155.95, 0.0], + size: [54.6, 785.3, 0.0], + quads: [ + rect { + anm_script: 4, + pos: [96.0, 19.3, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 7, + pos: [101.65, 5.65, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 3, + pos: [115.3, 0.0, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 6, + pos: [128.95, 5.65, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 5, + pos: [134.6, 19.3, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 9, + pos: [128.95, 30.6, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 3, + pos: [115.3, 36.6, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 8, + pos: [101.65, 30.6, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 4, + pos: [96.0, 275.3, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 7, + pos: [101.65, 261.65, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 3, + pos: [115.3, 256.0, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 6, + pos: [128.95, 261.65, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 5, + pos: [134.6, 275.3, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 9, + pos: [128.95, 286.6, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 3, + pos: [115.3, 292.6, 0.0], + size: [16.0, 512.0], + }, + rect { + anm_script: 8, + pos: [101.65, 286.6, 0.0], + size: [16.0, 512.0], + }, + ], + }, + }, + instances: [ + object0 {pos: [0.0, -256.0, 0.0]}, + object1 {pos: [0.0, -256.0, 0.0]}, + object3 {pos: [0.0, -256.0, -64.0]}, + object2 {pos: [0.0, -256.0, -64.0]}, + object0 {pos: [0.0, 256.0, 0.0]}, + object1 {pos: [0.0, 256.0, 0.0]}, + object3 {pos: [0.0, 256.0, -64.0]}, + object2 {pos: [0.0, 256.0, -64.0]}, + object0 {pos: [0.0, 768.0, 0.0]}, + object1 {pos: [0.0, 768.0, 0.0]}, + object3 {pos: [0.0, 768.0, -64.0]}, + object2 {pos: [0.0, 768.0, -64.0]}, + object0 {pos: [0.0, 1280.0, 0.0]}, + object1 {pos: [0.0, 1280.0, 0.0]}, + object3 {pos: [0.0, 1280.0, -64.0]}, + object2 {pos: [0.0, 1280.0, -64.0]}, + object0 {pos: [0.0, 1792.0, 0.0]}, + object1 {pos: [0.0, 1792.0, 0.0]}, + object3 {pos: [0.0, 1792.0, -64.0]}, + object2 {pos: [0.0, 1792.0, -64.0]}, + object0 {pos: [0.0, 2304.0, 0.0]}, + object1 {pos: [0.0, 2304.0, 0.0]}, + object3 {pos: [0.0, 2304.0, -64.0]}, + object2 {pos: [0.0, 2304.0, -64.0]}, + object0 {pos: [0.0, 2816.0, 0.0]}, + object1 {pos: [0.0, 2816.0, 0.0]}, + object3 {pos: [0.0, 2816.0, -64.0]}, + object2 {pos: [0.0, 2816.0, -64.0]}, + object0 {pos: [0.0, 3328.0, 0.0]}, + object1 {pos: [0.0, 3328.0, 0.0]}, + object3 {pos: [0.0, 3328.0, -64.0]}, + object2 {pos: [0.0, 3328.0, -64.0]}, + object0 {pos: [0.0, 3840.0, 0.0]}, + object1 {pos: [0.0, 3840.0, 0.0]}, + object3 {pos: [0.0, 3840.0, -64.0]}, + object2 {pos: [0.0, 3840.0, -64.0]}, + object0 {pos: [0.0, 4352.0, 0.0]}, + object1 {pos: [0.0, 4352.0, 0.0]}, + object3 {pos: [0.0, 4352.0, -64.0]}, + object2 {pos: [0.0, 4352.0, -64.0]}, + object0 {pos: [0.0, 4864.0, 0.0]}, + object1 {pos: [0.0, 4864.0, 0.0]}, + object3 {pos: [0.0, 4864.0, -64.0]}, + object2 {pos: [0.0, 4864.0, -64.0]}, + object0 {pos: [0.0, 5376.0, 0.0]}, + object1 {pos: [0.0, 5376.0, 0.0]}, + object3 {pos: [0.0, 5376.0, -64.0]}, + object2 {pos: [0.0, 5376.0, -64.0]}, + object0 {pos: [0.0, 5888.0, 0.0]}, + object1 {pos: [0.0, 5888.0, 0.0]}, + object3 {pos: [0.0, 5888.0, -64.0]}, + object2 {pos: [0.0, 5888.0, -64.0]}, + ], +} + + +script main { + up(0.0, 1.0, 0.0); + fov(0.62831855); + rockingMode(7); + fog(0xffffffff, 200.0, 300.0); + pos(-0.0, 1024.0, -360.0); + facing(0.0, 360.0, 200.0); + posTime(480, 0, 0.0, 2048.0, -360.0); + fogTime(200, 0, 0xff804ff0, 500.0, 1400.0); ++480: // 480 + pos(0.0, 2048.0, -360.0); + loop { + pos(0.0, 2048.0, -360.0); + posTime(480, 0, 0.0, 3072.0, -360.0); + fogTime(200, 0, 0xff80f0f0, 500.0, 1400.0); ++480: // 960 + pos(0.0, 2048.0, -360.0); + posTime(480, 0, 0.0, 3072.0, -360.0); + fogTime(200, 0, 0xff804ff0, 500.0, 1400.0); ++480: // 1440 + } ++640: // 2080 + pos(0.0, 2048.0, -360.0); + posTime(640, 0, 0.0, 3072.0, -360.0); ++640: // 2720 + pos(0.0, 2048.0, -360.0); + posTime(640, 0, 0.0, 3072.0, -360.0); ++640: // 3360 + pos(0.0, 2048.0, -360.0); + posTime(640, 0, 0.0, 3072.0, -360.0); ++640: // 4000 + pos(0.0, 2560.0, -360.0); + posTime(400, 0, 0.0, 2880.0, -360.0); ++400: // 4400 + posTime(120, 4, 0.0, 2940.0, -360.0); ++60: // 4460 + posTime(1400, 0, 0.0, 3452.0, -360.0); ++1400: // 5860 + pos(0.0, 2940.0, -360.0); + posTime(120, 4, 0.0, 2960.0, -360.0); ++120: // 5980 + posTime(120, 1, 0.0, 3200.0, -360.0); ++120: // 6100 + pos(0.0, 3200.0, -360.0); + loop { + loop { + pos(0.0, 2176.0, -360.0); + posTime(256, 0, 0.0, 3200.0, -360.0); ++256: // 6356 + } + up(0.0, 0.0, -1.0); + fov(0.62831855); + fog(0xffff0000, 500.0, 1200.0); + pos(-0.0, 5120.0, -280.0); + facing(0.0, 360.0, 250.0); + pos(0.0, 1024.0, -280.0); + posTime(1024, 0, 0.0, 5120.0, -280.0); ++1024: // 7380 + pos(0.0, 1024.0, -280.0); + posTime(960, 0, 0.0, 4864.0, -280.0); ++960: // 8340 + pos(0.0, 1024.0, -280.0); + facingTime(240, 0, -360.0, 10.0, 200.0); + posTime(240, 0, 512.0, 1264.0, -280.0); ++240: // 8580 + pos(512.0, 1264.0, -280.0); + posTime(1024, 0, 512.0, 2288.0, -280.0); ++1024: // 9604 + fogTime(120, 0, 0xffffffff, 100.0, 300.0); + pos(512.0, 1264.0, -280.0); + facingTime(120, 0, -360.0, 10.0, 100.0); + posTime(120, 0, 512.0, 1384.0, -200.0); ++120: // 9724 + sprite(0, 0); + sprite(1, 10); + fov(0.9817477); + facingTime(120, 0, -360.0, 10.0, -10.0); + fogTime(120, 0, 0xff000000, 100.0, 300.0); + posTime(120, 0, 472.0, 1414.0, -80.0); ++120: // 9844 + pos(472.0, 1414.0, -80.0); + pos(472.0, 390.0, -80.0); + posTime(4096, 0, 472.0, 1414.0, -80.0); ++4096: // 13940 + } +} diff --git a/research/stage07boss.tecl b/research/stage07boss.tecl new file mode 100644 index 0000000..a4b2bcf --- /dev/null +++ b/research/stage07boss.tecl @@ -0,0 +1,3634 @@ +#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="c8320000"); + 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 0000ff00"); + setChapter(@nargs=1, @blob="18000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 0000c042"); + lifeSet(@nargs=1, @blob="c8320000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSetSprite(@nargs=2, @blob="02000000 aa000000"); + 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="09000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + wait(@nargs=1, @blob="14000000"); + jmp(@nargs=2, @blob="28010000 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="64000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 31417431 62000000"); + wait(@nargs=1, @blob="3c000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00004040"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="dcfeffff 00000000"); + ret(@blob=""); +} + + +void Boss1At1() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 0a000000"); + etCount(@nargs=3, @blob="00000000 1c000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 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", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="10000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="44010000 00000000"); + circlePos( + @mask=0b1111, + @nargs=4, + @blob="00000041 00004041 00008040 00000000", + ); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041"); + 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="00008041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="7028c43e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="c0feffff 00000000"); + ret(@blob=""); +} + + +void Boss1At1b() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 08000000"); + etCount(@nargs=3, @blob="00000000 1c000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 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", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="10000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="44010000 00000000"); + circlePos( + @mask=0b1111, + @nargs=4, + @blob="00000041 00004041 00008040 00000000", + ); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041"); + 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="00008041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="7028c43e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="c0feffff 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=""); + laserCancel(@blob=""); + funcSet(@nargs=1, @blob="00000000"); + lifeSet(@nargs=1, @blob="dc370000"); + setInterrupt( + @nargs=4, + @blob="00000000 e40c0000 100e0000 0c000000 426f7373 43617264 32000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00404e45 80a0ffff"); + setChapter(@nargs=1, @blob="19000000"); + stars(@nargs=1, @blob="08000000"); + setInvuln(@nargs=1, @blob="3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="e4000000 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="01000000 0a000000"); + 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"); ++60: // 60 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00004042"); + callAsync(@nargs=1, @blob="0c000000 426f7373 32417431 00000000"); + jmp(@nargs=2, @blob="48000000 3c000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="78000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="bcffffff 3c000000"); + ret(@blob=""); +} + + +void Boss2At1() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCount(@nargs=3, @blob="00000000 0e000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000a040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="b8010000 00000000"); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushf(@nargs=1, @blob="00006040"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="24010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7077d63c"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="9a99993e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="e0feffff 00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="4cfeffff 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=""); + funcSet(@nargs=1, @blob="00000000"); + lifeSet(@nargs=1, @blob="e8350000"); + setInterrupt( + @nargs=4, + @blob="00000000 f00a0000 100e0000 0c000000 426f7373 43617264 33000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00002f45 80a0ffff"); + setChapter(@nargs=1, @blob="1a000000"); + stars(@nargs=1, @blob="07000000"); + 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 0a000000"); + 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 00000000 00000043"); ++60: // 60 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 33417431 00000000"); + jmp(@nargs=2, @blob="5c000000 3c000000"); + 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="a8ffffff 3c000000"); + ret(@blob=""); +} + + +void Boss3At1() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 0d000000 01000000"); + etCount(@nargs=3, @blob="00000000 0e000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000a040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@nargs=2, @blob="00000000 00008041"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="b8010000 00000000"); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushf(@nargs=1, @blob="00002040"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="24010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7077d63c"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="cdcccc3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="e0feffff 00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="4cfeffff 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=""); + funcSet(@nargs=1, @blob="00000000"); + lifeSet(@nargs=1, @blob="78370000"); + setInterrupt( + @nargs=4, + @blob="00000000 800c0000 100e0000 0c000000 426f7373 43617264 34000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00004845 80a0ffff"); + setChapter(@nargs=1, @blob="19000000"); + stars(@nargs=1, @blob="06000000"); + setInvuln(@nargs=1, @blob="3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="e4000000 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="01000000 0a000000"); + 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"); ++120: // 120 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00004042"); + wait(@nargs=1, @blob="14000000"); + jmp(@nargs=2, @blob="14010000 78000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 34417431 00000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 34417431 62000000"); + wait(@nargs=1, @blob="3c000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00004040"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="f0feffff 78000000"); + ret(@blob=""); +} + + +void Boss4At1() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCount(@nargs=3, @blob="00000000 14000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 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", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="10000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="44010000 00000000"); + circlePos( + @mask=0b1111, + @nargs=4, + @blob="00000041 00004041 00008040 00000000", + ); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041"); + 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="00008041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="7028c43e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="c0feffff 00000000"); + ret(@blob=""); +} + + +void Boss4At1b() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 04000000"); + etCount(@nargs=3, @blob="00000000 14000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 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", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="10000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="44010000 00000000"); + circlePos( + @mask=0b1111, + @nargs=4, + @blob="00000041 00004041 00008040 00000000", + ); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041"); + 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="00008041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="7028c43e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="c0feffff 00000000"); + ret(@blob=""); +} + + +void Boss5() { + 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=""); + funcSet(@nargs=1, @blob="00000000"); + lifeSet(@nargs=1, @blob="f92a0000"); + setInterrupt( + @nargs=4, + @blob="00000000 01000000 100e0000 0c000000 426f7373 43617264 35000000", + ); + lifeMarker(@nargs=3, @blob="00000000 0000803f 80a0ffff"); + setChapter(@nargs=1, @blob="19000000"); + stars(@nargs=1, @blob="05000000"); + setInvuln(@nargs=1, @blob="3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="e4000000 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="01000000 0a000000"); + 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"); ++120: // 120 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00004042"); + callAsync(@nargs=1, @blob="0c000000 426f7373 35417431 00000000"); + jmp(@nargs=2, @blob="48000000 78000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 0000803f"); + wait(@nargs=1, @blob="78000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="bcffffff 78000000"); + ret(@blob=""); +} + + +void Boss5At1() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 04000000"); + etCount(@nargs=3, @blob="00000000 10000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000a040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="b8010000 00000000"); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushf(@nargs=1, @blob="00004040"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="24010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7077d63c"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="9a99193e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="e0feffff 00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="4cfeffff 00000000"); + ret(@blob=""); +} + + +void Boss5At1b() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 04000000"); + etCount(@nargs=3, @blob="00000000 18000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 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", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="10000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="44010000 00000000"); + circlePos( + @mask=0b1111, + @nargs=4, + @blob="00000041 00004041 00008040 00000000", + ); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041"); + 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="00008041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="7028c43e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="c0feffff 00000000"); + ret(@blob=""); +} + + +void Boss6() { + 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=""); + funcSet(@nargs=1, @blob="00000000"); + lifeSet(@nargs=1, @blob="90330000"); + setInterrupt( + @nargs=4, + @blob="00000000 800c0000 100e0000 0c000000 426f7373 43617264 36000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00004845 80a0ffff"); + setChapter(@nargs=1, @blob="19000000"); + stars(@nargs=1, @blob="04000000"); + 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 0a000000"); + 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"); + anmSetSprite(@nargs=2, @blob="02000000 ffffffff"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); ++120: // 120 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00004042"); + callAsync(@nargs=1, @blob="0c000000 426f7373 36417431 00000000"); + jmp(@nargs=2, @blob="5c000000 78000000"); + wait(@nargs=1, @blob="a0000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="a8ffffff 78000000"); + ret(@blob=""); +} + + +void Boss6At1() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 0d000000 02000000"); + etCount(@nargs=3, @blob="00000000 0e000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000a040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etDist(@nargs=2, @blob="00000000 00008041"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="b8010000 00000000"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushf(@nargs=1, @blob="00002040"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="24010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7077d63c"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="0ad7a33d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="e0feffff 00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="4cfeffff 00000000"); + ret(@blob=""); +} + + +void Boss7() { + 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=""); + funcSet(@nargs=1, @blob="00000000"); + lifeSet(@nargs=1, @blob="20350000"); + setInterrupt( + @nargs=4, + @blob="00000000 100e0000 100e0000 0c000000 426f7373 43617264 37000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00006145 80a0ffff"); + setChapter(@nargs=1, @blob="19000000"); + stars(@nargs=1, @blob="03000000"); + setInvuln(@nargs=1, @blob="3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="e4000000 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="01000000 0a000000"); + 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"); + anmSetSprite(@nargs=2, @blob="02000000 ffffffff"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); ++120: // 120 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00004042"); + callAsync(@nargs=1, @blob="0c000000 426f7373 37417431 00000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 37417432 00000000"); + jmp(@nargs=2, @blob="5c000000 78000000"); + wait(@nargs=1, @blob="a0000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="a8ffffff 78000000"); + ret(@blob=""); +} + + +void Boss7At1() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 02000000"); + 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 00000040 cdcc4c3e"); + etEx( + @nargs=8, + @blob="02000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + wait(@nargs=1, @blob="1e000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="40000000 00000000"); + etOn(@nargs=1, @blob="02000000"); + wait(@nargs=1, @blob="28000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void Boss7At2() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 03000000 04000000"); + etCount(@nargs=3, @blob="00000000 01000000 0a000000"); + etAngle(@nargs=3, @blob="00000000 db0fc9bf 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000041 cdcc4c3e"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 10000000 3c000000 01000000 db0fc93f 00004040", + ); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 02000000"); + etSprite(@nargs=3, @blob="01000000 03000000 04000000"); + etCount(@nargs=3, @blob="01000000 01000000 0a000000"); + etAngle(@nargs=3, @blob="01000000 db0fc93f 00000000"); + etSpeed(@nargs=3, @blob="01000000 00000041 cdcc4c3e"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 10000000 3c000000 01000000 db0fc9bf 00004040", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="54000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b0ffffff 00000000"); + ret(@blob=""); +} + + +void Boss8() { + 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=""); + funcSet(@nargs=1, @blob="00000000"); + lifeSet(@nargs=1, @blob="e02e0000"); + setInterrupt( + @nargs=4, + @blob="00000000 d0070000 100e0000 0c000000 426f7373 43617264 38000000", + ); + lifeMarker(@nargs=3, @blob="00000000 0000fa44 80a0ffff"); + setChapter(@nargs=1, @blob="19000000"); + stars(@nargs=1, @blob="02000000"); + setInvuln(@nargs=1, @blob="3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="e4000000 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="01000000 0a000000"); + 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"); + anmSetSprite(@nargs=2, @blob="02000000 ffffffff"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); ++120: // 120 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00004042"); + callAsync(@nargs=1, @blob="0c000000 426f7373 38417431 00000000"); + callAsync(@nargs=1, @blob="0c000000 426f7373 38417432 00000000"); + jmp(@nargs=2, @blob="5c000000 78000000"); + wait(@nargs=1, @blob="a0000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + wait(@nargs=1, @blob="3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="a8ffffff 78000000"); + ret(@blob=""); +} + + +void Boss8At1() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 02000000"); + 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 00000040 cdcc4c3e"); + etEx( + @nargs=8, + @blob="02000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + wait(@nargs=1, @blob="1e000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="40000000 00000000"); + etOn(@nargs=1, @blob="02000000"); + wait(@nargs=1, @blob="28000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void Boss8At2() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 03000000 04000000"); + etCount(@nargs=3, @blob="00000000 01000000 0a000000"); + etAngle(@nargs=3, @blob="00000000 db0fc9bf 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000041 cdcc4c3e"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 10000000 3c000000 01000000 db0fc93f 00004040", + ); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 02000000"); + etSprite(@nargs=3, @blob="01000000 03000000 04000000"); + etCount(@nargs=3, @blob="01000000 01000000 0a000000"); + etAngle(@nargs=3, @blob="01000000 db0fc93f 00000000"); + etSpeed(@nargs=3, @blob="01000000 00000041 cdcc4c3e"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 10000000 3c000000 01000000 db0fc9bf 00004040", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="54000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="0a000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b0ffffff 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 18150000 08000000 426f7373 32000000", + ); + spellEx( + @nargs=4, + @blob="a5000000 18150000 20a10700 1c000000 e2221a67 724f074a f97b0ffd 69001996 f60d1421 748d0357 de907d24", + ); + 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="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="9c000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="4c000000 00000000"); + dropClear(@blob=""); + dropMain(@nargs=1, @blob="05000000"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); ++120: // 120 + nop(@blob=""); + jmp(@nargs=2, @blob="f4010000 78000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="c092ab3b"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + callAsync(@nargs=1, @blob="0c000000 426f7373 43617264 31417400"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 31417432 00000000"); + wait(@nargs=1, @blob="c8000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 31417433 00000000"); + wait(@nargs=1, @blob="c8000000"); + anmPlay(@nargs=2, @blob="00000000 83000000"); + playSound(@nargs=1, @blob="29000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="64000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="94d9203d"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + callAsync(@nargs=1, @blob="0c000000 426f7373 43617264 31417400"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 31417432 00000000"); + wait(@nargs=1, @blob="78000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="10feffff 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 BossCard10() { + stackAlloc(@nargs=1, @blob="08000000"); + setInvuln(@nargs=1, @blob="c8000000"); + enmKillAll(@blob=""); + 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", + ); + spellEnd(@blob=""); + killAllAsync(@blob=""); + funcCall(@nargs=1, @blob="0b000000"); + setChapter(@nargs=1, @blob="34000000"); + moveReset(@blob=""); + flagClear(@nargs=1, @blob="23000000"); + lifeSet(@nargs=1, @blob="c02b0000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 882c0000 0c000000 426f7373 44656164 00000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00002f46 80a0ffff"); + stars(@nargs=1, @blob="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 02000000"); + dropExtra(@nargs=2, @blob="02000000 28000000"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + playSound(@nargs=1, @blob="0f000000"); + anmSetMain(@nargs=2, @blob="00000000 00000000"); + wait(@nargs=1, @blob="b4000000"); + timerReset(@blob=""); + spellEx( + @nargs=4, + @blob="ae000000 882c0000 20a10700 1c000000 f60b16e8 704f12a6 ec7a0e77 68d80a31 e4fd0621 627102b1 de907d24", + ); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + moveLimitReset(@blob=""); ++60: // 60 + nop(@blob=""); + anmPlay(@nargs=2, @blob="00000000 83000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 31304574 41740000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 31304574 41743200"); + funcSet(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="40040000 3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="2c010000 3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="1ed9ffff"); + pushi(@nargs=1, @blob="d0200000"); + lessi(@blob=""); + jmpEq(@nargs=2, @blob="c4000000 3c000000"); + playSound(@nargs=1, @blob="0f000000"); + etClear(@nargs=1, @blob="00002044"); + killAllAsync(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 31304574 41744200"); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 31304574 41744232 00000000", + ); + jmp(@nargs=2, @blob="c8020000 3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="2c010000 3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="1ed9ffff"); + pushi(@nargs=1, @blob="e0150000"); + lessi(@blob=""); + jmpEq(@nargs=2, @blob="c4000000 3c000000"); + playSound(@nargs=1, @blob="0f000000"); + etClear(@nargs=1, @blob="00002044"); + killAllAsync(@blob=""); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 31304574 41744300"); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 31304574 41744332 00000000", + ); + jmp(@nargs=2, @blob="64010000 3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="02000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="14010000 3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="1ed9ffff"); + pushi(@nargs=1, @blob="f00a0000"); + lessi(@blob=""); + jmpEq(@nargs=2, @blob="c4000000 3c000000"); + playSound(@nargs=1, @blob="0f000000"); + etClear(@nargs=1, @blob="00002044"); + killAllAsync(@blob=""); + pushi(@nargs=1, @blob="03000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 31304574 41744400"); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 31304574 41744432 00000000", + ); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="c4fbffff 3c000000"); + jmp(@nargs=2, @blob="2c000000 3c000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); + ret(@blob=""); +} + + +void BossCard10EtAt() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 06000000"); + etCount(@nargs=3, @blob="00000000 40000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 01000000 02000000"); + etCount(@nargs=3, @blob="01000000 40000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="01000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="a0000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="64000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="64000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="64ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard10EtAt2() { + stackAlloc(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + jmp(@nargs=2, @blob="ec000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + validRad(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="7077563d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + validRad(@mask=0b1, @nargs=1, @blob="00f01bc6"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="18ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard10EtAtB() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 06000000"); + etCount(@nargs=3, @blob="00000000 30000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000c03f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 01000000 02000000"); + etCount(@nargs=3, @blob="01000000 30000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="01000000 0000c03f 0000c03f"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="a0000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="37000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="37000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="64ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard10EtAtB2() { + stackAlloc(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="d80fc93e"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + jmp(@nargs=2, @blob="ec000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + validRad(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="7077563d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + validRad(@mask=0b1, @nargs=1, @blob="00f01bc6"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="18ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard10EtAtC() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 06000000"); + etCount(@nargs=3, @blob="00000000 40000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 01000000 02000000"); + etCount(@nargs=3, @blob="01000000 40000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="01000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="a0000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="64000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="64000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="64ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard10EtAtC2() { + stackAlloc(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + jmp(@nargs=2, @blob="ec000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + validRad(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="7077563d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + validRad(@mask=0b1, @nargs=1, @blob="00f01bc6"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="18ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard10EtAtD() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 06000000"); + etCount(@nargs=3, @blob="00000000 40000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 01000000 02000000"); + etCount(@nargs=3, @blob="01000000 40000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="01000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="a0000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="28000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="28000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="64ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard10EtAtD2() { + stackAlloc(@nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="f90f493e"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + jmp(@nargs=2, @blob="ec000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="1409a63c"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + validRad(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="1409a63c"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + validRad(@mask=0b1, @nargs=1, @blob="00f01bc6"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="18ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard1At() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 04000000 28000000 c1bdf0ff cdcc4c3e f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 00010000 02000000 0d000000 f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="40ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="10010000 00000000"); + etOffsetAbs(@mask=0b10, @nargs=3, @blob="00000000 00008040 0000e843"); + laserOnA2( + @mask=0b100, + @nargs=8, + @blob="03000000 06000000 00000000 0000803f 00000000 0000a043 00000000 00000042", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="10000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="f4feffff 00000000"); + ret(@blob=""); +} + + +void BossCard1At2() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 04000000 28000000 c1bdf0ff 9a99193e f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 00010000 01000000 01000000 f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="c0000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="10010000 00000000"); + etOffsetAbs(@mask=0b10, @nargs=3, @blob="00000000 00008040 0000e843"); + laserOnA2( + @mask=0b100, + @nargs=8, + @blob="03000000 06000000 00000000 0000803f 00000000 0000a043 00000000 00000042", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="10000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="f4feffff 00000000"); + ret(@blob=""); +} + + +void BossCard1At3() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 03000000"); + etSprite(@nargs=3, @blob="02000000 0c000000 01000000"); + etCount(@nargs=3, @blob="02000000 01000000 01000000"); + etAngle(@nargs=3, @blob="02000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="02000000 00008040 0000c03f"); + etEx( + @nargs=8, + @blob="02000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="02000000 01000000 01000000 20000000 28000000 01000000 00000000 f02374c9", + ); + etNew(@nargs=1, @blob="03000000"); + etAim(@nargs=2, @blob="03000000 02000000"); + etSprite(@nargs=3, @blob="03000000 01000000 02000000"); + etCount(@nargs=3, @blob="03000000 10000000 01000000"); + etAngle(@nargs=3, @blob="03000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="03000000 00004040 0000c03f"); + etEx( + @nargs=8, + @blob="03000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="40ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="1e000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="7c010000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="02000000 00000000 00000000"); + etOn(@nargs=1, @blob="02000000"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="03000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="2c000000 00000000"); + etOn(@nargs=1, @blob="03000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="10000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="88feffff 00000000"); + ret(@blob=""); +} + + +void BossCard2() { + stackAlloc(@nargs=1, @blob="04000000"); + spellEx( + @nargs=4, + @blob="a6000000 18150000 20a10700 18000000 e2221a67 724f039d f97d0e44 683b0a1d e42d06ed 625c81e8", + ); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 18150000 08000000 426f7373 33000000", + ); + enmKillAll(@blob=""); + killAllAsync(@blob=""); + moveReset(@blob=""); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + 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="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="9c000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="4c000000 00000000"); + dropClear(@blob=""); + dropMain(@nargs=1, @blob="05000000"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + setChapter(@nargs=1, @blob="2c000000"); ++120: // 120 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 0000a043 0000c040"); + callAsync(@nargs=1, @blob="0c000000 426f7373 43617264 32617400"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 32617432 00000000"); + 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 BossCard2at() { + stackAlloc(@nargs=1, @blob="14000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 04000000 04000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00000010 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00040000 78000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 10000000 78000000 01000000 f02374c9 00000000", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + jmp(@nargs=2, @blob="68020000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="40000000"); + addf(@blob=""); + circlePos( + @mask=0b1111, + @nargs=4, + @blob="00000041 00004041 00000000 000080bf", + ); + pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00b41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + addf(@blob=""); + etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 000080bf 000080bf"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="03000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="04000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="08000000"); + divf(@blob=""); + addf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="9cfdffff 00000000"); + ret(@blob=""); +} + + +void BossCard2at2() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 00000000"); + etSprite(@nargs=3, @blob="01000000 0c000000 03000000"); + etCount(@nargs=3, @blob="01000000 01000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 db0f493e"); + etSpeed(@nargs=3, @blob="01000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etSound(@nargs=3, @blob="01000000 07000000 ffffffff"); + pushi(@nargs=1, @blob="50000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + jmp(@nargs=2, @blob="d8010000 00000000"); + etCount(@nargs=3, @blob="01000000 09000000 01000000"); + etOn(@nargs=1, @blob="01000000"); + pushi(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="14000000"); + greateri(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="04000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + wait(@mask=0b1, @nargs=1, @blob="14000000"); + etCount(@nargs=3, @blob="01000000 08000000 01000000"); + etOn(@nargs=1, @blob="01000000"); + pushi(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="14000000"); + greateri(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="04000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + wait(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="2cfeffff 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 18150000 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"); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="4c000000 00000000"); + dropClear(@blob=""); + dropMain(@nargs=1, @blob="05000000"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + playSound(@nargs=1, @blob="0f000000"); + spellEx( + @nargs=4, + @blob="a7000000 18150000 20a10700 14000000 e10501e0 724f12bb ec9e0ff8 62421c8a e61885ac", + ); + anmSelectedPlay(@nargs=1, @blob="00000000"); + 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"); + callAsync( + @nargs=5, + @blob="0c000000 426f7373 43617264 33417400 69690000 00000000 69690000 02000000 66660000 fdad00bc 66660000 db0fc93d", + ); + callAsync( + @nargs=5, + @blob="0c000000 426f7373 43617264 33417400 69690000 01000000 69690000 01000000 66660000 fdad003c 66660000 db0fc9bd", + ); + 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="14000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + etNew(@mask=0b1, @nargs=1, @blob="00000000"); + etAim(@mask=0b1, @nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b101, @nargs=3, @blob="00000000 1b000000 04000000"); + etCount(@mask=0b1, @nargs=3, @blob="00000000 0c000000 01000000"); + etAngle(@mask=0b1, @nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@mask=0b1, @nargs=3, @blob="00000000 00002040 0000c03f"); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 01000000 00000000 00040000 04010000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b10000001, + @nargs=8, + @blob="00000000 02000000 00000000 08000000 04010000 c1bdf0ff 44a20abc 00000041", + ); + jmp(@nargs=2, @blob="04010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b11, @nargs=3, @blob="00000000 000080bf 00000000"); + etOn(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + wait(@nargs=1, @blob="12000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="00ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard4() { + 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="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", + ); + spellEnd(@blob=""); + killAllAsync(@blob=""); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 18150000 08000000 426f7373 35000000", + ); + 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"); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="4c000000 00000000"); + dropClear(@blob=""); + dropMain(@nargs=1, @blob="05000000"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + playSound(@nargs=1, @blob="0f000000"); + spellEx( + @nargs=4, + @blob="a8000000 18150000 20a10700 18000000 e003051b 724f12a0 eead0e44 6ae90a37 e43d04da e32a81e8", + ); + anmSelectedPlay(@nargs=1, @blob="00000000"); + 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"); + callAsync( + @nargs=6, + @blob="0c000000 426f7373 43617264 34417400 69690000 00000000 69690000 04000000 66660000 c67307bc 66660000 db0fc93d 66660000 db0fc9bf", + ); + callAsync( + @nargs=6, + @blob="0c000000 426f7373 43617264 34417400 69690000 01000000 69690000 03000000 66660000 c673073c 66660000 db0fc9bd 66660000 db0fc93f", + ); + 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 BossCard4At() { + stackAlloc(@nargs=1, @blob="20000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushi(@nargs=1, @blob="28000000"); + seti(@mask=0b1, @nargs=1, @blob="1c000000"); + etNew(@mask=0b1, @nargs=1, @blob="00000000"); + etAim(@mask=0b1, @nargs=2, @blob="00000000 05000000"); + etSprite(@mask=0b101, @nargs=3, @blob="00000000 1b000000 04000000"); + etCount(@mask=0b1, @nargs=3, @blob="00000000 0c000000 01000000"); + etAngle(@mask=0b1, @nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@mask=0b1, @nargs=3, @blob="00000000 9a99993e 0000c03f"); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 01000000 00000000 00040000 04010000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1000001, + @nargs=8, + @blob="00000000 02000000 00000000 10000000 01000000 01000000 00008041 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 04000000 00000000 00100000 19000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 05000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + jmp(@nargs=2, @blob="d0020000 00000000"); + etEx( + @mask=0b10010001, + @nargs=8, + @blob="00000000 03000000 00000000 08000000 1c000000 c1bdf0ff c10ffc3b 00000041", + ); + etDist(@mask=0b11, @nargs=2, @blob="00000000 0000c041"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushi(@nargs=1, @blob="5e010000"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="98000000 00000000"); + etAngle(@mask=0b1, @nargs=3, @blob="00000000 00000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + jmp(@nargs=2, @blob="dc000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="60000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b11, @nargs=3, @blob="00000000 000080bf 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + etDist(@mask=0b11, @nargs=2, @blob="00000000 0000c041"); + pushi(@mask=0b1, @nargs=1, @blob="1c000000"); + pushi(@nargs=1, @blob="04010000"); + lessi(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="1c000000"); + pushi(@nargs=1, @blob="14000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="1c000000"); + etOn(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="34fdffff 00000000"); + ret(@blob=""); +} + + +void BossCard5() { + stackAlloc(@nargs=1, @blob="08000000"); + setInvuln(@nargs=1, @blob="c8000000"); + enmKillAll(@blob=""); + 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", + ); + spellEnd(@blob=""); + killAllAsync(@blob=""); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 b80b0000 08000000 426f7373 36000000", + ); + 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"); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="4c000000 00000000"); + dropClear(@blob=""); + dropMain(@nargs=1, @blob="05000000"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + playSound(@nargs=1, @blob="0f000000"); + spellEx( + @nargs=4, + @blob="a9000000 b80b0000 20a10700 18000000 e3c31c22 724f069c e6000e48 68380a3f e4e706d8 625c81e8", + ); + spellTimeout(@blob=""); + anmSelectedPlay(@nargs=1, @blob="00000000"); + flagSet(@nargs=1, @blob="02000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00006043"); + moveLimitReset(@blob=""); ++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"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetSprite(@nargs=2, @blob="02000000 17000000"); + flagClear(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushf(@nargs=1, @blob="d7316240"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + jmp(@nargs=2, @blob="9c000000 3c000000"); + enmCreate( + @nargs=6, + @blob="10000000 426f7373 43617264 35536861 646f7700 00000000 00000000 0a000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="68ffffff 3c000000"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushf(@nargs=1, @blob="e73a8a40"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + jmp(@nargs=2, @blob="a0000000 3c000000"); + enmCreate( + @nargs=6, + @blob="14000000 426f7373 43617264 35536861 646f7732 00000000 00000000 00000000 0a000000 0a000000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="64ffffff 3c000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="40000000 3c000000"); + setInvuln(@nargs=1, @blob="14000000"); + wait(@nargs=1, @blob="0a000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 3c000000"); + ret(@blob=""); +} + + +void BossCard5At() { + stackAlloc(@nargs=1, @blob="20000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushi(@nargs=1, @blob="28000000"); + seti(@mask=0b1, @nargs=1, @blob="1c000000"); + etNew(@mask=0b1, @nargs=1, @blob="00000000"); + etAim(@mask=0b1, @nargs=2, @blob="00000000 05000000"); + etSprite(@mask=0b101, @nargs=3, @blob="00000000 1b000000 04000000"); + etCount(@mask=0b1, @nargs=3, @blob="00000000 0c000000 01000000"); + etAngle(@mask=0b1, @nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@mask=0b1, @nargs=3, @blob="00000000 9a99993e 0000c03f"); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 01000000 00000000 00040000 04010000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1000001, + @nargs=8, + @blob="00000000 02000000 00000000 10000000 01000000 01000000 00008041 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 04000000 00000000 00100000 19000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1, + @nargs=8, + @blob="00000000 05000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etSound(@nargs=3, @blob="00000000 07000000 ffffffff"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + jmp(@nargs=2, @blob="d0020000 00000000"); + etEx( + @mask=0b10010001, + @nargs=8, + @blob="00000000 03000000 00000000 08000000 1c000000 c1bdf0ff c10ffc3b 00000041", + ); + etDist(@mask=0b11, @nargs=2, @blob="00000000 0000c041"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushi(@nargs=1, @blob="5e010000"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="98000000 00000000"); + etAngle(@mask=0b1, @nargs=3, @blob="00000000 00000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + jmp(@nargs=2, @blob="dc000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="60000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b11, @nargs=3, @blob="00000000 000080bf 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + etDist(@mask=0b11, @nargs=2, @blob="00000000 0000c041"); + pushi(@mask=0b1, @nargs=1, @blob="1c000000"); + pushi(@nargs=1, @blob="04010000"); + lessi(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="1c000000"); + pushi(@nargs=1, @blob="14000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="1c000000"); + etOn(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="34fdffff 00000000"); + ret(@blob=""); +} + + +void BossCard5Shadow() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="00000000 c0000000"); + anmSwitch(@nargs=2, @blob="00000000 01000000"); + flagSet(@nargs=1, @blob="03010000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + funcSet(@nargs=1, @blob="07000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 05000000"); + etSprite(@nargs=3, @blob="00000000 05000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 ae47813f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00000010 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=1, + @blob="14000000 426f7373 43617264 35536861 646f7732 41740000", + ); + delete(@blob=""); +} + + +void BossCard5Shadow2() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="00000000 c0000000"); + anmSwitch(@nargs=2, @blob="00000000 02000000"); + flagSet(@nargs=1, @blob="03010000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + funcSet(@nargs=1, @blob="07000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 05000000"); + etSprite(@nargs=3, @blob="00000000 05000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 ae47813f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00000010 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + call( + @nargs=1, + @blob="14000000 426f7373 43617264 35536861 646f7732 41740000", + ); + delete(@blob=""); +} + + +void BossCard5Shadow2At() { + stackAlloc(@nargs=1, @blob="10000000"); + pushf(@nargs=1, @blob="7cb8e43a"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + jmp(@nargs=2, @blob="20030000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="f4000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushi(@nargs=1, @blob="02000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00601bc6"); + greaterf(@blob=""); + jmpEq(@nargs=2, @blob="40000000 00000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="40000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00601bc6"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="bd370636"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + subf(@blob=""); + ins_277(@mask=0b10, @nargs=2, @blob="00000000 000080bf"); + etSpeed(@nargs=3, @blob="00000000 00000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + subf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="e4fcffff 00000000"); + ret(@blob=""); +} + + +void BossCard6() { + stackAlloc(@nargs=1, @blob="08000000"); + setInvuln(@nargs=1, @blob="c8000000"); + enmKillAll(@blob=""); + 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", + ); + spellEnd(@blob=""); + killAllAsync(@blob=""); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 18150000 08000000 426f7373 37000000", + ); + 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"); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="4c000000 00000000"); + dropClear(@blob=""); + dropMain(@nargs=1, @blob="05000000"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + playSound(@nargs=1, @blob="0f000000"); + spellEx( + @nargs=4, + @blob="aa000000 18150000 20a10700 20000000 e1cd1d6f 7d95108d fd931bbf 697e0afd e6350627 607c026b dc84fe4a 5ad47960", + ); + spellTimeout(@blob=""); + anmSelectedPlay(@nargs=1, @blob="00000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + moveLimitReset(@blob=""); ++60: // 60 + nop(@blob=""); + anmPlay(@nargs=2, @blob="00000000 83000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="3c000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + anmSelect(@nargs=1, @blob="02000000"); + jmp(@nargs=2, @blob="b4090000 3c000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563d"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@nargs=1, @blob="e2cb1640"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="9a99993e"); + setf(@mask=0b1, @nargs=1, @blob="003c1bc6"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 36457400 00000000 00000000 0a000000 0a000000 00000000", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="707756bd"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@nargs=1, @blob="d80f493f"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="9a99993e"); + setf(@mask=0b1, @nargs=1, @blob="003c1bc6"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 36457400 00000000 00000000 0a000000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="48000000 3c000000"); + moveRand(@nargs=3, @blob="32000000 00000000 0000803f"); + wait(@nargs=1, @blob="32000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="bcffffff 3c000000"); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563d"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@nargs=1, @blob="ce53fb3f"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="cdcc4c3e"); + setf(@mask=0b1, @nargs=1, @blob="003c1bc6"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 36457400 00000000 00000000 0a000000 0a000000 00000000", + ); + pushf(@nargs=1, @blob="d80fc9bf"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="707756bd"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@nargs=1, @blob="e2cb963f"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="cdcc4c3e"); + setf(@mask=0b1, @nargs=1, @blob="003c1bc6"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 36457400 00000000 00000000 0a000000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="48000000 3c000000"); + moveRand(@nargs=3, @blob="32000000 00000000 0000803f"); + wait(@nargs=1, @blob="32000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="bcffffff 3c000000"); + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077563d"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="9a99993f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="cdcccc3d"); + setf(@mask=0b1, @nargs=1, @blob="003c1bc6"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 36457400 00000000 00000000 0a000000 0a000000 00000000", + ); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="707756bd"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="9a99993f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="cdcccc3d"); + setf(@mask=0b1, @nargs=1, @blob="003c1bc6"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 36457400 00000000 00000000 0a000000 0a000000 00000000", + ); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="48000000 3c000000"); + moveRand(@nargs=3, @blob="32000000 00000000 0000803f"); + wait(@nargs=1, @blob="32000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="bcffffff 3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="50f6ffff 3c000000"); + ret(@blob=""); +} + + +void BossCard6Et() { + stackAlloc(@nargs=1, @blob="08000000"); + flagSet(@nargs=1, @blob="2c010000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 36457441 74000000"); + moveEllipse( + @mask=0b110011, + @nargs=6, + @blob="00f41bc6 00f01bc6 00000000 0000803f 00e81bc6 003c1bc6", + ); + wait(@mask=0b1, @nargs=1, @blob="00d9ffff"); + moveEllipse( + @nargs=6, + @blob="f02374c9 f02374c9 f02374c9 00000000 f02374c9 f02374c9", + ); + wait(@nargs=1, @blob="90010000"); + delete(@blob=""); + delete(@blob=""); +} + + +void BossCard6EtAt() { + stackAlloc(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 05000000"); + etSprite(@mask=0b100, @nargs=3, @blob="00000000 02000000 ffd8ffff"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00000010 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00100000 78000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00000010 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 04000000 78000000 c1bdf0ff 8fc2753c f02374c9", + ); + jmp(@nargs=2, @blob="5c000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00cc1bc6 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="a8ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard7() { + stackAlloc(@nargs=1, @blob="08000000"); + setInvuln(@nargs=1, @blob="c8000000"); + enmKillAll(@blob=""); + 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", + ); + spellEnd(@blob=""); + killAllAsync(@blob=""); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 9c180000 08000000 426f7373 38000000", + ); + 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"); + spellEx( + @nargs=4, + @blob="ab000000 9c180000 20a10700 14000000 e2e201ee 724f060e ed3a1bb0 627c0806 676e85ac", + ); + anmSelectedPlay(@nargs=1, @blob="00000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + moveLimitReset(@blob=""); ++60: // 60 + nop(@blob=""); + anmPlay(@nargs=2, @blob="00000000 83000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="3c000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + anmSelect(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + funcSet(@nargs=1, @blob="08000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 37457441 74320000"); + jmp(@nargs=2, @blob="10010000 3c000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + call(@nargs=1, @blob="10000000 426f7373 43617264 37457441 74000000"); + wait(@nargs=1, @blob="50000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00004040"); + wait(@nargs=1, @blob="78000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + call(@nargs=1, @blob="10000000 426f7373 43617264 37457441 74330000"); + wait(@nargs=1, @blob="50000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00004040"); + wait(@nargs=1, @blob="78000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="f4feffff 3c000000"); + ret(@blob=""); +} + + +void BossCard7Et() { + stackAlloc(@nargs=1, @blob="08000000"); + flagSet(@nargs=1, @blob="2c010000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 37457441 74000000"); + moveEllipse( + @mask=0b110011, + @nargs=6, + @blob="00f41bc6 00f01bc6 00000000 0000803f 00e81bc6 003c1bc6", + ); + wait(@mask=0b1, @nargs=1, @blob="00d9ffff"); + moveEllipse( + @nargs=6, + @blob="f02374c9 f02374c9 f02374c9 00000000 f02374c9 f02374c9", + ); + wait(@nargs=1, @blob="90010000"); + delete(@blob=""); + delete(@blob=""); +} + + +void BossCard7EtAt() { + stackAlloc(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 02000000"); + etSprite(@nargs=3, @blob="00000000 1b000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 d0070000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00010000 0a000000 0f000000 f02374c9 f02374c9", + ); + etOffset(@nargs=3, @blob="00000000 000000c2 000040c2"); + etOn(@nargs=1, @blob="00000000"); + etOffset(@nargs=3, @blob="00000000 00000042 000040c2"); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void BossCard7EtAt2() { + stackAlloc(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="50030000 00000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 12000000 00000000"); + etCount(@nargs=3, @blob="01000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="cdcccc3e"); + mulf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="01000000 000080bf 0000c03f"); + etEx( + @nargs=8, + @blob="01000000 00000000 00000000 00100000 32000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="01000000 00381cc6 000080bf"); + wait(@nargs=1, @blob="02000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 19000000 00000000"); + etCount(@nargs=3, @blob="01000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="cdcccc3e"); + mulf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="01000000 000080bf 0000c03f"); + etEx( + @nargs=8, + @blob="01000000 00000000 00000000 00100000 32000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="08000000"); + mulf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="01000000 00381cc6 000080bf"); + wait(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b4fcffff 00000000"); + ret(@blob=""); +} + + +void BossCard7EtAt3() { + stackAlloc(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 1b000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 d0070000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00010000 0a000000 0f000000 f02374c9 f02374c9", + ); + etAngle(@nargs=3, @blob="00000000 db0fc93e 00000000"); + etOffset(@nargs=3, @blob="00000000 000000c2 000040c2"); + etOn(@nargs=1, @blob="00000000"); + etAngle(@nargs=3, @blob="00000000 dfed2f40 00000000"); + etOffset(@nargs=3, @blob="00000000 00000042 000040c2"); + etOn(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void BossCard8() { + stackAlloc(@nargs=1, @blob="08000000"); + setInvuln(@nargs=1, @blob="c8000000"); + enmKillAll(@blob=""); + 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", + ); + spellEnd(@blob=""); + killAllAsync(@blob=""); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 9c180000 0c000000 426f7373 43617264 39000000", + ); + 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"); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="4c000000 00000000"); + dropClear(@blob=""); + dropMain(@nargs=1, @blob="05000000"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + playSound(@nargs=1, @blob="0f000000"); + spellEx( + @nargs=4, + @blob="ac000000 9c180000 20a10700 18000000 e72504cb 724f074b e725039b 697e0192 f40e0bdd 625c81e8", + ); + anmSelectedPlay(@nargs=1, @blob="00000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + moveLimitReset(@blob=""); ++60: // 60 + nop(@blob=""); + anmPlay(@nargs=2, @blob="00000000 83000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="3c000000"); + flagSet(@nargs=1, @blob="0c000000"); + anmSelect(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + anmReset(@blob=""); + anmSetSprite(@nargs=2, @blob="00000000 05000000"); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="94d9a03d"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@nargs=1, @blob="e2cb1640"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="9a99993e"); + setf(@mask=0b1, @nargs=1, @blob="003c1bc6"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="64000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 38457400 00000000 00000000 0a000000 0a000000 00000000", + ); + pushf(@nargs=1, @blob="d80fc93f"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="94d9a0bd"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="0000803f"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushf(@nargs=1, @blob="d80f493f"); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + pushf(@nargs=1, @blob="9a99993e"); + setf(@mask=0b1, @nargs=1, @blob="003c1bc6"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="64000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + enmCreate( + @nargs=6, + @blob="0c000000 426f7373 43617264 38457400 00000000 00000000 0a000000 0a000000 00000000", + ); + jmp(@nargs=2, @blob="38070000 3c000000"); + pushi(@nargs=1, @blob="a0010000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + pushi(@nargs=1, @blob="60ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + moveBezier( + @mask=0b1111110, + @nargs=7, + @blob="f0000000 00e41bc6 00e01bc6 000080bf 000080bf 00e41bc6 00e01bc6", + ); + wait(@nargs=1, @blob="e6000000"); + pushi(@nargs=1, @blob="40000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + pushi(@nargs=1, @blob="60ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + moveBezier( + @mask=0b1111110, + @nargs=7, + @blob="f0000000 00e41bc6 00e01bc6 000080bf 000080bf 00e41bc6 00e01bc6", + ); + wait(@nargs=1, @blob="e6000000"); + pushi(@nargs=1, @blob="a0000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + moveBezier( + @mask=0b1101110, + @nargs=7, + @blob="f0000000 00e41bc6 00e01bc6 000080bf 0000a043 00e41bc6 00e01bc6", + ); + wait(@nargs=1, @blob="e6000000"); + pushi(@nargs=1, @blob="a0000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + moveBezier( + @mask=0b1101110, + @nargs=7, + @blob="f0000000 00e41bc6 00e01bc6 000080bf 00008042 00e41bc6 00e01bc6", + ); + wait(@nargs=1, @blob="aa000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + moveBezier( + @mask=0b1111110, + @nargs=7, + @blob="f0000000 00e41bc6 00e01bc6 00b41bc6 00b01bc6 00e41bc6 00e01bc6", + ); + wait(@nargs=1, @blob="e6000000"); + pushi(@nargs=1, @blob="a0010000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + pushi(@nargs=1, @blob="60ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + moveBezier( + @mask=0b1111110, + @nargs=7, + @blob="f0000000 00e41bc6 00e01bc6 000080bf 000080bf 00e41bc6 00e01bc6", + ); + wait(@nargs=1, @blob="e6000000"); + pushi(@nargs=1, @blob="40000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + pushi(@nargs=1, @blob="a0000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + moveBezier( + @mask=0b1111110, + @nargs=7, + @blob="f0000000 00e41bc6 00e01bc6 000080bf 000080bf 00e41bc6 00e01bc6", + ); + wait(@nargs=1, @blob="e6000000"); + pushi(@nargs=1, @blob="60ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + moveBezier( + @mask=0b1101110, + @nargs=7, + @blob="f0000000 00e41bc6 00e01bc6 000080bf 00008042 00e41bc6 00e01bc6", + ); + wait(@nargs=1, @blob="e6000000"); + pushi(@nargs=1, @blob="a0000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + moveBezier( + @mask=0b1101110, + @nargs=7, + @blob="f0000000 00e41bc6 00e01bc6 000080bf 00008043 00e41bc6 00e01bc6", + ); + wait(@nargs=1, @blob="aa000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + moveBezier( + @mask=0b1111110, + @nargs=7, + @blob="f0000000 00e41bc6 00e01bc6 00b41bc6 00b01bc6 00e41bc6 00e01bc6", + ); + wait(@nargs=1, @blob="e6000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="ccf8ffff 3c000000"); + ret(@blob=""); +} + + +void BossCard8Et() { + stackAlloc(@nargs=1, @blob="08000000"); + flagSet(@nargs=1, @blob="2c010000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 38457441 74000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 3845744d 6f766500"); + moveEllipseRel( + @mask=0b110011, + @nargs=6, + @blob="00f41bc6 00f01bc6 00000000 0000803f 00e81bc6 003c1bc6", + ); + wait(@mask=0b1, @nargs=1, @blob="00d9ffff"); + moveEllipseRel( + @nargs=6, + @blob="f02374c9 f02374c9 f02374c9 00000000 f02374c9 f02374c9", + ); + 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 BossCard8EtAt() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 05000000"); + etSprite(@mask=0b100, @nargs=3, @blob="00000000 01000000 ffd8ffff"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000000 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00000010 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00040000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00100000 78000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 00000010 00000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 05000000 00000000 04000000 78000000 c1bdf0ff cdcccc3c f02374c9", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="f4000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00c81bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="94d9a03c"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="10ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard8EtMove() { + stackAlloc(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="44000000 00000000"); + movePos(@mask=0b11, @nargs=2, @blob="00ac1bc6 00a81bc6"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="c0ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard9() { + stackAlloc(@nargs=1, @blob="08000000"); + setInvuln(@nargs=1, @blob="c8000000"); + enmKillAll(@blob=""); + 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", + ); + spellEnd(@blob=""); + killAllAsync(@blob=""); + funcCall(@nargs=1, @blob="0b000000"); + setChapter(@nargs=1, @blob="2d000000"); + moveReset(@blob=""); + flagSet(@nargs=1, @blob="0f000000"); + lifeSet(@nargs=1, @blob="a00f0000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 d40d0000 0c000000 426f7373 43617264 31300000", + ); + lifeMarker(@nargs=3, @blob="00000000 00007a45 80a0ffff"); + stars(@nargs=1, @blob="01000000"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="cc000000 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="01000000 0a000000"); + dropExtra(@nargs=2, @blob="02000000 28000000"); + dropItems(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + playSound(@nargs=1, @blob="0f000000"); + anmSetMain(@nargs=2, @blob="00000000 00000000"); + wait(@nargs=1, @blob="78000000"); + timerReset(@blob=""); + spellEx( + @nargs=4, + @blob="ad000000 d40d0000 20a10700 1c000000 f60b1925 71d71312 e1240ff8 68c60a32 e4e306f0 605e02aa de907d24", + ); + spellTimeout(@blob=""); + playSound(@nargs=1, @blob="37000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + moveLimitReset(@blob=""); ++60: // 60 + nop(@blob=""); + anmPlay(@nargs=2, @blob="00000000 83000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="3c000000"); + anmReset(@blob=""); + anmSelect(@nargs=1, @blob="02000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 11000000 01000000"); + etCount(@nargs=3, @blob="00000000 20000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + seti(@mask=0b1, @nargs=1, @blob="00d9ffff"); + funcCall(@nargs=1, @blob="09000000"); + funcSet(@nargs=1, @blob="0a000000"); + flagSet(@nargs=1, @blob="20000000"); + fog(@nargs=2, @blob="00000000 0000ff00"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 39457441 74410000"); + wait(@nargs=1, @blob="78000000"); + fog(@nargs=2, @blob="00000043 ff00ff00"); + wait(@nargs=1, @blob="78000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 000000c3 00000043"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="78000000 00000000 000000c3 0000b443"); + wait(@nargs=1, @blob="78000000"); + movePosTime(@nargs=4, @blob="78000000 00000000 000000c3 00000043"); + wait(@nargs=1, @blob="78000000"); + movePosTime(@nargs=4, @blob="78000000 00000000 000000c3 0000b443"); + wait(@nargs=1, @blob="78000000"); + movePosTime(@nargs=4, @blob="f0000000 00000000 00000043 0000b443"); + wait(@nargs=1, @blob="f0000000"); + etClear(@nargs=1, @blob="00002044"); + killAllAsync(@blob=""); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 39457441 74423100"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 39457441 74423200"); + movePosTime( + @mask=0b1100, + @nargs=4, + @blob="3c000000 00000000 00b41bc6 00b01bc6", + ); + wait(@nargs=1, @blob="68010000"); + movePosTime(@nargs=4, @blob="a0000000 00000000 000000c3 00000043"); + wait(@nargs=1, @blob="a0000000"); + movePosTime(@nargs=4, @blob="a0000000 00000000 000000c3 0000b443"); + wait(@nargs=1, @blob="a0000000"); + movePosTime(@nargs=4, @blob="a0000000 00000000 00000043 0000b443"); + wait(@nargs=1, @blob="a0000000"); + movePosTime(@nargs=4, @blob="a0000000 00000000 00000043 00000043"); + wait(@nargs=1, @blob="a0000000"); + movePosTime(@nargs=4, @blob="78000000 00000000 00000043 0000b443"); + wait(@nargs=1, @blob="78000000"); + movePosTime(@nargs=4, @blob="78000000 00000000 000000c3 0000b443"); + wait(@nargs=1, @blob="78000000"); + movePosTime(@nargs=4, @blob="78000000 00000000 000000c3 00000043"); + wait(@nargs=1, @blob="78000000"); + movePosTime(@nargs=4, @blob="78000000 00000000 000000c3 0000b443"); + wait(@nargs=1, @blob="78000000"); + etClear(@nargs=1, @blob="00002044"); + fog(@nargs=2, @blob="00001043 ff00ff00"); + killAllAsync(@blob=""); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 39457441 74433100"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 39457441 74433200"); + movePosTime(@nargs=4, @blob="3c000000 00000000 000000c3 0000e042"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000043 0000e042"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000043 0000b443"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 000000c3 0000b443"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 000000c3 0000e042"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000043 0000e042"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000043 0000b443"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 000000c3 0000b443"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 000000c3 0000e042"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000043 0000e042"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000043 0000b443"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 000000c3 0000b443"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 000000c3 0000e042"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000043 0000e042"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000043 0000b443"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 000000c3 0000b443"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 000000c3 0000e042"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000043 0000e042"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000043 0000b443"); + wait(@nargs=1, @blob="3c000000"); + movePosTime(@nargs=4, @blob="3c000000 00000000 000000c3 0000b443"); + wait(@nargs=1, @blob="3c000000"); + jmp(@nargs=2, @blob="2c000000 3c000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); + ret(@blob=""); +} + + +void BossCard9EtAtA() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="40ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="e8020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="05000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="01000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="2c010000 00000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + etAngle(@nargs=3, @blob="00000000 db0fc93f 00000000"); + jmp(@nargs=2, @blob="a4000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + etOffsetAbs(@mask=0b10, @nargs=3, @blob="00000000 000080bf 000080c1"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="60ffffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="08000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="40ffffff"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="40000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + wait(@nargs=1, @blob="0d000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="1cfdffff 00000000"); + ret(@blob=""); +} + + +void BossCard9EtAtB1() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 0d000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="40ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="e8020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="06000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="01000000"); + greateri(@blob=""); + jmpEq(@nargs=2, @blob="2c010000 00000000"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + etAngle(@nargs=3, @blob="00000000 db0fc9bf 00000000"); + jmp(@nargs=2, @blob="a4000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + etOffsetAbs(@mask=0b10, @nargs=3, @blob="00000000 000080bf 0000e843"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="60ffffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="08000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="40ffffff"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="40000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + wait(@nargs=1, @blob="0d000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="1cfdffff 00000000"); + ret(@blob=""); +} + + +void BossCard9EtAtB2() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 0d000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="e8020000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="06000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="01000000"); + greateri(@blob=""); + jmpEq(@nargs=2, @blob="2c010000 00000000"); + pushi(@nargs=1, @blob="07000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + etAngle(@nargs=3, @blob="00000000 db0f4940 00000000"); + jmp(@nargs=2, @blob="a4000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="40000000"); + mulf(@blob=""); + addf(@blob=""); + etOffsetAbs(@mask=0b100, @nargs=3, @blob="00000000 00005043 000080bf"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="60ffffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="08000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="40000000"); + geqf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="40000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + wait(@nargs=1, @blob="0d000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="1cfdffff 00000000"); + ret(@blob=""); +} + + +void BossCard9EtAtC1() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00040000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="40ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="0c000000"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="8c010000 00000000"); + pushi(@nargs=1, @blob="0e000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + etAngle(@nargs=3, @blob="00000000 db0fc9bf 00000000"); + jmp(@nargs=2, @blob="a4000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="1e000000"); + mulf(@blob=""); + addf(@blob=""); + etOffsetAbs(@mask=0b10, @nargs=3, @blob="00000000 000080bf 0000e843"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="60ffffff 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + wait(@nargs=1, @blob="64000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="78feffff 00000000"); + ret(@blob=""); +} + + +void BossCard9EtAtC2() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00020000 90010000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00040000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="0c000000"); + mulf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="8c010000 00000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + etAngle(@nargs=3, @blob="00000000 db0f4940 00000000"); + jmp(@nargs=2, @blob="a4000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="1e000000"); + mulf(@blob=""); + addf(@blob=""); + etOffsetAbs(@mask=0b100, @nargs=3, @blob="00000000 00005043 000080bf"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="60ffffff 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + wait(@nargs=1, @blob="64000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="78feffff 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=""); +} diff --git a/research/stage07mboss.tecl b/research/stage07mboss.tecl new file mode 100644 index 0000000..321f5fd --- /dev/null +++ b/research/stage07mboss.tecl @@ -0,0 +1,867 @@ +#pragma mapfile "utils/th11.eclm" + +meta {} + + +void MBoss() { + stackAlloc(@nargs=1, @blob="10000000"); + setBoss(@nargs=1, @blob="00000000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="02000000 aa000000"); + anmSelect(@nargs=1, @blob="02000000"); + anmSetMain(@nargs=2, @blob="00000000 0e000000"); + flagSet(@nargs=1, @blob="40000000"); + setHurtbox(@nargs=2, @blob="00004042 00004042"); + setHitbox(@nargs=2, @blob="00002042 00002042"); + lifeSet(@nargs=1, @blob="b80b0000"); + lifeMarker(@nargs=3, @blob="00000000 00803b45 80a0ffff"); + stars(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + setChapter(@nargs=1, @blob="06000000"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + wait(@nargs=1, @blob="46000000"); ++60: // 60 + dialogWait(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008041"); + playSound(@nargs=1, @blob="29000000"); + fog(@nargs=2, @blob="00002043 00808000"); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 5c000000"); + anmSelect(@nargs=1, @blob="02000000"); + call(@nargs=1, @blob="0c000000 4d426f73 73436172 64310000"); + jmp(@nargs=2, @blob="2c000000 3c000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); + delete(@blob=""); +} + + +void MBossCard1() { + stackAlloc(@nargs=1, @blob="14000000"); + spellEx( + @nargs=4, + @blob="a2000000 100e0000 00000000 14000000 e39703fc 724f1a1b e16c035c 69070806 676e85ac", + ); + lifeSet(@nargs=1, @blob="b80b0000"); + lifeMarker(@nargs=3, @blob="00000000 00803b45 80a0ffff"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 100e0000 0c000000 4d426f73 73436172 64320000", + ); + killAllAsync(@blob=""); + setInvuln(@nargs=1, @blob="3c000000"); + enmCreate( + @nargs=6, + @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000", + ); + enmKillAll(@blob=""); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + moveLimitReset(@blob=""); ++30: // 30 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 90 + nop(@blob=""); + flagSet(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="32000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="a8060000 12010000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64315f61 74330000"); ++60: // 150 + nop(@blob=""); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + subf(@blob=""); + callAsync( + @mask=0b1010, + @nargs=5, + @blob="10000000 4d426f73 73436172 64315f61 74000000 66660000 00008040 66660000 b6867840 66660000 000080bf 69690000 06000000", + ); + wait(@nargs=1, @blob="82000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); ++16: // 166 + anmSetMain(@nargs=2, @blob="00000000 0e000000"); + anmSetSprite(@nargs=2, @blob="00000000 0e000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="db0f4940"); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + callAsync( + @mask=0b1010, + @nargs=5, + @blob="10000000 4d426f73 73436172 64315f61 74000000 66660000 000080bf 66660000 b68678c0 66660000 000080bf 69690000 0a000000", + ); + wait(@nargs=1, @blob="c8000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); ++16: // 182 + anmSetMain(@nargs=2, @blob="00000000 0e000000"); + anmSetSprite(@nargs=2, @blob="00000000 0e000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64315f61 74336200"); ++60: // 242 + nop(@blob=""); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + subf(@blob=""); + callAsync( + @mask=0b1010, + @nargs=5, + @blob="10000000 4d426f73 73436172 64315f61 74000000 66660000 00008040 66660000 b68678c0 66660000 000080bf 69690000 06000000", + ); + wait(@nargs=1, @blob="82000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); ++16: // 258 + anmSetMain(@nargs=2, @blob="00000000 0e000000"); + anmSetSprite(@nargs=2, @blob="00000000 0e000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="db0f4940"); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="02000000"); + divf(@blob=""); + addf(@blob=""); + callAsync( + @mask=0b1010, + @nargs=5, + @blob="10000000 4d426f73 73436172 64315f61 74000000 66660000 000080bf 66660000 b6867840 66660000 000080bf 69690000 0a000000", + ); + wait(@nargs=1, @blob="c8000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); ++16: // 274 + anmSetMain(@nargs=2, @blob="00000000 0e000000"); + anmSetSprite(@nargs=2, @blob="00000000 0e000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="d80fc93e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="5cf9ffff 5a000000"); + ret(@blob=""); +} + + +void MBossCard1_at() { + stackAlloc(@nargs=1, @blob="24000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@mask=0b100, @nargs=3, @blob="01000000 03000000 0c000000"); + etCount(@nargs=3, @blob="01000000 01000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 db0fc93e"); + etSpeed(@nargs=3, @blob="01000000 cdcccc3d 0000c03f"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="00008041"); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushi(@nargs=1, @blob="db000000"); + seti(@mask=0b1, @nargs=1, @blob="20000000"); + jmp(@nargs=2, @blob="78020000 00000000"); + circlePos( + @mask=0b1111, + @nargs=4, + @blob="00008041 0000a041 00000000 0000c041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushf(@nargs=1, @blob="0000403f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + etEx( + @mask=0b10000, + @nargs=8, + @blob="01000000 01000000 00000000 00100000 20000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 02000000 00000000 04000000 5a000000 c1bdf0ff 6f12833c 00c079c4", + ); + etOffset(@mask=0b110, @nargs=3, @blob="01000000 00008041 0000a041"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000041 fac8e53c"); + etOn(@nargs=1, @blob="01000000"); + pushi(@mask=0b1, @nargs=1, @blob="20000000"); + pushi(@nargs=1, @blob="03000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + neqi(@blob=""); + jmpEq(@nargs=2, @blob="2c000000 00000000"); + wait(@nargs=1, @blob="01000000"); + deci(@mask=0b1, @nargs=1, @blob="20000000"); + jmpNeq(@nargs=2, @blob="8cfdffff 00000000"); + ret(@blob=""); +} + + +void MBossCard1_at2() { + stackAlloc(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 02000000"); + etSprite(@nargs=3, @blob="01000000 0c000000 03000000"); + etCount(@nargs=3, @blob="01000000 10000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 db0fc93e"); + etSpeedD( + @nargs=9, + @blob="01000000 0000803f 0000c03f 0000c03f 0000c03f 0000c03f 0000c03f 0000c03f 0000c03f", + ); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + diffWait(@nargs=4, @blob="2c010000 2c010000 b0000000 ba000000"); + jmp(@nargs=2, @blob="4c000000 00000000"); + etOn(@nargs=1, @blob="01000000"); + diffWait(@nargs=4, @blob="1c010000 32000000 32000000 32000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b8ffffff 00000000"); + ret(@blob=""); +} + + +void MBossCard1_at3() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 04000000 3c000000 c1bdf0ff cdcccc3d f02374c9", + ); + pushi(@nargs=1, @blob="0f000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="30ffffff"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="70010000 00000000"); + etOffsetAbs(@mask=0b100, @nargs=3, @blob="00000000 000060c3 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + laserOnA2( + @nargs=8, + @blob="03000000 06000000 00000000 0000803f 00000000 0000be43 00000000 00000042", + ); + wait(@nargs=1, @blob="04000000"); + etOffsetAbs(@mask=0b10, @nargs=3, @blob="00000000 00008040 000000c2"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + laserOnA2( + @nargs=8, + @blob="03000000 06000000 db0fc93f 0000803f 00000000 0000be43 00000000 00000042", + ); + wait(@nargs=1, @blob="04000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="94feffff 00000000"); + ret(@blob=""); +} + + +void MBossCard1_at3b() { + stackAlloc(@nargs=1, @blob="0c000000"); + etNew(@nargs=1, @blob="00000000"); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 04000000 3c000000 c1bdf0ff cdcccc3d f02374c9", + ); + pushi(@nargs=1, @blob="0f000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="d0000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="70010000 00000000"); + etOffsetAbs(@mask=0b100, @nargs=3, @blob="00000000 00006043 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="20000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + laserOnA2( + @nargs=8, + @blob="03000000 06000000 db0f4940 0000803f 00000000 0000be43 00000000 00000042", + ); + wait(@nargs=1, @blob="04000000"); + etOffsetAbs(@mask=0b10, @nargs=3, @blob="00000000 00008040 000000c2"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="20000000"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + laserOnA2( + @nargs=8, + @blob="03000000 06000000 db0fc93f 0000803f 00000000 0000be43 00000000 00000042", + ); + wait(@nargs=1, @blob="04000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="94feffff 00000000"); + ret(@blob=""); +} + + +void MBossCard2() { + stackAlloc(@nargs=1, @blob="14000000"); + lifeSet(@nargs=1, @blob="98080000"); + lifeMarker(@nargs=3, @blob="00000000 00800945 80a0ffff"); + stars(@nargs=1, @blob="01000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 100e0000 0c000000 4d426f73 73436172 64330000", + ); + killAllAsync(@blob=""); + setInvuln(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="0f000000"); + spellEnd(@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"); + enmKillAll(@blob=""); + laserCancel(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="cc000000 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="02000000 14000000"); + 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"); + moveLimitReset(@blob=""); ++60: // 60 + nop(@blob=""); + spellEx( + @nargs=4, + @blob="a3000000 100e0000 00000000 1c000000 fd910569 724f1286 ec7f0e7a 68390a04 e4e504f7 6049009e 5fe67d24", + ); ++30: // 90 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 150 + nop(@blob=""); + flagSet(@nargs=1, @blob="0c000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00000043 00000042"); + pushi(@nargs=1, @blob="32000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="94000000 96000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + call(@nargs=1, @blob="10000000 4d426f73 73436172 64325f61 74000000"); + wait(@nargs=1, @blob="1e000000"); + moveRand(@nargs=3, @blob="28000000 04000000 0000c03f"); + wait(@nargs=1, @blob="46000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="70ffffff 96000000"); + ret(@blob=""); +} + + +void MBossCard2_at() { + stackAlloc(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 02000000"); + etSprite(@nargs=3, @blob="01000000 0d000000 01000000"); + etCount(@nargs=3, @blob="01000000 08000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 db0fc93e"); + etSpeed(@nargs=3, @blob="01000000 00008040 0000c03f"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 10000000 3b000000 01000000 00000000 0000803f", + ); + etEx( + @nargs=8, + @blob="01000000 02000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="3c000000"); + funcCall(@nargs=1, @blob="06000000"); + ret(@blob=""); +} + + +void MBossCard2_at2() { + 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 03000000 02000000"); + etCount(@nargs=3, @blob="00000000 20000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 db0fc93e"); + 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 04000000 3c000000 c1bdf0ff 8988083d f02374c9", + ); + pushi(@nargs=1, @blob="10000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="a4000000 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="05000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="60ffffff 00000000"); + delete(@blob=""); +} + + +void MBossCard3() { + stackAlloc(@nargs=1, @blob="14000000"); + lifeSet(@nargs=1, @blob="98080000"); + lifeMarker(@nargs=3, @blob="00000000 00800945 80a0ffff"); + stars(@nargs=1, @blob="00000000"); + setInterrupt( + @nargs=4, + @blob="00000000 00000000 100e0000 0c000000 4d426f73 73446561 64000000", + ); + killAllAsync(@blob=""); + setInvuln(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="0f000000"); + spellEnd(@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"); + enmKillAll(@blob=""); + laserCancel(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="cc000000 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="02000000 1e000000"); + 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"); + moveLimitReset(@blob=""); ++60: // 60 + nop(@blob=""); + spellEx( + @nargs=4, + @blob="a4000000 100e0000 00000000 20000000 e7210603 724f1d24 e2641b78 64470af9 e42d06f4 607c026b dc69fc7f 5ad47960", + ); + movePosTime(@nargs=4, @blob="3c000000 04000000 0000a041 00003043"); ++30: // 90 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 150 + nop(@blob=""); + flagSet(@nargs=1, @blob="0c000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00000043 00000043"); + pushi(@nargs=1, @blob="32000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="94000000 96000000"); + anmSelectedPlay(@nargs=1, @blob="00000000"); + call(@nargs=1, @blob="10000000 4d426f73 73436172 64335f61 74000000"); + wait(@nargs=1, @blob="1e000000"); + moveRand(@nargs=3, @blob="28000000 04000000 0000c03f"); + wait(@nargs=1, @blob="46000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="70ffffff 96000000"); + ret(@blob=""); +} + + +void MBossCard3_at() { + stackAlloc(@nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="e00f0000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="30000000"); + subf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="14000000"); + subf(@blob=""); + movePos(@mask=0b11, @nargs=2, @blob="000080bf 000080bf"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="30000000"); + addf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + movePos(@mask=0b11, @nargs=2, @blob="000080bf 000080bf"); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="280e0000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 db0fc93e"); + etSpeed(@nargs=3, @blob="00000000 00008040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + pushf(@nargs=1, @blob="00000000"); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 00010000 01000000 0d000000 000080bf f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushf(@nargs=1, @blob="cdcc0c40"); + divf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 10000000 01000000 01000000 000080bf f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00080000 03000000 06000000 f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 04000000 78000000 c1bdf0ff 8988883c db0fc93f", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOffset(@nargs=3, @blob="00000000 0000a0c1 000040c2"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7bd9a03f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 db0fc93e"); + etSpeed(@nargs=3, @blob="00000000 00008040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + pushf(@nargs=1, @blob="00000000"); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 00010000 01000000 0d000000 000080bf f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushf(@nargs=1, @blob="cdcc0c40"); + divf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 10000000 01000000 01000000 000080bf f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00080000 03000000 08000000 f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 04000000 78000000 c1bdf0ff 8988883c db0fc93f", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOffset(@nargs=3, @blob="00000000 0000a0c1 000040c2"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7bd9a03f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 db0fc93e"); + etSpeed(@nargs=3, @blob="00000000 00008040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + pushf(@nargs=1, @blob="00000000"); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 00010000 01000000 0d000000 000080bf f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushf(@nargs=1, @blob="cdcc0c40"); + divf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 10000000 01000000 01000000 000080bf f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00080000 03000000 0a000000 f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 04000000 78000000 c1bdf0ff 8988883c db0fc93f", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOffset(@nargs=3, @blob="00000000 0000a0c1 000040c2"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7bd9a03f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 db0fc93e"); + etSpeed(@nargs=3, @blob="00000000 00008040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + pushf(@nargs=1, @blob="00000000"); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 00010000 01000000 0d000000 000080bf f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushf(@nargs=1, @blob="cdcc0c40"); + divf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 10000000 01000000 01000000 000080bf f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00080000 03000000 0d000000 f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 04000000 78000000 c1bdf0ff 8988883c db0fc93f", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOffset(@nargs=3, @blob="00000000 0000a0c1 000040c2"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7bd9a03f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 db0fc93e"); + etSpeed(@nargs=3, @blob="00000000 00008040 0000c03f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="0000803f"); + mulf(@blob=""); + pushf(@nargs=1, @blob="00000000"); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 00010000 01000000 0d000000 000080bf f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushf(@nargs=1, @blob="cdcc0c40"); + divf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 10000000 01000000 01000000 000080bf f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00080000 03000000 0e000000 f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 04000000 78000000 c1bdf0ff 8988883c db0fc93f", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etOffset(@nargs=3, @blob="00000000 0000a0c1 000040c2"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="7bd9a03f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="dcf1ffff 00000000"); + wait(@nargs=1, @blob="07000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="24f0ffff 00000000"); + ret(@blob=""); +} + + +void MBossCard3_at2() { + 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 03000000 02000000"); + etCount(@nargs=3, @blob="00000000 20000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 db0fc93e"); + 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 04000000 3c000000 c1bdf0ff 8988083d f02374c9", + ); + pushi(@nargs=1, @blob="10000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="06000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="a4000000 00000000"); + etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="14000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="05000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="60ffffff 00000000"); + delete(@blob=""); +} + + +void MBossDead() { + stackAlloc(@nargs=1, @blob="04000000"); + 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", + ); ++60: // 60 + etClearAll(@blob=""); + spellEnd(@blob=""); + enmKillAll(@blob=""); + dropMain(@nargs=1, @blob="00000000"); + pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="0c010000 3c000000"); + dropClear(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="2c000000 3c000000"); + dropMain(@nargs=1, @blob="05000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + dropExtra(@nargs=2, @blob="01000000 1e000000"); + dropExtra(@nargs=2, @blob="02000000 28000000"); + dropArea(@nargs=2, @blob="00004042 00004042"); + dropItems(@blob=""); + setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000"); + anmPlay(@nargs=2, @blob="00000000 4c000000"); + anmPlay(@nargs=2, @blob="00000000 8e000000"); + playSound(@nargs=1, @blob="12000000"); + setBoss(@nargs=1, @blob="ffffffff"); + delete(@blob=""); + delete(@blob=""); +} diff --git a/research/stage4c00a.tecl b/research/stage4c00a.tecl new file mode 100644 index 0000000..98f96aa --- /dev/null +++ b/research/stage4c00a.tecl @@ -0,0 +1,661 @@ +#pragma mapfile "utils/th11.eclm" + +meta {} + + +void BossCard2_00A() { + stackAlloc(@nargs=1, @blob="04000000"); + lifeSet(@nargs=1, @blob="60220000"); + setInterrupt( + @nargs=4, + @blob="00000000 70170000 b80b0000 10000000 426f7373 43617264 335f3030 41000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00800946 ff80ffff"); + lifeMarker(@nargs=3, @blob="01000000 0080bb45 c000c0ff"); + lifeMarker(@nargs=3, @blob="02000000 00c05a45 600060ff"); + spell( + @nargs=4, + @blob="2e000000 b80b0000 20a10700 14000000 e6041ef2 724f0209 e09200a1 65321bc1 e61885ac", + ); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); ++60: // 60 + nop(@blob=""); + jmp(@nargs=2, @blob="90010000 b4000000"); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 41747461 636b3037 5f303000", + ); + callAsync( + @nargs=1, + @blob="18000000 426f7373 43617264 41747461 636b3037 5f303062 00000000", + ); ++60: // 120 + anmPlay(@nargs=2, @blob="00000000 83000000"); + playSound(@nargs=1, @blob="29000000"); + diffWait(@nargs=4, @blob="78000000 78000000 78000000 78000000"); + moveRand(@nargs=3, @blob="3c000000 00000000 0000803f"); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 41747461 636b3037 5f303000", + ); + callAsync( + @nargs=1, + @blob="18000000 426f7373 43617264 41747461 636b3037 5f303062 00000000", + ); ++60: // 180 + anmPlay(@nargs=2, @blob="00000000 83000000"); + playSound(@nargs=1, @blob="29000000"); + diffWait(@nargs=4, @blob="78000000 78000000 78000000 78000000"); + moveRand(@nargs=3, @blob="3c000000 00000000 0000803f"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="74feffff 3c000000"); + ret(@blob=""); +} + + +void BossCard3_00A() { + 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 ac0d0000 b80b0000 10000000 426f7373 43617264 345f3030 41000000", + ); + 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=""); + playSound(@nargs=1, @blob="0f000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + wait(@nargs=1, @blob="5a000000"); + spell( + @nargs=4, + @blob="32000000 b80b0000 20a10700 18000000 e6041ef2 724f050a e2851fba 68de0a28 e40904da e32a81e8", + ); ++60: // 60 + nop(@blob=""); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 335f3030 41617433 00000000", + ); + jmp(@nargs=2, @blob="c0000000 3c000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 335f3030 41617400"); + diffWait(@nargs=4, @blob="64000000 64000000 46000000 46000000"); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 335f3030 41617432 00000000", + ); + diffWait(@nargs=4, @blob="64000000 64000000 46000000 46000000"); + moveRand(@nargs=3, @blob="3c000000 00000000 0000803f"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="44ffffff 3c000000"); + ret(@blob=""); +} + + +void BossCard3_00Aat() { + stackAlloc(@nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etOffsetAbs(@nargs=3, @blob="00000000 00000000 00000043"); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 04000000 1e000000 c1bdf0ff 9a9999be f02374c9", + ); + pushi(@nargs=1, @blob="c0000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="08000000"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="bc040000 00000000"); + playSound(@nargs=1, @blob="10000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="00000000"); + mulf(@blob=""); + addf(@blob=""); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 000080bf 00004041"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + geqi(@blob=""); + or(@blob=""); + jmpEq(@nargs=2, @blob="04010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="80000000"); + addf(@blob=""); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="60000000 00000000"); + laserOnA2( + @nargs=8, + @blob="03000000 04000000 db0fc9bf 00004041 00000000 00000043 00000000 00008041", + ); + jmp(@nargs=2, @blob="48000000 00000000"); + laserOnA2( + @nargs=8, + @blob="03000000 04000000 db0fc93f 00004041 00000000 00000043 00000000 00008041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="33333340"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + mulf(@blob=""); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="40ffffff"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="28000000 00000000"); + ret(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="80000000"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="01000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + diffWait(@nargs=4, @blob="06000000 06000000 06000000 06000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="48fbffff 00000000"); + ret(@blob=""); +} + + +void BossCard3_00Aat2() { + stackAlloc(@nargs=1, @blob="14000000"); + etNew(@nargs=1, @blob="00000000"); + etOffsetAbs(@nargs=3, @blob="00000000 00000000 00000043"); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 04000000 1e000000 c1bdf0ff 9a9999be f02374c9", + ); + pushi(@nargs=1, @blob="40ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="08000000"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="02000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + jmp(@nargs=2, @blob="bc040000 00000000"); + playSound(@nargs=1, @blob="10000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="00000000"); + mulf(@blob=""); + addf(@blob=""); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 000080bf 00004041"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + geqi(@blob=""); + or(@blob=""); + jmpEq(@nargs=2, @blob="04010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00b01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushi(@nargs=1, @blob="80000000"); + addf(@blob=""); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="60000000 00000000"); + laserOnA2( + @nargs=8, + @blob="03000000 04000000 db0fc9bf 00004041 00000000 00000043 00000000 00008041", + ); + jmp(@nargs=2, @blob="48000000 00000000"); + laserOnA2( + @nargs=8, + @blob="03000000 04000000 db0fc93f 00004041 00000000 00000043 00000000 00008041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="33333340"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + mulf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="c0000000"); + greaterf(@blob=""); + jmpEq(@nargs=2, @blob="28000000 00000000"); + ret(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="80000000"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="01000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + diffWait(@nargs=4, @blob="06000000 06000000 06000000 06000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="48fbffff 00000000"); + ret(@blob=""); +} + + +void BossCard3_00Aat3() { + stackAlloc(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 00000000"); + etSprite(@nargs=3, @blob="01000000 0f000000 03000000"); + etCount(@nargs=3, @blob="01000000 05000000 01000000"); + etAngle(@nargs=3, @blob="01000000 00000000 db0fc93d"); + etSpeed(@nargs=3, @blob="01000000 0000803f 00000040"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 04000000 78000000 c1bdf0ff 8988883c f02374c9", + ); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 00000000"); + etSprite(@nargs=3, @blob="02000000 0f000000 02000000"); + etCount(@nargs=3, @blob="02000000 06000000 01000000"); + etAngle(@nargs=3, @blob="02000000 db0f4940 db0f493f"); + etSpeed(@nargs=3, @blob="02000000 0000803f 00000040"); + etEx( + @nargs=8, + @blob="02000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="02000000 01000000 01000000 00010000 01000000 0f000000 0000803f f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="03000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="60000000 00000000"); + etEx( + @nargs=8, + @blob="02000000 03000000 00000000 04000000 78000000 c1bdf0ff cdcccc3c f02374c9", + ); + jmp(@nargs=2, @blob="48000000 00000000"); + etEx( + @nargs=8, + @blob="02000000 03000000 00000000 04000000 78000000 c1bdf0ff 8988883c f02374c9", + ); + wait(@nargs=1, @blob="78000000"); + jmp(@nargs=2, @blob="08030000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="02000000 02000000 00000000 20000000 01000000 01000000 000080bf f02374c9", + ); + etOn(@nargs=1, @blob="02000000"); + wait(@nargs=1, @blob="0f000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="02000000 02000000 00000000 20000000 01000000 01000000 000080bf f02374c9", + ); + {"34567"}: etOn(@nargs=1, @blob="02000000"); + wait(@nargs=1, @blob="0f000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="02000000 02000000 00000000 20000000 01000000 01000000 000080bf f02374c9", + ); + {"1234567"}: etOn(@nargs=1, @blob="02000000"); + wait(@nargs=1, @blob="0f000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="02000000 02000000 00000000 20000000 01000000 01000000 000080bf f02374c9", + ); + {"34567"}: etOn(@nargs=1, @blob="02000000"); + wait(@nargs=1, @blob="0f000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="40000000"); + divf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="02000000 02000000 00000000 20000000 01000000 01000000 000080bf f02374c9", + ); + {"1234567"}: etOn(@nargs=1, @blob="02000000"); + wait(@nargs=1, @blob="1e000000"); + diffWait(@nargs=4, @blob="f0000000 f0000000 f0000000 82000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="fcfcffff 00000000"); + ret(@blob=""); +} + + +void BossCard4_00A() { + 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 00000000 100e0000 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 00004043"); + wait(@nargs=1, @blob="5a000000"); + spell( + @nargs=4, + @blob="36000000 100e0000 20a10700 18000000 e6041ef2 724f059f ed301a85 697e02db ed2b04da e32a81e8", + ); ++60: // 60 + nop(@blob=""); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 345f3030 41617400"); + 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 BossCard4_00Aat() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 05000000"); + etSprite(@nargs=3, @blob="00000000 03000000 04000000"); + etCountD( + @nargs=9, + @blob="00000000 02000000 05000000 08000000 08000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 00000000 db0fc93d"); + etSpeed(@nargs=3, @blob="00000000 0000803f 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 04000000 78000000 c1bdf0ff 0e745a3c f02374c9", + ); + etDist(@nargs=2, @blob="00000000 0000c041"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00f41bc6 e4cb1640 db0fc93f db0fc93f db0fc93f", + ); + pushf(@nargs=1, @blob="94d9a0bd"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="10ae803b"); + setf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="74020000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="9a99193f"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00f41bc6 00000000"); + {"0124567"}: etSpeed( + @mask=0b10, + @nargs=3, + @blob="00000000 00e81bc6 00000000", + ); + {"34567"}: pushf(@mask=0b1, @nargs=1, @blob="00e81bc6"); + {"34567"}: pushf(@nargs=1, @blob="0000803f"); + {"34567"}: addf(@blob=""); + {"34567"}: etSpeed( + @mask=0b10, + @nargs=3, + @blob="00000000 000080bf 00000000", + ); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00ec1bc6"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="00000040"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="0ad7233c"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + validRad(@mask=0b1, @nargs=1, @blob="00f41bc6"); + validRad(@mask=0b1, @nargs=1, @blob="00f01bc6"); + wait(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="90fdffff 00000000"); + ret(@blob=""); +} + + +void BossCardAttack07_00() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 0f000000 03000000"); + etCountD( + @nargs=9, + @blob="00000000 02000000 06000000 08000000 08000000 01000000 01000000 01000000 01000000", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000000 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 10000000 b4000000 01000000 00000000 00000000", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00040000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 00100000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 00040000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="03000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="90000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 05000000 01000000 08000000 f0000000 c1bdf0ff c92f163c 5077563c", + ); + etEx( + @nargs=8, + @blob="00000000 06000000 00000000 04000000 78000000 c1bdf0ff 8988083c f02374c9", + ); + jmp(@nargs=2, @blob="78000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 05000000 01000000 08000000 b4000000 c1bdf0ff 0e74da3b 5077563c", + ); + etEx( + @nargs=8, + @blob="00000000 06000000 00000000 04000000 78000000 c1bdf0ff b4a2113a f02374c9", + ); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="c0000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="66666640"); + mulf(@blob=""); + pushf(@nargs=1, @blob="cdcccc3e"); + addf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000040"); + etOn(@nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="44ffffff 00000000"); + ret(@blob=""); +} + + +void BossCardAttack07_00b() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 03000000"); + etSprite(@nargs=3, @blob="01000000 0f000000 01000000"); + etCountD( + @nargs=9, + @blob="01000000 03000000 06000000 08000000 08000000 01000000 01000000 01000000 01000000", + ); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); + etSpeed(@nargs=3, @blob="01000000 00000000 00000040"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 10000000 b4000000 01000000 00000000 00000000", + ); + etEx( + @nargs=8, + @blob="01000000 02000000 00000000 00040000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 03000000 00000000 00100000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 04000000 00000000 00040000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="03000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="90000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 05000000 01000000 08000000 f0000000 c1bdf0ff c92f163c 507756bc", + ); + etEx( + @nargs=8, + @blob="01000000 06000000 00000000 04000000 78000000 c1bdf0ff 8988083c f02374c9", + ); + jmp(@nargs=2, @blob="78000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 05000000 01000000 08000000 b4000000 c1bdf0ff 0e74da3b 507756bc", + ); + etEx( + @nargs=8, + @blob="01000000 06000000 00000000 04000000 78000000 c1bdf0ff b4a2113a f02374c9", + ); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="c0000000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="66666640"); + mulf(@blob=""); + pushf(@nargs=1, @blob="cdcccc3e"); + addf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="01000000 000080bf 00000040"); + etOn(@nargs=1, @blob="01000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="44ffffff 00000000"); + ret(@blob=""); +} diff --git a/research/stage4c00b.tecl b/research/stage4c00b.tecl new file mode 100644 index 0000000..5401d3d --- /dev/null +++ b/research/stage4c00b.tecl @@ -0,0 +1,873 @@ +#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=""); +} diff --git a/research/stage4c00c.tecl b/research/stage4c00c.tecl new file mode 100644 index 0000000..603a701 --- /dev/null +++ b/research/stage4c00c.tecl @@ -0,0 +1,971 @@ +#pragma mapfile "utils/th11.eclm" + +meta {} + + +void BossCard2_00C() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="03000000"); + lessi(@blob=""); + jmpEq(@nargs=2, @blob="c8000000 00000000"); + lifeSet(@nargs=1, @blob="9c180000"); + setInterrupt( + @nargs=4, + @blob="00000000 30110000 b80b0000 10000000 426f7373 43617264 335f3030 43000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00e0c445 ff8080ff"); + lifeMarker(@nargs=3, @blob="01000000 00808945 ff4040ff"); + lifeMarker(@nargs=3, @blob="02000000 00401c45 c00000ff"); + jmp(@nargs=2, @blob="b0000000 00000000"); + lifeSet(@nargs=1, @blob="581b0000"); + setInterrupt( + @nargs=4, + @blob="00000000 ec130000 b80b0000 10000000 426f7373 43617264 335f3030 43000000", + ); + lifeMarker(@nargs=3, @blob="00000000 00c0da45 ff8080ff"); + lifeMarker(@nargs=3, @blob="01000000 00609f45 ff4040ff"); + lifeMarker(@nargs=3, @blob="02000000 00004845 c00000ff"); + spell( + @nargs=4, + @blob="46000000 b80b0000 20a10700 18000000 e6041ef2 724f046f ffa91bec 697e1e04 ee2c0746 625c81e8", + ); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000000 00000043"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + setChapter(@nargs=1, @blob="2c000000"); + playSound(@nargs=1, @blob="29000000"); ++60: // 60 + nop(@blob=""); + diffI( + @mask=0b1, + @nargs=5, + @blob="08000000 0a000000 10000000 10000000 10000000", + ); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 0a000000"); + etCount(@mask=0b10, @nargs=3, @blob="00000000 08000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc9bf 920a063e"); + etSpeed(@nargs=3, @blob="00000000 0000c040 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 08000000 78000000 c1bdf0ff cdccccbc 5077563d", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00040000 78000000 c1bdf0ff f02374c9 f02374c9", + ); + etCopy(@nargs=2, @blob="01000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 08000000 78000000 c1bdf0ff cdccccbc fdad80bd", + ); + {"014567"}: etSprite(@nargs=3, @blob="01000000 03000000 09000000"); + {"234567"}: etSprite(@nargs=3, @blob="01000000 03000000 08000000"); + {"34567"}: etSprite(@nargs=3, @blob="01000000 03000000 06000000"); + jmp(@nargs=2, @blob="64050000 7c000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); + pushi(@nargs=1, @blob="1e000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="5c040000 40000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="03000000"); + lessi(@blob=""); + jmpEq(@nargs=2, @blob="90010000 3c000000"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + mulf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 01000000 00000000 08000000 78000000 c1bdf0ff 9a9919bd 000080bf", + ); + pushf(@nargs=1, @blob="db0f49c0"); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + mulf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="01000000 01000000 00000000 08000000 78000000 c1bdf0ff 9a9919bd 000080bf", + ); + jmp(@nargs=2, @blob="78010000 3c000000"); + pushf(@nargs=1, @blob="db0f4940"); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + mulf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 01000000 00000000 08000000 78000000 c1bdf0ff efeeeebc 000080bf", + ); + pushf(@nargs=1, @blob="db0f49c0"); + pushi(@nargs=1, @blob="3c000000"); + divf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + mulf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="01000000 01000000 00000000 08000000 78000000 c1bdf0ff efeeeebc 000080bf", + ); + etOn(@nargs=1, @blob="00000000"); + etOn(@nargs=1, @blob="01000000"); ++4: // 64 + nop(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="acc5a737"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + {"24567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"24567"}: pushf(@nargs=1, @blob="acc52737"); + {"24567"}: addf(@blob=""); + {"24567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + {"34567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"34567"}: pushf(@nargs=1, @blob="acc52737"); + {"34567"}: addf(@blob=""); + {"34567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="a8fbffff 3c000000"); ++60: // 124 + playSound(@nargs=1, @blob="29000000"); + {"0124567"}: wait(@nargs=1, @blob="3c000000"); + {"34567"}: wait(@nargs=1, @blob="28000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="a0faffff 3c000000"); + ret(@blob=""); +} + + +void BossCard2_00Cat() { + 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", + ); + pushi(@nargs=1, @blob="50000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="5a000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="38030000 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"); + etEx( + @mask=0b11000000, + @nargs=8, + @blob="00000000 02000000 00000000 00000002 3c000000 04000000 00000041 00004041", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="00000000 04000000 00000000 00100000 04000000 c1bdf0ff f02374c9 f02374c9", + ); + 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"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="ccfcffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_00Cat2() { + 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", + ); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="5a000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + jmp(@nargs=2, @blob="28030000 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"); + etEx( + @mask=0b11000000, + @nargs=8, + @blob="01000000 02000000 00000000 00000002 3c000000 04000000 00000041 00004041", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="01000000 04000000 00000000 00100000 04000000 c1bdf0ff f02374c9 f02374c9", + ); + 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"); + etDist(@nargs=2, @blob="01000000 00002043"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="04000000"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="04000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="dcfcffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_00Cat3() { + 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", + ); + pushi(@nargs=1, @blob="50000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="5a000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + jmp(@nargs=2, @blob="28030000 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"); + etEx( + @mask=0b11000000, + @nargs=8, + @blob="02000000 02000000 00000000 00000002 3c000000 04000000 00000041 00004041", + ); + etEx( + @mask=0b10000, + @nargs=8, + @blob="02000000 04000000 00000000 00100000 04000000 c1bdf0ff f02374c9 f02374c9", + ); + 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"); + 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"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="01000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="dcfcffff 00000000"); + ret(@blob=""); +} + + +void BossCard3_00C() { + stackAlloc(@nargs=1, @blob="0c000000"); + 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=""); + {"0124567"}: setInterrupt( + @nargs=4, + @blob="00000000 c4090000 b80b0000 10000000 426f7373 43617264 345f3030 43000000", + ); + {"34567"}: setInterrupt( + @nargs=4, + @blob="00000000 800c0000 b80b0000 10000000 426f7373 43617264 345f3030 43000000", + ); + 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="4a000000 b80b0000 20a10700 20000000 e6041ef2 724f02ae e4110ff8 68cf0a3e e4e306c3 627102b0 dc81fc52 dba27960", + ); + playSound(@nargs=1, @blob="29000000"); ++60: // 60 + nop(@blob=""); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 335f3030 43617432 00000000", + ); + jmp(@nargs=2, @blob="34000000 a0000000"); ++100: // 160 + moveRand(@nargs=3, @blob="3c000000 00000000 0000803f"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d0ffffff 3c000000"); + ret(@blob=""); +} + + +void BossCard3_00Cat() { + stackAlloc(@nargs=1, @blob="20000000"); + flagSet(@nargs=1, @blob="20010000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@mask=0b100, @nargs=3, @blob="00000000 07000000 ffd8ffff"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00f01bc6 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00040000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 00010000 10000000 0c000000 f02374c9 f02374c9", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etOffset(@nargs=3, @blob="00000000 00000000 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="03000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="d80fc93f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="db0f4940"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008041"); + pushi(@nargs=1, @blob="06000000"); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="1c000000"); + jmp(@nargs=2, @blob="78010000 00000000"); + circlePos( + @mask=0b1111, + @nargs=4, + @blob="00000041 00004041 00008040 0000a041", + ); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041"); + etOn(@nargs=1, @blob="00000000"); + circlePos( + @mask=0b1111, + @nargs=4, + @blob="00000041 00004041 00008041 0000a041", + ); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushf(@nargs=1, @blob="3333333f"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000c041"); + pushf(@mask=0b1, @nargs=1, @blob="0000a041"); + pushf(@mask=0b1, @nargs=1, @blob="0000c041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="0000a041"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + wait(@nargs=1, @blob="03000000"); + deci(@mask=0b1, @nargs=1, @blob="1c000000"); + jmpNeq(@nargs=2, @blob="8cfeffff 00000000"); + delete(@blob=""); + delete(@blob=""); +} + + +void BossCard3_00Cat2() { + stackAlloc(@nargs=1, @blob="00000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00f01bc6 00009040 00009040 0000a040 0000a040", + ); + jmp(@nargs=2, @blob="e4070000 00000000"); + pushf(@nargs=1, @blob="db0f493f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + negf(@blob=""); + pushi(@nargs=1, @blob="50000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="64000000"); + subf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="10000000 426f7373 43617264 335f3030 43617400 000080bf 000080c2 c8000000 e8030000 00000000", + ); + diffWait(@nargs=4, @blob="28000000 14000000 11000000 0f000000"); + pushf(@nargs=1, @blob="e4cb1640"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="50000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="64000000"); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="10000000 426f7373 43617264 335f3030 43617400 000080bf 000080c2 c8000000 e8030000 00000000", + ); + diffWait(@nargs=4, @blob="28000000 14000000 11000000 0f000000"); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="18000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + negf(@blob=""); + pushi(@nargs=1, @blob="50000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="00000000"); + subf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="10000000 426f7373 43617264 335f3030 43617400 000080bf 000080c2 c8000000 e8030000 00000000", + ); + diffWait(@nargs=4, @blob="28000000 14000000 11000000 0f000000"); + pushf(@nargs=1, @blob="e4cb1640"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushi(@nargs=1, @blob="50000000"); + mulf(@blob=""); + pushi(@nargs=1, @blob="00000000"); + addf(@blob=""); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="10000000 426f7373 43617264 335f3030 43617400 000080bf 000080c2 c8000000 e8030000 00000000", + ); + diffWait(@nargs=4, @blob="28000000 14000000 11000000 0f000000"); + pushf(@nargs=1, @blob="db0f493f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="10000000 426f7373 43617264 335f3030 43617400 00b41bc6 000080c2 c8000000 e8030000 00000000", + ); + diffWait(@nargs=4, @blob="28000000 14000000 11000000 0f000000"); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="18000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + enmCreateA( + @mask=0b10, + @nargs=6, + @blob="10000000 426f7373 43617264 335f3030 43617400 00b41bc6 000080c2 c8000000 e8030000 00000000", + ); + diffWait(@nargs=4, @blob="28000000 14000000 11000000 0f000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="0000c040"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="0000803e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="20f8ffff 00000000"); + ret(@blob=""); +} + + +void BossCard4_00C() { + 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"); + 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", + ); + 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="4e000000 68100000 20a10700 18000000 e6041ef2 724f0341 e4790ff6 696c0bc6 f2f904da e32a81e8", + ); + flagSet(@nargs=1, @blob="0c000000"); + playSound(@nargs=1, @blob="29000000"); ++60: // 60 + nop(@blob=""); + anmSelect(@nargs=1, @blob="02000000"); + wait(@nargs=1, @blob="3c000000"); + pushf(@nargs=1, @blob="00000040"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + callAsync( + @nargs=3, + @blob="10000000 426f7373 43617264 345f3030 43617400 69660000 60000000 69660000 00000000", + ); + callAsync( + @nargs=3, + @blob="14000000 426f7373 43617264 345f3030 43617432 00000000 69660000 a0ffffff 69660000 00000000", + ); + moveRand(@nargs=3, @blob="28000000 00000000 0000803f"); + diffWait(@nargs=4, @blob="2c010000 b4000000 6e000000 3c000000"); + callAsync( + @nargs=3, + @blob="14000000 426f7373 43617264 345f3030 43617432 00000000 69660000 40000000 69660000 00000000", + ); + callAsync( + @nargs=3, + @blob="10000000 426f7373 43617264 345f3030 43617400 69660000 c0ffffff 69660000 00000000", + ); + moveRand(@nargs=3, @blob="28000000 00000000 0000803f"); + diffWait(@nargs=4, @blob="2c010000 b4000000 6e000000 3c000000"); + jmp(@nargs=2, @blob="d8020000 3c000000"); + pushi(@nargs=1, @blob="70000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="38000000"); + mulf(@blob=""); + addf(@blob=""); + callAsync( + @mask=0b10, + @nargs=3, + @blob="10000000 426f7373 43617264 345f3030 43617400 66660000 000080bf 69660000 00000000", + ); + pushi(@nargs=1, @blob="90ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="38000000"); + mulf(@blob=""); + addf(@blob=""); + callAsync( + @mask=0b10, + @nargs=3, + @blob="14000000 426f7373 43617264 345f3030 43617432 00000000 66660000 000080bf 69660000 00000000", + ); + moveRand(@nargs=3, @blob="28000000 00000000 0000803f"); + diffWait(@nargs=4, @blob="2c010000 b4000000 6e000000 3c000000"); + pushi(@nargs=1, @blob="40000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="38000000"); + mulf(@blob=""); + addf(@blob=""); + callAsync( + @mask=0b10, + @nargs=3, + @blob="14000000 426f7373 43617264 345f3030 43617432 00000000 66660000 000080bf 69660000 00000000", + ); + pushi(@nargs=1, @blob="c0ffffff"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="38000000"); + mulf(@blob=""); + addf(@blob=""); + callAsync( + @mask=0b10, + @nargs=3, + @blob="10000000 426f7373 43617264 345f3030 43617400 66660000 000080bf 69660000 00000000", + ); + moveRand(@nargs=3, @blob="28000000 00000000 0000803f"); + diffWait(@nargs=4, @blob="2c010000 b4000000 6e000000 3c000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="2cfdffff 3c000000"); + ret(@blob=""); +} + + +void BossCard4_00Cat() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 05000000"); + etSprite(@nargs=3, @blob="00000000 07000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 db0fc93d"); + etSpeed(@nargs=3, @blob="00000000 0000803f 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00040000 c8000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 01000000 08000000 70170000 c1bdf0ff 00000000 5077563d", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="60000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 0000803f", + ); + jmp(@nargs=2, @blob="e0000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="60000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 3333b33f", + ); + jmp(@nargs=2, @blob="48000000 00000000"); + etEx( + @nargs=8, + @blob="00000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 00000040", + ); + etOffsetAbs(@nargs=3, @blob="00000000 00000000 00000000"); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000000 00008040"); + diffI( + @mask=0b1, + @nargs=5, + @blob="14000000 5a000000 5a000000 5a000000 5a000000", + ); + pushf(@nargs=1, @blob="7077563d"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="0000003f"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + jmp(@nargs=2, @blob="78010000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008041 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="00000000 02000000 01000000 08000000 70170000 c1bdf0ff 00000000 00000041", + ); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="b6867840"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3f357e3f"); + mulf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="a69b443c"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="8cfeffff 00000000"); + ret(@blob=""); +} + + +void BossCard4_00Cat2() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 05000000"); + etSprite(@nargs=3, @blob="01000000 07000000 06000000"); + etCount(@nargs=3, @blob="01000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 db0fc93d"); + etSpeed(@nargs=3, @blob="01000000 0000803f 00000040"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 00040000 c8000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 02000000 01000000 08000000 70170000 c1bdf0ff 00000000 5077563d", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="60000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 0000803f", + ); + jmp(@nargs=2, @blob="e0000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="02000000"); + leqi(@blob=""); + jmpEq(@nargs=2, @blob="60000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 3333b33f", + ); + jmp(@nargs=2, @blob="48000000 00000000"); + etEx( + @nargs=8, + @blob="01000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 00000040", + ); + etOffsetAbs(@nargs=3, @blob="01000000 00000000 00000000"); + etOffset(@mask=0b110, @nargs=3, @blob="01000000 00000000 00008040"); + pushi(@nargs=1, @blob="5a000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + pushf(@nargs=1, @blob="707756bd"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="0000003f"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + jmp(@nargs=2, @blob="78010000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008041 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="01000000 00004041 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="01000000 02000000 01000000 08000000 70170000 c1bdf0ff 00000000 00000041", + ); + etOn(@nargs=1, @blob="01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="b6867840"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3f357e3f"); + mulf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="a69b443c"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="8cfeffff 00000000"); + ret(@blob=""); +} diff --git a/research/stage4c01a.tecl b/research/stage4c01a.tecl new file mode 100644 index 0000000..4cb183e --- /dev/null +++ b/research/stage4c01a.tecl @@ -0,0 +1,759 @@ +#pragma mapfile "utils/th11.eclm" + +meta {} + + +void BossCard2_01A() { + stackAlloc(@nargs=1, @blob="10000000"); + lifeSet(@nargs=1, @blob="a8160000"); + setInterrupt( + @nargs=4, + @blob="00000000 100e0000 b80b0000 10000000 426f7373 43617264 335f3031 41000000", + ); + lifeMarker(@nargs=3, @blob="00000000 0040b545 ff8080ff"); + lifeMarker(@nargs=3, @blob="01000000 00006145 ff4040ff"); + lifeMarker(@nargs=3, @blob="02000000 0000fa44 c00000ff"); + setChapter(@nargs=1, @blob="2c000000"); + spell( + @nargs=4, + @blob="52000000 b80b0000 20a10700 14000000 e6041ef2 724f1e8c ed3a06aa 7bde0510 e61885ac", + ); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000000 00000043"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + playSound(@nargs=1, @blob="29000000"); ++60: // 60 + nop(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="707756bd"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + diffI( + @mask=0b1, + @nargs=5, + @blob="0c000000 04000000 0c000000 0e000000 10000000", + ); + pushf(@nargs=1, @blob="db0fc940"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + divf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="b0000000 3c000000"); + enmCreateA( + @nargs=6, + @blob="10000000 426f7373 43617264 325f3031 41617400 00000000 00000000 e8030000 e8030000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + validRad(@mask=0b1, @nargs=1, @blob="00f41bc6"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="54ffffff 3c000000"); + jmp(@nargs=2, @blob="48000000 3c000000"); + wait(@nargs=1, @blob="dc000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="bcffffff 3c000000"); + ret(@blob=""); +} + + +void BossCard2_01Aat() { + stackAlloc(@nargs=1, @blob="10000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="00000000 67000000"); + flagSet(@nargs=1, @blob="0f000000"); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 325f3031 416d6f76 65000000", + ); + moveCircle( + @mask=0b11, + @nargs=4, + @blob="00f41bc6 00f01bc6 00000000 0000c03f", + ); ++90: // 90 + moveCircle(@nargs=4, @blob="f02374c9 f02374c9 0000f042 00000000"); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 325f3031 416d6f76 65320000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00cc1bc6"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00000041 0000803f 0000803f 9a99993f 0000c03f", + ); + jmp(@nargs=2, @blob="ac070000 5a000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 03000000 0a000000"); + etCount(@nargs=3, @blob="00000000 02000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00000041 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00000080 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="24010000 5a000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00000041 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="b950293e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="cdcc4c3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="e0feffff 5a000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 08000000 1e000000 c1bdf0ff 00000000 507756bd", + ); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="24010000 5a000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00000041 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="73d9a03e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="cdcc4c3d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="e0feffff 5a000000"); + wait(@nargs=1, @blob="1e000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 08000000 1e000000 c1bdf0ff 00000000 5077563d", + ); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="24010000 5a000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00000041 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="73d9a03e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="cdcc4c3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + wait(@nargs=1, @blob="09000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="e0feffff 5a000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 08000000 1e000000 c1bdf0ff 00000000 507756bd", + ); + pushi(@nargs=1, @blob="14000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="24010000 5a000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00000041 00000000"); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="73d9a03e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + validRad(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="cdcc4c3d"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + wait(@nargs=1, @blob="09000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="e0feffff 5a000000"); + wait(@nargs=1, @blob="1e000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="58f8ffff 5a000000"); + jmp(@nargs=2, @blob="2c000000 5a000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 5a000000"); + delete(@blob=""); +} + + +void BossCard2_01Amove() { + stackAlloc(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="44000000 00000000"); + movePosRel(@mask=0b11, @nargs=2, @blob="00ac1bc6 00a81bc6"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="c0ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_01Amove2() { + stackAlloc(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="80000000 00000000"); + moveCircle(@nargs=4, @blob="f02374c9 f02374c9 f02374c9 000040bf"); + wait(@nargs=1, @blob="78000000"); + moveCircle(@nargs=4, @blob="f02374c9 f02374c9 f02374c9 0000403f"); + wait(@nargs=1, @blob="78000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="84ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard3_01A() { + 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 d0070000 b80b0000 10000000 426f7373 43617264 345f3031 41000000", + ); + 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"); + movePosTime(@nargs=4, @blob="3c000000 04000000 000080c2 00000043"); + wait(@nargs=1, @blob="5a000000"); + spell( + @nargs=4, + @blob="56000000 b80b0000 20a10700 20000000 e6041ef2 724f12a0 ec910eb9 6ae90a18 e6350627 60600296 dcacfe7f 5ad47960", + ); + playSound(@nargs=1, @blob="29000000"); ++60: // 60 + nop(@blob=""); + diffF( + @mask=0b1, + @nargs=5, + @blob="00f01bc6 00006040 00006040 0000a040 0000b040", + ); + pushi(@nargs=1, @blob="78000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="50040000 3c000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 335f3031 41617400"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 0000c040"); + moveVelTime(@nargs=4, @blob="3c000000 04000000 f02374c9 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="02000000"); + muli(@blob=""); + diffWait(@mask=0b11, @nargs=4, @blob="ffffffff 0c000000 50000000 46000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="50000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="64000000 3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="01000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="0000a040"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 3c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="cdcccc3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + callAsync( + @nargs=1, + @blob="14000000 426f7373 43617264 335f3031 41617432 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="20000000"); + divf(@blob=""); + pushf(@nargs=1, @blob="db0f4940"); + addf(@blob=""); + moveVel(@mask=0b1, @nargs=2, @blob="000080bf 0000c040"); + moveVelTime(@nargs=4, @blob="3c000000 04000000 f02374c9 00000000"); + diffWait(@mask=0b11, @nargs=4, @blob="0c000000 0c000000 50000000 46000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="50000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="64000000 3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="01000000"); + subi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="0000a040"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="64000000 3c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="cdcccc3d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b4fbffff 3c000000"); + ret(@blob=""); +} + + +void BossCard3_01ADollA() { + stackAlloc(@nargs=1, @blob="08000000"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 00008040 00008040 0000a040 0000a040", + ); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="00000000 6c000000"); + flagSet(@nargs=1, @blob="03000000"); + callAsync( + @nargs=1, + @blob="18000000 426f7373 43617264 335f3031 41446f6c 6c506f73 00000000", + ); + moveVel(@mask=0b11, @nargs=2, @blob="00f41bc6 00008040"); + 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 BossCard3_01ADollAttack0() { + stackAlloc(@nargs=1, @blob="04000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 0d000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + etSpeed(@nargs=3, @blob="00000000 00000000 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 2d000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 04000000 78000000 c1bdf0ff abaaaa3c f02374c9", + ); + etCopy(@nargs=2, @blob="01000000 00000000"); + etSprite(@nargs=3, @blob="01000000 00000000 0c000000"); + jmp(@nargs=2, @blob="58010000 02000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="78000000"); + divf(@blob=""); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="08000000"); + mulf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0fc93f"); + subf(@blob=""); + etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 000080bf 000080bf"); + etOn(@nargs=1, @blob="00000000"); ++2: // 2 + etOn(@nargs=1, @blob="01000000"); + wait(@nargs=1, @blob="02000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="acfeffff 00000000"); + ret(@blob=""); +} + + +void BossCard3_01ADollPos() { + stackAlloc(@nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="24010000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="40ffffff"); + leqf(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); + pushi(@nargs=1, @blob="c0000000"); + geqf(@blob=""); + or(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); + pushi(@nargs=1, @blob="00000000"); + lessf(@blob=""); + or(@blob=""); + jmpEq(@nargs=2, @blob="30000000 00000000"); + jmp(@nargs=2, @blob="58000000 00000000"); + wait(@nargs=1, @blob="01000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="e0feffff 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="50000000"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + moveVel(@mask=0b11, @nargs=2, @blob="00000000 00f01bc6"); + callAsync( + @mask=0b10, + @nargs=2, + @blob="1c000000 426f7373 43617264 335f3031 41446f6c 6c417474 61636b30 00000000 66660000 00000000", + ); + ret(@blob=""); +} + + +void BossCard3_01Aat() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="dc0f49c0"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + jmp(@nargs=2, @blob="a0000000 00000000"); + enmCreate( + @nargs=6, + @blob="14000000 426f7373 43617264 335f3031 41446f6c 6c410000 00000000 00000000 e8030000 e8030000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="c7b8b23e"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="64ffffff 00000000"); + playSound(@nargs=1, @blob="10000000"); + ret(@blob=""); +} + + +void BossCard3_01Aat2() { + stackAlloc(@nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + jmp(@nargs=2, @blob="a0000000 00000000"); + enmCreate( + @nargs=6, + @blob="14000000 426f7373 43617264 335f3031 41446f6c 6c410000 00000000 00000000 e8030000 e8030000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="c7b8b23e"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + deci(@mask=0b1, @nargs=1, @blob="00000000"); + jmpNeq(@nargs=2, @blob="64ffffff 00000000"); + playSound(@nargs=1, @blob="10000000"); + ret(@blob=""); +} + + +void BossCard4_01A() { + stackAlloc(@nargs=1, @blob="14000000"); + 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="5a000000 68100000 20a10700 20000000 e6041ef2 724f1272 eca80c6f 68210a33 e40706c6 60ab028f dc8afe7c 5ad47960", + ); + flagSet(@nargs=1, @blob="0c000000"); + playSound(@nargs=1, @blob="29000000"); ++60: // 60 + nop(@blob=""); + anmSelect(@nargs=1, @blob="02000000"); + anmPlay(@nargs=2, @blob="00000000 83000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + jmp(@nargs=2, @blob="18040000 3c000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="10000000 04000000 04000000 05000000 06000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="00000040"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00004041 db0fc93f db0fc93f 7cd9a03f 920a863f", + ); + playSound(@nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="b4000000 3c000000"); + enmCreate( + @nargs=6, + @blob="14000000 426f7373 43617264 345f3031 41446f6c 6c410000 00000000 00000000 d0070000 e8030000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + validRad(@mask=0b1, @nargs=1, @blob="00f41bc6"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="50ffffff 3c000000"); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="ec010000 3c000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="10000000 04000000 04000000 05000000 06000000", + ); + diffF( + @mask=0b1, + @nargs=5, + @blob="00004041 db0f493f db0f493f 7cd9203f 920a063f", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00004041 db0fc93f db0fc93f 7cd9a03f 920a863f", + ); + validRad(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="0000a040"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + jmp(@nargs=2, @blob="b4000000 3c000000"); + enmCreate( + @nargs=6, + @blob="14000000 426f7373 43617264 345f3031 41446f6c 6c410000 00000000 00000000 d0070000 e8030000 00000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + validRad(@mask=0b1, @nargs=1, @blob="00f41bc6"); + deci(@mask=0b1, @nargs=1, @blob="10000000"); + jmpNeq(@nargs=2, @blob="50ffffff 3c000000"); + diffWait(@nargs=4, @blob="78000000 78000000 78000000 6e000000"); + moveRand(@nargs=3, @blob="28000000 00000000 0000803f"); + wait(@nargs=1, @blob="28000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="ecfbffff 3c000000"); + ret(@blob=""); +} + + +void BossCard4_01ADollA() { + stackAlloc(@nargs=1, @blob="0c000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="00000000 66000000"); + flagSet(@nargs=1, @blob="0c000000"); + moveVel(@mask=0b11, @nargs=2, @blob="00f41bc6 00f01bc6"); + moveVelTime(@nargs=4, @blob="50000000 01000000 f02374c9 00000000"); ++60: // 60 + nop(@blob=""); + anmSelect(@nargs=1, @blob="00000000"); + anmSetSprite(@nargs=2, @blob="01000000 af000000"); ++20: // 80 + anmSetSprite(@nargs=2, @blob="00000000 ffffffff"); + moveVel(@mask=0b1, @nargs=2, @blob="00f41bc6 9a99993e"); + playSound(@nargs=1, @blob="36000000"); + flagSet(@nargs=1, @blob="01020000"); + pushi(@nargs=1, @blob="08000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="0a000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="90000000 50000000"); + setHitbox(@mask=0b11, @nargs=2, @blob="00008040 00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="08000000"); + 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 50000000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 345f3031 41617400"); + pushi(@nargs=1, @blob="5a000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="90000000 50000000"); + setHitbox(@mask=0b11, @nargs=2, @blob="00008040 00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="9a99193f"); + 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 50000000"); + flagSet(@nargs=1, @blob="03000000"); + wait(@nargs=1, @blob="28000000"); + delete(@blob=""); + jmp(@nargs=2, @blob="2c000000 50000000"); + wait(@nargs=1, @blob="e8030000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 50000000"); + delete(@blob=""); +} + + +void BossCard4_01Aat() { + stackAlloc(@nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 05000000"); + etSprite(@nargs=3, @blob="00000000 01000000 02000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 db0fc93d"); + etSpeed(@nargs=3, @blob="00000000 00000000 00000040"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00000010 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 01000000 04000000 78000000 c1bdf0ff 8988083c f02374c9", + ); + wait(@nargs=1, @blob="50000000"); + pushi(@nargs=1, @blob="1e000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="d0000000 00000000"); + pushi(@nargs=1, @blob="40000000"); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="10000000"); + mulf(@blob=""); + addf(@blob=""); + etDist(@mask=0b10, @nargs=2, @blob="00000000 000080bf"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="01000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="34ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard4_01Aat2() { + stackAlloc(@nargs=1, @blob="18000000"); + etNew(@nargs=1, @blob="01000000"); + etAim(@nargs=2, @blob="01000000 05000000"); + etSprite(@nargs=3, @blob="01000000 07000000 06000000"); + etCount(@nargs=3, @blob="01000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 db0fc93d"); + etSpeed(@nargs=3, @blob="01000000 0000803f 00000040"); + etEx( + @nargs=8, + @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 01000000 00000000 00040000 c8000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="01000000 02000000 01000000 08000000 70170000 c1bdf0ff 00000000 5077563d", + ); + etEx( + @nargs=8, + @blob="01000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 0000803f", + ); + etOffsetAbs(@nargs=3, @blob="01000000 00000000 00000000"); + etOffset(@mask=0b110, @nargs=3, @blob="01000000 00000000 00008040"); + pushi(@nargs=1, @blob="5a000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + pushf(@nargs=1, @blob="707756bd"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="0000003f"); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + jmp(@nargs=2, @blob="78010000 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008041 00000000"); + etSpeed(@mask=0b10, @nargs=3, @blob="01000000 00004041 00000000"); + etEx( + @mask=0b10000000, + @nargs=8, + @blob="01000000 02000000 01000000 08000000 70170000 c1bdf0ff 00000000 00000041", + ); + etOn(@nargs=1, @blob="01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@nargs=1, @blob="b6867840"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008041"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="3f357e3f"); + mulf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@mask=0b1, @nargs=1, @blob="00004041"); + pushf(@nargs=1, @blob="a69b443c"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00004041"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="8cfeffff 00000000"); + ret(@blob=""); +} diff --git a/research/stage4c01b.tecl b/research/stage4c01b.tecl new file mode 100644 index 0000000..018b16a --- /dev/null +++ b/research/stage4c01b.tecl @@ -0,0 +1,558 @@ +#pragma mapfile "utils/th11.eclm" + +meta {} + + +void BossCard2_01B() { + stackAlloc(@nargs=1, @blob="14000000"); + lifeSet(@nargs=1, @blob="c8190000"); + setInterrupt( + @nargs=4, + @blob="00000000 30110000 b80b0000 10000000 426f7373 43617264 335f3031 42000000", + ); + lifeMarker(@nargs=3, @blob="00000000 0040ce45 ff8080ff"); + lifeMarker(@nargs=3, @blob="01000000 00808945 ff4040ff"); + lifeMarker(@nargs=3, @blob="02000000 00001645 c00000ff"); + spell( + @nargs=4, + @blob="5e000000 b80b0000 20a10700 1c000000 e6041ef2 724f1285 eead0e78 68370afa e41206ef 6073027b de907d24", + ); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000000 00000043"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + playSound(@nargs=1, @blob="29000000"); ++60: // 60 + nop(@blob=""); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00004042"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="c4040000 3c000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="dc030000 3c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + diffI( + @mask=0b1, + @nargs=5, + @blob="10000000 0c000000 18000000 18000000 1c000000", + ); + pushi(@mask=0b1, @nargs=1, @blob="10000000"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="01000000"); + muli(@blob=""); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 0e000000"); + etCountD( + @mask=0b11110, + @nargs=9, + @blob="00000000 10000000 10000000 10000000 10000000 01000000 01000000 02000000 02000000", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00f41bc6 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 0000c03f 0000c03f 0000c03f cdcccc3f 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 08000000 5a000000 c1bdf0ff a69b443b db0f493c", + ); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 01000000 08000000"); + etCountD( + @mask=0b11110, + @nargs=9, + @blob="00000000 10000000 10000000 10000000 10000000 01000000 01000000 02000000 02000000", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00f41bc6 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 0000c03f 0000c03f 0000c03f cdcccc3f 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 08000000 5a000000 c1bdf0ff a69b443b db0f49bc", + ); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="28fcffff 3c000000"); + moveRand(@nargs=3, @blob="5a000000 04000000 0000c03f"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + wait(@nargs=1, @blob="32000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="40fbffff 3c000000"); + ret(@blob=""); +} + + +void BossCard3_01B() { + stackAlloc(@nargs=1, @blob="14000000"); + 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 60090000 b80b0000 10000000 426f7373 43617264 345f3031 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"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008042"); + wait(@nargs=1, @blob="5a000000"); + spell( + @nargs=4, + @blob="62000000 b80b0000 20a10700 20000000 e6041ef2 724f128e ec7c0ea7 68e80a28 e42b063f 604c02aa dc8afc52 dba27960", + ); + playSound(@nargs=1, @blob="29000000"); ++60: // 60 + nop(@blob=""); + wait(@nargs=1, @blob="1e000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="10000000"); + callAsyncId( + @nargs=2, + @blob="10000000 426f7373 43617264 335f3031 42617400 01000000", + ); + jmp(@nargs=2, @blob="54050000 3c000000"); + moveRand(@nargs=3, @blob="5a000000 04000000 0000c03f"); + pushi(@nargs=1, @blob="04000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + jmp(@nargs=2, @blob="d0010000 3c000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 03000000"); + etCountD( + @nargs=9, + @blob="00000000 01000000 01000000 09000000 0a000000 01000000 01000000 02000000 03000000", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00f41bc6 fac8e53e"); + etSpeedD( + @nargs=9, + @blob="00000000 00000040 00000040 00000040 00004040 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="dac8653e"); + mulf(@blob=""); + pushf(@nargs=1, @blob="1dc9e53d"); + subf(@blob=""); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + wait(@nargs=1, @blob="14000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="34feffff 3c000000"); + pushi(@nargs=1, @blob="0c000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + pushf(@nargs=1, @blob="d80fc93e"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + jmp(@nargs=2, @blob="28020000 3c000000"); + laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 06000000 00141cc6 00008040 00000000 0000c042 00000000 00004041", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="01000000"); + geqi(@blob=""); + jmpEq(@nargs=2, @blob="34010000 3c000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + addf(@blob=""); + laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 06000000 000080bf 00008040 00000000 0000c042 00000000 00004041", + ); + pushi(@nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + addf(@blob=""); + laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 06000000 000080bf 00008040 00000000 0000c042 00000000 00004041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077d63c"); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + playSound(@nargs=1, @blob="10000000"); + wait(@nargs=1, @blob="0a000000"); + deci(@mask=0b1, @nargs=1, @blob="08000000"); + jmpNeq(@nargs=2, @blob="dcfdffff 3c000000"); + moveRand(@nargs=3, @blob="5a000000 04000000 0000c03f"); + wait(@nargs=1, @blob="32000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b0faffff 3c000000"); + ret(@blob=""); +} + + +void BossCard3_01Bat() { + stackAlloc(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="02000000"); + etAim(@nargs=2, @blob="02000000 03000000"); + etSprite(@nargs=3, @blob="02000000 01000000 06000000"); + etCountD( + @nargs=9, + @blob="02000000 10000000 10000000 14000000 18000000 01000000 02000000 03000000 03000000", + ); + etAngle(@nargs=3, @blob="02000000 db0f4940 00000000"); + etSpeedD( + @nargs=9, + @blob="02000000 00006040 00006040 66668640 9a998940 0000803f 0000803f 0000803f 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="16000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); + ret(@blob=""); +} + + +void BossCard4_01B() { + 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="66000000 68100000 20a10700 14000000 e6041ef2 724f1d53 e1240ff8 7b7c0806 676e85ac", + ); + flagSet(@nargs=1, @blob="0c000000"); ++60: // 60 + nop(@blob=""); + anmSelect(@nargs=1, @blob="02000000"); + anmPlay(@nargs=2, @blob="00000000 83000000"); + playSound(@nargs=1, @blob="29000000"); + wait(@nargs=1, @blob="3c000000"); + playSound(@nargs=1, @blob="07000000"); + enmCreateA( + @nargs=6, + @blob="18000000 426f7373 43617264 345f3031 425f426f 6f6b3030 00000000 00000000 00001043 60ea0000 e8030000 00000000", + ); + enmCreateA( + @nargs=6, + @blob="18000000 426f7373 43617264 345f3031 425f426f 6f6b3031 00000000 00000043 0000e042 60ea0000 e8030000 00000000", + ); + enmCreateA( + @nargs=6, + @blob="18000000 426f7373 43617264 345f3031 425f426f 6f6b3032 00000000 00008042 0000c042 60ea0000 e8030000 00000000", + ); + enmCreateA( + @nargs=6, + @blob="18000000 426f7373 43617264 345f3031 425f426f 6f6b3033 00000000 000000c3 0000e042 60ea0000 e8030000 00000000", + ); + enmCreateA( + @nargs=6, + @blob="18000000 426f7373 43617264 345f3031 425f426f 6f6b3034 00000000 000080c2 0000c042 60ea0000 e8030000 00000000", + ); + jmp(@nargs=2, @blob="2c000000 3c000000"); + wait(@nargs=1, @blob="78000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="d8ffffff 3c000000"); + ret(@blob=""); +} + + +void BossCard4_01B_Book00() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="00000000 2e000000"); + flagSet(@nargs=1, @blob="03000000"); + wait(@nargs=1, @blob="20000000"); + jmp(@nargs=2, @blob="18010000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 19000000 00000000"); + etCountD( + @nargs=9, + @blob="00000000 0a000000 0a000000 0a000000 0a000000 06000000 06000000 06000000 06000000", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etSpeedD( + @nargs=9, + @blob="00000000 00000040 00000040 00004040 00004040 0000803f 0000803f 0000803f 0000803f", + ); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="2c010000 be000000 78000000 5a000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="ecfeffff 00000000"); + delete(@blob=""); +} + + +void BossCard4_01B_Book01() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="00000000 2d000000"); + flagSet(@nargs=1, @blob="03000000"); + wait(@nargs=1, @blob="40000000"); + jmp(@nargs=2, @blob="18010000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 12000000 00000000"); + etCount(@nargs=3, @blob="00000000 0b000000 02000000"); + etAngle(@nargs=3, @blob="00000000 00000000 920a863e"); + etSpeed(@nargs=3, @blob="00000000 00004040 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="78000000 32000000 28000000 1e000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="ecfeffff 00000000"); + delete(@blob=""); +} + + +void BossCard4_01B_Book02() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="00000000 2f000000"); + flagSet(@nargs=1, @blob="03000000"); + wait(@nargs=1, @blob="10000000"); + jmp(@nargs=2, @blob="00020000 00000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="04000000 0f000000 1e000000 1e000000 1e000000", + ); + jmp(@nargs=2, @blob="78010000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 0d000000 05000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); + etSpeed(@nargs=3, @blob="00000000 0000803f 9a99993e"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 04000000 78000000 c1bdf0ff 0ad7233c e4cb1640", + ); + etOn(@nargs=1, @blob="00000000"); + diffWait(@nargs=4, @blob="02000000 01000000 01000000 01000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="8cfeffff 00000000"); + diffWait(@nargs=4, @blob="f0000000 a0000000 82000000 82000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="04feffff 00000000"); + delete(@blob=""); +} + + +void BossCard4_01B_Book03() { + stackAlloc(@nargs=1, @blob="04000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="00000000 2e000000"); + flagSet(@nargs=1, @blob="03000000"); + diffWait(@nargs=4, @blob="60000000 30000000 30000000 30000000"); + jmp(@nargs=2, @blob="54010000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 0e000000 07000000"); + etCountD( + @nargs=9, + @blob="00000000 06000000 10000000 14000000 14000000 01000000 01000000 01000000 01000000", + ); + etAngle(@nargs=3, @blob="00000000 db0fc93f db0f49c0"); + etSpeed(@nargs=3, @blob="00000000 00008040 9a99993e"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 01000000 00000000 40000000 3c000000 01000000 00141cc6 0000c03f", + ); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="aa000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b0feffff 00000000"); + delete(@blob=""); +} + + +void BossCard4_01B_Book04() { + stackAlloc(@nargs=1, @blob="08000000"); + anmSelect(@nargs=1, @blob="01000000"); + anmSetSprite(@nargs=2, @blob="00000000 30000000"); + flagSet(@nargs=1, @blob="03000000"); + diffWait(@nargs=4, @blob="a0000000 50000000 50000000 50000000"); + jmp(@nargs=2, @blob="60040000 00000000"); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="d4030000 00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f493f"); + addf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + etSpeed(@nargs=3, @blob="00000000 9a991940 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="db0fc9bf"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 10000000 64000000 01000000 000080bf 0000803f", + ); + etOn(@nargs=1, @blob="00000000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 06000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f493f"); + subf(@blob=""); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + etSpeed(@nargs=3, @blob="00000000 9a991940 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", + ); + pushf(@nargs=1, @blob="db0fc93f"); + pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); + pushi(@nargs=1, @blob="10000000"); + divf(@blob=""); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 10000000 64000000 01000000 000080bf 0000803f", + ); + etOn(@nargs=1, @blob="00000000"); + wait(@nargs=1, @blob="28000000"); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="30fcffff 00000000"); + diffWait(@nargs=4, @blob="2c010000 c8000000 96000000 78000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="a4fbffff 00000000"); + delete(@blob=""); +} diff --git a/research/stage4c01c.tecl b/research/stage4c01c.tecl new file mode 100644 index 0000000..17e09a1 --- /dev/null +++ b/research/stage4c01c.tecl @@ -0,0 +1,882 @@ +#pragma mapfile "utils/th11.eclm" + +meta {} + + +void Boss2Et_at2() { + stackAlloc(@nargs=1, @blob="0c000000"); + pushf(@nargs=1, @blob="e2cb1640"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + {"234567"}: call( + @nargs=1, + @blob="10000000 426f7373 3245745f 61743268 00000000", + ); + flagSet(@nargs=1, @blob="20000000"); + flagSet(@nargs=1, @blob="0c010000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 12000000 00000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc93f db0fc93e"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000803f"); + jmp(@nargs=2, @blob="14040000 05000000"); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + {"04567"}: pushi(@nargs=1, @blob="40000000"); + {"04567"}: mulf(@blob=""); + {"04567"}: etOffset( + @mask=0b10, + @nargs=3, + @blob="00000000 000080bf 000040c1", + ); + {"1234567"}: pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + {"1234567"}: pushi(@nargs=1, @blob="20000000"); + {"1234567"}: mulf(@blob=""); + {"1234567"}: etOffset( + @mask=0b10, + @nargs=3, + @blob="00000000 000080bf 000040c1", + ); + {"014567"}: pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + {"014567"}: pushf(@nargs=1, @blob="6666663f"); + {"014567"}: mulf(@blob=""); + {"014567"}: pushf(@nargs=1, @blob="6666e63f"); + {"014567"}: addf(@blob=""); + {"014567"}: etSpeed( + @mask=0b10, + @nargs=3, + @blob="00000000 000080bf 00000000", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="8c010000 00000000"); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00008040"); + {"04567"}: pushf(@nargs=1, @blob="730f493d"); + {"04567"}: subf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00008040"); + {"14567"}: pushf(@mask=0b1, @nargs=1, @blob="00008040"); + {"14567"}: pushf(@nargs=1, @blob="730f493d"); + {"14567"}: subf(@blob=""); + {"14567"}: setf(@mask=0b1, @nargs=1, @blob="00008040"); + {"234567"}: pushf(@mask=0b1, @nargs=1, @blob="00008040"); + {"234567"}: pushf(@nargs=1, @blob="730f493d"); + {"234567"}: subf(@blob=""); + {"234567"}: setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="db0f493f"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="40000000 00000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + jmp(@nargs=2, @blob="dc000000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="730f493d"); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@mask=0b1, @nargs=1, @blob="00008040"); + pushf(@nargs=1, @blob="e4cb1640"); + greaterf(@blob=""); + jmpEq(@nargs=2, @blob="40000000 00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="08000000"); + etOn(@nargs=1, @blob="00000000"); + {"014567"}: wait(@nargs=1, @blob="03000000"); ++5: // 5 + nop(@blob=""); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="f0fbffff 00000000"); + delete(@blob=""); +} + + +void Boss2Et_at2h() { + stackAlloc(@nargs=1, @blob="08000000"); + pushf(@nargs=1, @blob="e2cb1640"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + flagSet(@nargs=1, @blob="0c010000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 01000000"); + etSprite(@nargs=3, @blob="00000000 12000000 00000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@nargs=3, @blob="00000000 db0fc93f db0fc93e"); + etSpeed(@nargs=3, @blob="00000000 0000803f 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 00000000 10000000 3c000000 01000000 00000000 cdcccc3d", + ); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00100000 3c000000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="50040000 00000000"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="8fc2f53c"); + mulf(@blob=""); + pushf(@nargs=1, @blob="bc74933c"); + addf(@blob=""); + etEx( + @mask=0b1000000, + @nargs=8, + @blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff 000080bf 00c079c4", + ); + pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); + pushi(@nargs=1, @blob="20000000"); + mulf(@blob=""); + etOffset(@mask=0b10, @nargs=3, @blob="00000000 000080bf 000040c1"); + pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + pushf(@nargs=1, @blob="cdcccc3e"); + mulf(@blob=""); + pushf(@nargs=1, @blob="cdcc8c40"); + addf(@blob=""); + etSpeed(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); + pushi(@mask=0b1, @nargs=1, @blob="04000000"); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="40010000 00000000"); + {"24567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"24567"}: pushf(@nargs=1, @blob="730f493d"); + {"24567"}: subf(@blob=""); + {"24567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + {"34567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"34567"}: pushf(@nargs=1, @blob="1dc9e53c"); + {"34567"}: subf(@blob=""); + {"34567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="db0f493f"); + lessf(@blob=""); + jmpEq(@nargs=2, @blob="40000000 00000000"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + jmp(@nargs=2, @blob="28010000 00000000"); + {"24567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"24567"}: pushf(@nargs=1, @blob="730f493d"); + {"24567"}: addf(@blob=""); + {"24567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + {"34567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"34567"}: pushf(@nargs=1, @blob="1dc9e53c"); + {"34567"}: addf(@blob=""); + {"34567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000000"); + pushf(@nargs=1, @blob="e4cb1640"); + greaterf(@blob=""); + jmpEq(@nargs=2, @blob="40000000 00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + etOn(@nargs=1, @blob="00000000"); + {"24567"}: wait(@nargs=1, @blob="07000000"); + {"34567"}: wait(@nargs=1, @blob="05000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b4fbffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_01C() { + stackAlloc(@nargs=1, @blob="20000000"); + diffI( + @mask=0b1, + @nargs=5, + @blob="1c000000 10000000 20000000 20000000 20000000", + ); + lifeSet(@nargs=1, @blob="c8190000"); + setInterrupt( + @nargs=4, + @blob="00000000 30110000 b80b0000 10000000 426f7373 43617264 335f3031 43000000", + ); + lifeMarker(@nargs=3, @blob="00000000 0040ce45 ff8080ff"); + lifeMarker(@nargs=3, @blob="01000000 00808945 ff4040ff"); + lifeMarker(@nargs=3, @blob="02000000 00001645 c00000ff"); + spell( + @nargs=4, + @blob="6a000000 b80b0000 20a10700 18000000 e6041ef2 724f1334 ed270c6f 695b0a31 e635062c 625c81e8", + ); + movePosTime(@nargs=4, @blob="3c000000 00000000 00000000 00000043"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); + playSound(@nargs=1, @blob="29000000"); ++60: // 60 + nop(@blob=""); ++60: // 120 + anmPlay(@nargs=2, @blob="00000000 83000000"); ++60: // 180 + anmSetMain(@nargs=2, @blob="00000000 00000000"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@nargs=1, @blob="7077d63c"); + setf(@mask=0b1, @nargs=1, @blob="00f01bc6"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00008040"); + pushi(@nargs=1, @blob="01000000"); + seti(@mask=0b1, @nargs=1, @blob="18000000"); + jmp(@nargs=2, @blob="78010000 7c010000"); + callAsync(@nargs=1, @blob="10000000 426f7373 43617264 325f3031 43617400"); + moveRand(@nargs=3, @blob="a0000000 04000000 00000040"); ++200: // 380 + nop(@blob=""); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 08000000 06000000"); + etCountD( + @mask=0b11110, + @nargs=9, + @blob="00000000 1c000000 1c000000 1c000000 1c000000 02000000 02000000 02000000 03000000", + ); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 db0f493e"); + etSpeedD( + @nargs=9, + @blob="00000000 00002040 00002040 00002040 00006040 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", + ); + etOn(@nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="8cfeffff b4000000"); + ret(@blob=""); +} + + +void BossCard2_01Cat() { + stackAlloc(@nargs=1, @blob="10000000"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + playSound(@nargs=1, @blob="10000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@nargs=1, @blob="00000040"); + divf(@blob=""); + addf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + jmp(@nargs=2, @blob="5c030000 00000000"); + playSound(@nargs=1, @blob="18000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@nargs=1, @blob="00000040"); + divf(@blob=""); + subf(@blob=""); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00000000 00008040 000080bf 00008042", + ); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000000 00008040"); + {"014567"}: laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 09000000 00000041 cdcc4c40 00000000 0000a043 00000000 00006041", + ); + {"24567"}: laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 09000000 00000041 00008040 00000000 00000244 00000000 00006041", + ); + {"34567"}: laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 09000000 00000041 0000c040 00000000 00000244 00000000 00006041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@nargs=1, @blob="00000040"); + divf(@blob=""); + addf(@blob=""); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00000000 00008040 000080bf 00008042", + ); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000000 00008040"); + {"014567"}: laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 09000000 00000041 cdcc4c40 00000000 0000a043 00000000 00006041", + ); + {"24567"}: laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 09000000 00000041 00008040 00000000 00000244 00000000 00006041", + ); + {"34567"}: laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 09000000 00000041 0000c040 00000000 00000244 00000000 00006041", + ); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00000041"); + {"04567"}: pushf(@nargs=1, @blob="d80fc93e"); + {"04567"}: subf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00000041"); + {"1234567"}: pushf(@mask=0b1, @nargs=1, @blob="00000041"); + {"1234567"}: pushf(@nargs=1, @blob="f90f493e"); + {"1234567"}: subf(@blob=""); + {"1234567"}: setf(@mask=0b1, @nargs=1, @blob="00000041"); + {"04567"}: wait(@nargs=1, @blob="0a000000"); + diffWait(@nargs=4, @blob="0a000000 0a000000 0a000000 05000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="a8fcffff 00000000"); + playSound(@nargs=1, @blob="10000000"); + pushf(@mask=0b1, @nargs=1, @blob="00141cc6"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@nargs=1, @blob="00000040"); + divf(@blob=""); + subf(@blob=""); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="10000000"); + seti(@mask=0b1, @nargs=1, @blob="0c000000"); + jmp(@nargs=2, @blob="5c030000 00000000"); + playSound(@nargs=1, @blob="18000000"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@nargs=1, @blob="00000040"); + divf(@blob=""); + subf(@blob=""); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00000000 00008040 000080bf 00008042", + ); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000000 00008040"); + {"014567"}: laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 09000000 00000041 33333340 00000000 00003443 00000000 00006041", + ); + {"24567"}: laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 09000000 00000041 00008040 00000000 00000244 00000000 00006041", + ); + {"34567"}: laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 09000000 00000041 0000a040 00000000 00000244 00000000 00006041", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushf(@nargs=1, @blob="db0f4940"); + pushf(@nargs=1, @blob="00000040"); + divf(@blob=""); + addf(@blob=""); + circlePos( + @mask=0b111, + @nargs=4, + @blob="00000000 00008040 000080bf 00008042", + ); + etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000000 00008040"); + {"014567"}: laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 09000000 00000041 33333340 00000000 00003443 00000000 00006041", + ); + {"24567"}: laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 09000000 00000041 00008040 00000000 00000244 00000000 00006041", + ); + {"34567"}: laserOnA( + @mask=0b100, + @nargs=8, + @blob="03000000 09000000 00000041 0000a040 00000000 00000244 00000000 00006041", + ); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00000041"); + {"04567"}: pushf(@nargs=1, @blob="d80fc93e"); + {"04567"}: addf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00000041"); + {"1234567"}: pushf(@mask=0b1, @nargs=1, @blob="00000041"); + {"1234567"}: pushf(@nargs=1, @blob="f90f493e"); + {"1234567"}: addf(@blob=""); + {"1234567"}: setf(@mask=0b1, @nargs=1, @blob="00000041"); + {"04567"}: wait(@nargs=1, @blob="0a000000"); + diffWait(@nargs=4, @blob="0a000000 0a000000 0a000000 05000000"); + validRad(@mask=0b1, @nargs=1, @blob="00000041"); + deci(@mask=0b1, @nargs=1, @blob="0c000000"); + jmpNeq(@nargs=2, @blob="a8fcffff 00000000"); + ret(@blob=""); +} + + +void BossCard2_at() { + stackAlloc(@nargs=1, @blob="00000000"); + ret(@blob=""); +} + + +void BossCard3_01C() { + 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 60090000 b80b0000 10000000 426f7373 43617264 345f3031 43000000", + ); + 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"); + movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043"); + moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008042"); + wait(@nargs=1, @blob="5a000000"); + spell( + @nargs=4, + @blob="6e000000 b80b0000 20a10700 1c000000 e6041ef2 724f1835 fc400ff8 68ce0afd e4e306ce 6060009e 5fe67d24", + ); + playSound(@nargs=1, @blob="29000000"); ++90: // 90 + nop(@blob=""); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + neqi(@blob=""); + jmpEq(@nargs=2, @blob="68010000 5f000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 3245745f 61743200 00002043 00000000 f0000000 e8030000 00000000", + ); ++1: // 91 + enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 3245745f 61743200 0000c042 00000000 f0000000 e8030000 00000000", + ); ++1: // 92 + enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 3245745f 61743200 00000042 00000000 f0000000 e8030000 00000000", + ); ++1: // 93 + enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 3245745f 61743200 000020c3 00000000 f0000000 e8030000 00000000", + ); ++1: // 94 + enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 3245745f 61743200 0000c0c2 00000000 f0000000 e8030000 00000000", + ); ++1: // 95 + enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 3245745f 61743200 000000c2 00000000 f0000000 e8030000 00000000", + ); + jmp(@nargs=2, @blob="b4000000 61000000"); + enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 3245745f 61743200 00000043 00000000 f0000000 e8030000 00000000", + ); ++1: // 96 + enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 3245745f 61743200 00000000 00000000 f0000000 e8030000 00000000", + ); ++1: // 97 + enmCreateA( + @nargs=6, + @blob="0c000000 426f7373 3245745f 61743200 000000c3 00000000 f0000000 e8030000 00000000", + ); + jmp(@nargs=2, @blob="54000000 f7000000"); ++100: // 197 + nop(@blob=""); + moveRand(@nargs=3, @blob="32000000 00000000 00000040"); ++50: // 247 + nop(@blob=""); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="b0ffffff 61000000"); + ret(@blob=""); +} + + +void BossCard4At() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="0f000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + flagSet(@nargs=1, @blob="0c010000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 12000000 00000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00f41bc6 00000000"); + etSpeed(@nargs=3, @blob="00000000 6666a63f 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + jmp(@nargs=2, @blob="3c000000 14000000"); + etOn(@nargs=1, @blob="00000000"); ++20: // 20 + nop(@blob=""); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="c8ffffff 00000000"); + delete(@blob=""); +} + + +void BossCard4AtH() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="0f000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + flagSet(@nargs=1, @blob="0c010000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 12000000 00000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00f41bc6 00000000"); + etSpeed(@nargs=3, @blob="00000000 6666a63f 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="00000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="20010000 00000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00040000 40010000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 5077563c", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 08000000 78000000 c1bdf0ff 00000000 507756bc", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 08000000 78000000 c1bdf0ff 00000000 5077563c", + ); + etEx( + @nargs=8, + @blob="00000000 05000000 00000000 08000000 3c000000 c1bdf0ff 00000000 507756bc", + ); + jmp(@nargs=2, @blob="08010000 00000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00040000 40010000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 507756bc", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 08000000 78000000 c1bdf0ff 00000000 5077563c", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 08000000 78000000 c1bdf0ff 00000000 507756bc", + ); + etEx( + @nargs=8, + @blob="00000000 05000000 00000000 08000000 3c000000 c1bdf0ff 00000000 5077563c", + ); + jmp(@nargs=2, @blob="3c000000 14000000"); + etOn(@nargs=1, @blob="00000000"); ++20: // 20 + nop(@blob=""); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="c8ffffff 00000000"); + delete(@blob=""); +} + + +void BossCard4AtH2() { + stackAlloc(@nargs=1, @blob="08000000"); + pushi(@nargs=1, @blob="08000000"); + seti(@mask=0b1, @nargs=1, @blob="04000000"); + flagSet(@nargs=1, @blob="20000000"); + flagSet(@nargs=1, @blob="0c010000"); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 03000000"); + etSprite(@nargs=3, @blob="00000000 12000000 00000000"); + etCount(@nargs=3, @blob="00000000 01000000 01000000"); + etAngle(@mask=0b10, @nargs=3, @blob="00000000 00f41bc6 00000000"); + etSpeed(@nargs=3, @blob="00000000 6666a63f 0000803f"); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="02000000"); + modi(@blob=""); + pushi(@nargs=1, @blob="01000000"); + eqi(@blob=""); + jmpEq(@nargs=2, @blob="20010000 00000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00040000 40010000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 5077563c", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 08000000 78000000 c1bdf0ff 00000000 507756bc", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 08000000 78000000 c1bdf0ff 00000000 5077563c", + ); + etEx( + @nargs=8, + @blob="00000000 05000000 00000000 08000000 3c000000 c1bdf0ff 00000000 507756bc", + ); + jmp(@nargs=2, @blob="08010000 00000000"); + etEx( + @nargs=8, + @blob="00000000 01000000 00000000 00040000 40010000 c1bdf0ff f02374c9 f02374c9", + ); + etEx( + @nargs=8, + @blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 507756bc", + ); + etEx( + @nargs=8, + @blob="00000000 03000000 00000000 08000000 78000000 c1bdf0ff 00000000 5077563c", + ); + etEx( + @nargs=8, + @blob="00000000 04000000 00000000 08000000 78000000 c1bdf0ff 00000000 507756bc", + ); + etEx( + @nargs=8, + @blob="00000000 05000000 00000000 08000000 3c000000 c1bdf0ff 00000000 5077563c", + ); + jmp(@nargs=2, @blob="3c000000 14000000"); + etOn(@nargs=1, @blob="00000000"); ++20: // 20 + nop(@blob=""); + deci(@mask=0b1, @nargs=1, @blob="04000000"); + jmpNeq(@nargs=2, @blob="c8ffffff 00000000"); + delete(@blob=""); +} + + +void BossCard4_01C() { + stackAlloc(@nargs=1, @blob="18000000"); + pushi(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00000041"); + diffF( + @mask=0b1, + @nargs=5, + @blob="00008040 920a863e 7cd9203d db0f493e db0f493e", + ); + diffI( + @mask=0b1, + @nargs=5, + @blob="0c000000 01000000 03000000 09000000 09000000", + ); + 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"); + wait(@nargs=1, @blob="5a000000"); + spell( + @nargs=4, + @blob="72000000 68100000 20a10700 20000000 e6041ef2 724f1d0d ed1e0664 691f19f5 f5840760 604d0261 dca3fe59 5ad47960", + ); + flagSet(@nargs=1, @blob="0c000000"); + pushi(@nargs=1, @blob="00000000"); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + jmp(@nargs=2, @blob="58080000 a0000000"); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + {"04567"}: pushi(@nargs=1, @blob="30000000"); + {"04567"}: mulf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + {"124567"}: pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + {"124567"}: pushi(@nargs=1, @blob="30000000"); + {"124567"}: mulf(@blob=""); + {"124567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + {"34567"}: pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); + {"34567"}: pushi(@nargs=1, @blob="20000000"); + {"34567"}: mulf(@blob=""); + {"34567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + pushi(@nargs=1, @blob="05000000"); + seti(@mask=0b1, @nargs=1, @blob="14000000"); + {"34567"}: pushi(@nargs=1, @blob="08000000"); + {"34567"}: seti(@mask=0b1, @nargs=1, @blob="14000000"); + jmp(@nargs=2, @blob="90040000 28000000"); + pushf(@nargs=1, @blob="dc0f4940"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushi(@nargs=1, @blob="c0000000"); + pushi(@nargs=1, @blob="10000000"); + addi(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + addf(@blob=""); + enmCreateA( + @mask=0b110, + @nargs=6, + @blob="10000000 426f7373 43617264 34417448 00000000 000080bf 00000000 32000000 e8030000 01000000", + ); + pushi(@nargs=1, @blob="c0000000"); + pushi(@nargs=1, @blob="10000000"); + addi(@blob=""); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + addf(@blob=""); + enmCreateA( + @mask=0b110, + @nargs=6, + @blob="10000000 426f7373 43617264 34417448 32000000 000080bf 00000000 32000000 e8030000 01000000", + ); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"04567"}: pushi(@nargs=1, @blob="30000000"); + {"04567"}: addf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + {"124567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"124567"}: pushi(@nargs=1, @blob="30000000"); + {"124567"}: addf(@blob=""); + {"124567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + {"34567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"34567"}: pushi(@nargs=1, @blob="20000000"); + {"34567"}: addf(@blob=""); + {"34567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); ++20: // 20 + pushf(@nargs=1, @blob="00000000"); + setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="c0000000"); + subf(@blob=""); + pushi(@nargs=1, @blob="10000000"); + subi(@blob=""); + enmCreateA( + @mask=0b110, + @nargs=6, + @blob="10000000 426f7373 43617264 34417448 00000000 000080bf 00000000 32000000 e8030000 01000000", + ); + pushf(@mask=0b1, @nargs=1, @blob="00000041"); + pushi(@nargs=1, @blob="c0000000"); + subf(@blob=""); + pushi(@nargs=1, @blob="10000000"); + subi(@blob=""); + enmCreateA( + @mask=0b110, + @nargs=6, + @blob="10000000 426f7373 43617264 34417448 32000000 000080bf 00000000 32000000 e8030000 01000000", + ); ++20: // 40 + nop(@blob=""); + {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"04567"}: pushi(@nargs=1, @blob="30000000"); + {"04567"}: addf(@blob=""); + {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + {"124567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"124567"}: pushi(@nargs=1, @blob="30000000"); + {"124567"}: addf(@blob=""); + {"124567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + {"34567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000"); + {"34567"}: pushi(@nargs=1, @blob="20000000"); + {"34567"}: addf(@blob=""); + {"34567"}: setf(@mask=0b1, @nargs=1, @blob="00000000"); + deci(@mask=0b1, @nargs=1, @blob="14000000"); + jmpNeq(@nargs=2, @blob="74fbffff 00000000"); + moveRand(@nargs=3, @blob="3c000000 04000000 00000040"); ++20: // 60 + nop(@blob=""); + etNew(@nargs=1, @blob="00000000"); + etAim(@nargs=2, @blob="00000000 00000000"); + etSprite(@nargs=3, @blob="00000000 0c000000 03000000"); + etCount(@mask=0b10, @nargs=3, @blob="00000000 0c000000 01000000"); + etAngle(@mask=0b100, @nargs=3, @blob="00000000 00000000 00008040"); + etSpeedD( + @nargs=9, + @blob="00000000 00000040 00004040 00004040 00004040 0000803f 0000803f 0000803f 0000803f", + ); + etEx( + @nargs=8, + @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", + ); + pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); + pushi(@nargs=1, @blob="00000000"); + greateri(@blob=""); + jmpEq(@nargs=2, @blob="a8000000 a0000000"); + etOn(@nargs=1, @blob="00000000"); ++20: // 80 + etOn(@nargs=1, @blob="00000000"); ++20: // 100 + etOn(@nargs=1, @blob="00000000"); ++20: // 120 + etOn(@nargs=1, @blob="00000000"); ++20: // 140 + etOn(@nargs=1, @blob="00000000"); ++20: // 160 + etOn(@nargs=1, @blob="00000000"); + jmp(@nargs=2, @blob="2c000000 a0000000"); + wait(@nargs=1, @blob="64000000"); + pushi(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="01000000"); + addi(@blob=""); + seti(@mask=0b1, @nargs=1, @blob="ffd8ffff"); + pushi(@nargs=1, @blob="01000000"); + jmpNeq(@nargs=2, @blob="acf7ffff 00000000"); + ret(@blob=""); +} diff --git a/research/stgenm01.tanm b/research/stgenm01.tanm new file mode 100644 index 0000000..0bb5c90 --- /dev/null +++ b/research/stgenm01.tanm @@ -0,0 +1,378 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "stgenm/stg1enm.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 64.0, h: 64.0}, + sprite1: {x: 64.0, y: 0.0, w: 64.0, h: 64.0}, + sprite2: {x: 128.0, y: 0.0, w: 64.0, h: 64.0}, + sprite3: {x: 192.0, y: 0.0, w: 64.0, h: 64.0}, + sprite4: {x: 0.0, y: 64.0, w: 64.0, h: 64.0}, + sprite5: {x: 64.0, y: 64.0, w: 64.0, h: 64.0}, + sprite6: {x: 128.0, y: 64.0, w: 64.0, h: 64.0}, + sprite7: {x: 192.0, y: 64.0, w: 64.0, h: 64.0}, + sprite8: {x: 0.0, y: 128.0, w: 64.0, h: 64.0}, + sprite9: {x: 64.0, y: 128.0, w: 64.0, h: 64.0}, + sprite10: {x: 128.0, y: 128.0, w: 64.0, h: 64.0}, + sprite11: {x: 192.0, y: 128.0, w: 64.0, h: 64.0}, + sprite12: {x: 0.0, y: 192.0, w: 64.0, h: 64.0}, + sprite13: {x: 64.0, y: 192.0, w: 64.0, h: 64.0}, + sprite14: {x: 128.0, y: 192.0, w: 64.0, h: 64.0}, + sprite15: {x: 192.0, y: 192.0, w: 64.0, h: 64.0}, + }, +} + + +script 0 script0 { + loop { + sprite(sprite0); ++8: // 8 + sprite(sprite1); ++8: // 16 + sprite(sprite2); ++8: // 24 + sprite(sprite3); ++8: // 32 + sprite(sprite4); ++8: // 40 + sprite(sprite5); ++8: // 48 + sprite(sprite7); ++8: // 56 + } +} + + +script 1 script1 { + loop { + sprite(sprite8); + posTime(60, 9, 0.0, -4.0, 0.0); ++60: // 60 + posTime(60, 9, 0.0, 4.0, 0.0); ++60: // 120 + } +} + + +script 2 script2 { + flipX(); + sprite(sprite8); ++4: // 4 + sprite(sprite9); ++4: // 8 + sprite(sprite10); + loop { ++400: // 408 + } +} + + +script 3 script3 { + sprite(sprite8); ++4: // 4 + sprite(sprite9); ++4: // 8 + sprite(sprite10); + loop { ++400: // 408 + } +} + + +script 4 script4 { + flipX(); + sprite(sprite10); ++4: // 4 + sprite(sprite9); ++4: // 8 + sprite(sprite8); + loop { + sprite(sprite8); + posTime(60, 9, 0.0, -4.0, 0.0); ++60: // 68 + posTime(60, 9, 0.0, 4.0, 0.0); ++60: // 128 + } +} + + +script 5 script5 { + sprite(sprite10); ++4: // 4 + sprite(sprite9); ++4: // 8 + sprite(sprite8); + loop { + sprite(sprite8); + posTime(60, 9, 0.0, -4.0, 0.0); ++60: // 68 + posTime(60, 9, 0.0, 4.0, 0.0); ++60: // 128 + } +} + + +script 6 script6 { + sprite(sprite12); ++4: // 4 + sprite(sprite13); ++4: // 8 + sprite(sprite14); ++4: // 12 + sprite(sprite15); + loop { + posTime(60, 9, 0.0, -4.0, 0.0); ++60: // 72 + posTime(60, 9, 0.0, 4.0, 0.0); ++60: // 132 + } +} + + +entry { + path: "face/enemy1/face01no.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite16: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite17: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite18: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite19: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite20: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy1/face01dp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite21: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite22: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy1/face01sp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite23: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy1/face01no.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite24: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite25: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite26: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite27: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite28: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite29: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite30: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite31: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite32: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + }, +} + + +entry { + path: "face/enemy1/face01no.png", + img_width: 256, + img_height: 64, + offset_y: 256, + memory_priority: 0, + sprites: { + sprite33: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite34: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite35: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite36: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite37: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite38: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite39: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite40: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite41: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + }, +} + + +entry { + path: "card/cdbg01b.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite42: {x: 0.0, y: 0.0, w: 384.0, h: 448.0}}, +} + + +script 7 script7 { + sprite(sprite42); + pos(224.0, 240.0, 0.0); + alpha(0); + alphaTime(60, 0, 255); + scrollX(-0.0033333334); + scrollY(-0.0033333334); + stop(); +} + + +entry { + path: "card/cdbg01a.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite43: {x: 0.0, y: 0.0, w: 384.0, h: 448.0}}, +} + + +script 8 script8 { + sprite(sprite43); + blendMode(1); + pos(224.0, 240.0, 0.0); + alpha(0); + alphaTime(60, 0, 255); + scrollY(0.0033333334); + stop(); +} + + +entry { + path: "face/enemy1/ename01.png", + img_width: 128, + img_height: 64, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite44: {x: 0.0, y: 0.0, w: 128.0, h: 64.0}}, +} + + +script 9 script9 { + ins_85(1); + randMode(1); + anchor(0, 2); + pos(288.0, 374.0, 0.0); + layer(16); + sprite(sprite44); + alpha(0); + alphaTime(30, 0, 255); ++300: // 300 + nop(); + +interrupt[1]: + alphaTime(20, 0, 0); ++20: // 320 + delete(); +} + + +entry { + path: "face/enemy1/face01ct.png", + img_width: 256, + img_height: 512, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite45: {x: 0.0, y: 0.0, w: 256.0, h: 512.0}}, +} + + +script 10 script10 { + sprite(sprite45); + layer(5); + anchor(0, 1); + type(2); + pos(608.0, -80.0, 0.0); + color(0, 0, 0); + colorTime(30, 0, 255, 255, 255); + posTime(30, 0, 224.0, 16.0, 0.0); ++30: // 30 + posTime(90, 0, 192.0, 32.0, 0.0); ++90: // 120 + posTime(30, 0, -192.0, 128.0, 0.0); + colorTime(30, 0, 0, 0, 0); ++30: // 150 + delete(); +} + + +entry { + path: "face/enemy1m/face01mct.png", + img_width: 256, + img_height: 512, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite46: {x: 0.0, y: 0.0, w: 256.0, h: 512.0}}, +} + + +script 11 script11 { + sprite(sprite46); + layer(5); + anchor(0, 1); + type(2); + pos(608.0, -80.0, 0.0); + color(0, 0, 0); + colorTime(30, 0, 255, 255, 255); + posTime(30, 0, 224.0, 16.0, 0.0); ++30: // 30 + posTime(90, 0, 192.0, 32.0, 0.0); ++90: // 120 + posTime(30, 0, -192.0, 128.0, 0.0); + colorTime(30, 0, 0, 0, 0); ++30: // 150 + delete(); +} diff --git a/research/stgenm02.tanm b/research/stgenm02.tanm new file mode 100644 index 0000000..795f26d --- /dev/null +++ b/research/stgenm02.tanm @@ -0,0 +1,343 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "stgenm/stg2enm.png", + img_width: 256, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 64.0, h: 64.0}, + sprite1: {x: 64.0, y: 0.0, w: 64.0, h: 64.0}, + sprite2: {x: 128.0, y: 0.0, w: 64.0, h: 64.0}, + sprite3: {x: 192.0, y: 0.0, w: 64.0, h: 64.0}, + sprite4: {x: 0.0, y: 64.0, w: 64.0, h: 64.0}, + sprite5: {x: 64.0, y: 64.0, w: 64.0, h: 64.0}, + sprite6: {x: 128.0, y: 64.0, w: 64.0, h: 64.0}, + sprite7: {x: 192.0, y: 64.0, w: 64.0, h: 64.0}, + }, +} + + +script 0 script0 { + sprite(sprite0); + loop { + posTime(60, 9, 0.0, -4.0, 0.0); ++60: // 60 + posTime(60, 9, 0.0, 4.0, 0.0); ++60: // 120 + } +} + + +script 1 script1 { + flipX(); + sprite(sprite4); ++4: // 4 + sprite(sprite5); ++4: // 8 + sprite(sprite6); ++4: // 12 + sprite(sprite7); + loop { ++400: // 412 + } + stop(); +} + + +script 2 script2 { + sprite(sprite4); ++4: // 4 + sprite(sprite5); ++4: // 8 + sprite(sprite6); ++4: // 12 + sprite(sprite7); + loop { ++400: // 412 + } + stop(); +} + + +script 3 script3 { + flipX(); + sprite(sprite7); ++4: // 4 + sprite(sprite6); ++4: // 8 + sprite(sprite5); ++4: // 12 + sprite(sprite4); + sprite(sprite0); + loop { + posTime(60, 9, 0.0, -4.0, 0.0); ++60: // 72 + posTime(60, 9, 0.0, 4.0, 0.0); ++60: // 132 + } +} + + +script 4 script4 { + sprite(sprite7); ++4: // 4 + sprite(sprite6); ++4: // 8 + sprite(sprite5); ++4: // 12 + sprite(sprite4); + sprite(sprite0); + loop { + posTime(60, 9, 0.0, -4.0, 0.0); ++60: // 72 + posTime(60, 9, 0.0, 4.0, 0.0); ++60: // 132 + } +} + + +script 5 script5 { + sprite(sprite0); ++6: // 6 + sprite(sprite1); ++6: // 12 + sprite(sprite2); ++6: // 18 + sprite(sprite3); + loop { ++40: // 58 + } +} + + +script 6 script6 { + sprite(sprite3); + blendMode(1); + scaleTime(20, 1, 0.0, 6.0); ++30: // 30 + scale(6.0, 0.0); + scaleTime(20, 1, 1.0, 1.0); ++20: // 50 + blendMode(0); + stop(); +} + + +entry { + path: "face/enemy2/face02no.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite8: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy2/face02n2.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite9: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite10: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite11: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite12: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy2/face02dp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite13: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy2/face02pr.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite14: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite15: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy2/face02no.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite16: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite17: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite18: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite19: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite20: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite21: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite22: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite23: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite24: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + }, +} + + +entry { + path: "face/enemy2/face02no.png", + img_width: 256, + img_height: 64, + offset_y: 256, + memory_priority: 0, + sprites: { + sprite25: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite26: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite27: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite28: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite29: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite30: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite31: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite32: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite33: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + }, +} + + +entry { + path: "card/cdbg02b.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite34: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 7 script7 { + sprite(sprite34); + pos(224.0, 240.0, 0.0); + type(1); + alpha(0); + alphaTime(60, 0, 255); + scale(2.3125, 2.3125); + angleVel(0.0, 0.0, -0.006544985); + stop(); +} + + +entry { + path: "card/cdbg02a.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite35: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 8 script8 { + sprite(sprite35); + type(1); + blendMode(1); + pos(224.0, 240.0, 0.0); + alpha(0); + alphaTime(60, 0, 255); + scale(2.3125, 2.3125); + angleVel(0.0, 0.0, 0.012271847); + stop(); +} + + +entry { + path: "face/enemy2/ename02.png", + img_width: 128, + img_height: 64, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite36: {x: 0.0, y: 0.0, w: 128.0, h: 64.0}}, +} + + +script 9 script9 { + ins_85(1); + randMode(1); + anchor(0, 2); + pos(288.0, 374.0, 0.0); + layer(16); + sprite(sprite36); + alpha(0); + alphaTime(30, 0, 255); ++300: // 300 + nop(); + +interrupt[1]: + alphaTime(20, 0, 0); ++20: // 320 + delete(); +} + + +entry { + path: "face/enemy2/face02ct.png", + img_width: 256, + img_height: 512, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite37: {x: 0.0, y: 0.0, w: 256.0, h: 512.0}}, +} + + +script 10 script10 { + sprite(sprite37); + layer(5); + anchor(0, 1); + type(2); + pos(608.0, -80.0, 0.0); + color(0, 0, 0); + colorTime(30, 0, 255, 255, 255); + posTime(30, 0, 224.0, 16.0, 0.0); ++30: // 30 + posTime(90, 0, 192.0, 32.0, 0.0); ++90: // 120 + posTime(30, 0, -192.0, 128.0, 0.0); + colorTime(30, 0, 0, 0, 0); ++30: // 150 + delete(); +} diff --git a/research/stgenm03.tanm b/research/stgenm03.tanm new file mode 100644 index 0000000..3d29ad8 --- /dev/null +++ b/research/stgenm03.tanm @@ -0,0 +1,442 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "stgenm/stg3enm.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 64.0, h: 80.0}, + sprite1: {x: 64.0, y: 0.0, w: 64.0, h: 80.0}, + sprite2: {x: 128.0, y: 0.0, w: 64.0, h: 80.0}, + sprite3: {x: 192.0, y: 0.0, w: 64.0, h: 80.0}, + sprite4: {x: 0.0, y: 80.0, w: 64.0, h: 80.0}, + sprite5: {x: 64.0, y: 80.0, w: 64.0, h: 80.0}, + sprite6: {x: 128.0, y: 80.0, w: 64.0, h: 80.0}, + sprite7: {x: 192.0, y: 80.0, w: 64.0, h: 80.0}, + }, +} + + +script 0 script0 { + loop { + loop { + posTime(106, 9, 0.0, 6.0, 0.0); + sprite(sprite0); ++90: // 90 + sprite(sprite1); ++8: // 98 + sprite(sprite2); ++8: // 106 + sprite(sprite3); + posTime(106, 9, 0.0, 0.0, 0.0); ++90: // 196 + sprite(sprite2); ++8: // 204 + sprite(sprite1); ++8: // 212 + } ++60: // 272 + } +} + + +script 1 script1 { + sprite(sprite4); ++8: // 8 + sprite(sprite5); ++8: // 16 + sprite(sprite6); + loop { ++400: // 416 + } + stop(); +} + + +script 2 script2 { + flipX(); + sprite(sprite4); ++8: // 8 + sprite(sprite5); ++8: // 16 + sprite(sprite6); + loop { ++400: // 416 + } + stop(); +} + + +script 3 script3 { + sprite(sprite6); ++8: // 8 + sprite(sprite5); ++8: // 16 + sprite(sprite4); + loop { + loop { + posTime(106, 9, 0.0, 6.0, 0.0); + sprite(sprite0); ++90: // 106 + sprite(sprite1); ++8: // 114 + sprite(sprite2); ++8: // 122 + sprite(sprite3); + posTime(106, 9, 0.0, 0.0, 0.0); ++90: // 212 + sprite(sprite2); ++8: // 220 + sprite(sprite1); ++8: // 228 + } ++60: // 288 + } +} + + +script 4 script4 { + flipX(); + sprite(sprite6); ++8: // 8 + sprite(sprite5); ++8: // 16 + sprite(sprite4); + loop { + loop { + posTime(106, 9, 0.0, 6.0, 0.0); + sprite(sprite0); ++90: // 106 + sprite(sprite1); ++8: // 114 + sprite(sprite2); ++8: // 122 + sprite(sprite3); + posTime(106, 9, 0.0, 0.0, 0.0); ++90: // 212 + sprite(sprite2); ++8: // 220 + sprite(sprite1); ++8: // 228 + } ++60: // 288 + } +} + + +script 5 script5 { + sprite(sprite0); ++6: // 6 + sprite(sprite1); ++6: // 12 + sprite(sprite2); ++6: // 18 + sprite(sprite3); + loop { ++40: // 58 + } +} + + +script 6 script6 { + flipX(); + sprite(sprite0); ++6: // 6 + sprite(sprite1); ++6: // 12 + sprite(sprite2); ++6: // 18 + sprite(sprite3); + loop { ++40: // 58 + } +} + + +script 7 script7 { + sprite(sprite3); + blendMode(1); + scaleTime(20, 1, 0.0, 6.0); ++30: // 30 + scale(6.0, 0.0); + scaleTime(20, 1, 1.0, 1.0); ++20: // 50 + blendMode(0); + stop(); +} + + +entry { + path: "face/enemy3/face03no.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite8: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy3/face03n2.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite9: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite10: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite11: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite12: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite13: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy3/face03pr.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite14: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy3/face03sp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite15: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy3/face03lo.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite16: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy3/face03no.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite17: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite18: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite19: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite20: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite21: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite22: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite23: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite24: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + }, +} + + +entry { + path: "face/enemy3/face03lo.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: {sprite25: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy3/face03no.png", + img_width: 256, + img_height: 64, + offset_y: 256, + memory_priority: 0, + sprites: { + sprite26: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite27: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite28: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite29: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite30: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite31: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite32: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite33: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite34: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + }, +} + + +entry { + path: "card/cdbg03a.png", + img_width: 512, + img_height: 512, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite35: {x: 0.0, y: 0.0, w: 512.0, h: 512.0}}, +} + + +script 8 script8 { + sprite(sprite35); + pos(224.0, 240.0, 0.0); + type(1); + alpha(0); + alphaTime(60, 0, 255); + scale(1.15625, 1.15625); + angleVel(0.0, 0.0, -0.006544985); + stop(); +} + + +entry { + path: "card/cdbg03b.png", + img_width: 512, + img_height: 512, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite36: {x: 0.0, y: 0.0, w: 384.0, h: 448.0}}, +} + + +script 9 script9 { + sprite(sprite36); + type(1); + pos(224.0, 240.0, 0.0); + alpha(0); + alphaTime(60, 0, 255); + scrollX(0.0033333334); + scrollY(0.0033333334); + stop(); +} + + +entry { + path: "face/enemy3/ename03.png", + img_width: 128, + img_height: 64, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite37: {x: 0.0, y: 0.0, w: 128.0, h: 64.0}}, +} + + +script 10 script10 { + ins_85(1); + randMode(1); + anchor(0, 2); + pos(288.0, 374.0, 0.0); + layer(16); + sprite(sprite37); + alpha(0); + alphaTime(30, 0, 255); ++300: // 300 + nop(); + +interrupt[1]: + alphaTime(20, 0, 0); ++20: // 320 + delete(); +} + + +entry { + path: "face/enemy3/face03ct.png", + img_width: 256, + img_height: 512, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite38: {x: 0.0, y: 0.0, w: 256.0, h: 512.0}}, +} + + +script 11 script11 { + sprite(sprite38); + layer(5); + anchor(0, 1); + type(2); + pos(608.0, -160.0, 0.0); + color(0, 0, 0); + colorTime(30, 0, 255, 255, 255); + posTime(30, 0, 224.0, -16.0, 0.0); ++30: // 30 + posTime(90, 0, 192.0, 0.0, 0.0); ++90: // 120 + posTime(30, 0, -192.0, 160.0, 0.0); + colorTime(30, 0, 0, 0, 0); ++30: // 150 + delete(); +} + + +entry { + path: "stgenm/stg3enm2.png", + img_width: 64, + img_height: 64, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite39: {x: 0.0, y: 0.0, w: 384.0, h: 448.0}}, +} + + +entry { + path: "stgenm/stg3enm3.png", + img_width: 32, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite40: {x: 0.0, y: 0.0, w: 32.0, h: 256.0}}, +} + + +script 12 script12 { + I0 = 32; + I1 = 2; + ins_101(I0); + layer(14); + sprite(sprite40); + scale(16.0, 16.0); + scaleTime(30, 4, 32.0, 76.0); + scrollY(-0.025); + rotate(6.2831855, 0.0, 0.0); + stop(); + +interrupt[1]: + alphaTime(20, 0, 0); ++20: // 20 + delete(); +} diff --git a/research/stgenm04.tanm b/research/stgenm04.tanm new file mode 100644 index 0000000..22c68a6 --- /dev/null +++ b/research/stgenm04.tanm @@ -0,0 +1,548 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "stgenm/stg4enm.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 48.0, h: 64.0}, + sprite1: {x: 48.0, y: 0.0, w: 48.0, h: 64.0}, + sprite2: {x: 96.0, y: 0.0, w: 48.0, h: 64.0}, + sprite3: {x: 144.0, y: 0.0, w: 48.0, h: 64.0}, + sprite4: {x: 0.0, y: 64.0, w: 48.0, h: 64.0}, + sprite5: {x: 48.0, y: 64.0, w: 48.0, h: 64.0}, + sprite6: {x: 96.0, y: 64.0, w: 48.0, h: 64.0}, + sprite7: {x: 144.0, y: 64.0, w: 48.0, h: 64.0}, + sprite8: {x: 0.0, y: 128.0, w: 48.0, h: 64.0}, + sprite9: {x: 48.0, y: 128.0, w: 48.0, h: 64.0}, + sprite10: {x: 96.0, y: 128.0, w: 48.0, h: 64.0}, + sprite11: {x: 144.0, y: 128.0, w: 48.0, h: 64.0}, + }, +} + + +script 0 script0 { + loop { + sprite(sprite0); ++8: // 8 + sprite(sprite1); ++8: // 16 + sprite(sprite2); ++8: // 24 + sprite(sprite3); ++8: // 32 + sprite(sprite4); ++8: // 40 + sprite(sprite5); ++8: // 48 + sprite(sprite6); ++8: // 56 + sprite(sprite7); ++8: // 64 + } +} + + +script 1 script1 { + flipX(); + sprite(sprite8); ++8: // 8 + sprite(sprite9); + loop { ++8: // 16 + sprite(sprite10); ++8: // 24 + sprite(sprite11); + } + stop(); +} + + +script 2 script2 { + sprite(sprite8); ++8: // 8 + sprite(sprite9); + loop { ++8: // 16 + sprite(sprite10); ++8: // 24 + sprite(sprite11); + } + stop(); +} + + +script 3 script3 { + flipX(); + sprite(sprite10); ++8: // 8 + sprite(sprite9); ++8: // 16 + sprite(sprite8); + loop { + sprite(sprite0); ++8: // 24 + sprite(sprite1); ++8: // 32 + sprite(sprite2); ++8: // 40 + sprite(sprite3); ++8: // 48 + sprite(sprite4); ++8: // 56 + sprite(sprite5); ++8: // 64 + sprite(sprite6); ++8: // 72 + sprite(sprite7); ++8: // 80 + } +} + + +script 4 script4 { + sprite(sprite10); ++8: // 8 + sprite(sprite9); ++8: // 16 + sprite(sprite8); + loop { + sprite(sprite0); ++8: // 24 + sprite(sprite1); ++8: // 32 + sprite(sprite2); ++8: // 40 + sprite(sprite3); ++8: // 48 + sprite(sprite4); ++8: // 56 + sprite(sprite5); ++8: // 64 + sprite(sprite6); ++8: // 72 + sprite(sprite7); ++8: // 80 + } +} + + +script 5 script5 { + flipX(); + sprite(sprite0); ++6: // 6 + sprite(sprite1); ++6: // 12 + sprite(sprite0); ++6: // 18 + sprite(sprite1); + loop { ++40: // 58 + } +} + + +script 6 script6 { + sprite(sprite1); + blendMode(1); + scaleTime(20, 1, 0.0, 6.0); ++30: // 30 + scale(6.0, 0.0); + scaleTime(20, 1, 1.0, 1.0); ++20: // 50 + blendMode(0); + stop(); +} + + +entry { + path: "stgenm/stg4enm2.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: { + sprite12: {x: 0.0, y: 0.0, w: 48.0, h: 48.0}, + sprite13: {x: 48.0, y: 0.0, w: 48.0, h: 48.0}, + sprite14: {x: 0.0, y: 48.0, w: 48.0, h: 48.0}, + sprite15: {x: 48.0, y: 48.0, w: 48.0, h: 48.0}, + sprite16: {x: 96.0, y: 48.0, w: 48.0, h: 48.0}, + sprite17: {x: 144.0, y: 48.0, w: 48.0, h: 48.0}, + }, +} + + +script 7 script7 { + loop { + sprite(sprite12); ++3: // 3 + sprite(sprite13); ++3: // 6 + } +} + + +script 8 script8 { + flipX(); + sprite(sprite14); ++6: // 6 + sprite(sprite15); ++6: // 12 + sprite(sprite16); + stop(); +} + + +script 9 script9 { + sprite(sprite14); ++6: // 6 + sprite(sprite15); ++6: // 12 + sprite(sprite16); + stop(); +} + + +script 10 script10 { + flipX(); + sprite(sprite17); ++6: // 6 + sprite(sprite14); ++16: // 22 + nop(); + loop { + sprite(sprite12); ++3: // 25 + sprite(sprite13); ++3: // 28 + } +} + + +script 11 script11 { + sprite(sprite17); ++6: // 6 + sprite(sprite14); ++16: // 22 + nop(); + loop { + sprite(sprite12); ++3: // 25 + sprite(sprite13); ++3: // 28 + } +} + + +entry { + path: "face/enemy4/face04no.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite18: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite19: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite20: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite21: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite22: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy4/face04dp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite23: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy4/face04pr.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite24: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite25: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy4/face04lo.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite26: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy4/face04no.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite27: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite28: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite29: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite30: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite31: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite32: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite33: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite34: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + }, +} + + +entry { + path: "face/enemy4/face04lo.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: {sprite35: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy4/face04no.png", + img_width: 256, + img_height: 64, + offset_y: 256, + memory_priority: 0, + sprites: { + sprite36: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite37: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite38: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite39: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite40: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite41: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite42: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite43: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite44: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + }, +} + + +entry { + path: "card/cdbg04a.png", + img_width: 512, + img_height: 512, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite45: {x: 0.0, y: 0.0, w: 384.0, h: 448.0}}, +} + + +script 12 script12 { + sprite(sprite45); + pos(224.0, 240.0, 0.0); + type(1); + alpha(0); + alphaTime(60, 0, 255); + scrollX(0.0016666667); + loop { + colorTime(60, 9, 255, 128, 128); ++60: // 60 + colorTime(60, 9, 128, 128, 255); ++60: // 120 + } + stop(); +} + + +entry { + path: "card/cdbg04b.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite46: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 13 script13 { + sprite(sprite46); + type(1); + pos(224.0, 240.0, 0.0); + alpha(0); + alphaTime(60, 0, 192); + angleVel(0.0, 0.0, 0.006544985); + stop(); +} + + +entry { + path: "face/enemy4/ename04.png", + img_width: 128, + img_height: 64, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite47: {x: 0.0, y: 0.0, w: 128.0, h: 64.0}}, +} + + +script 14 script14 { + ins_85(1); + randMode(1); + anchor(0, 2); + pos(288.0, 374.0, 0.0); + layer(16); + sprite(sprite47); + alpha(0); + alphaTime(30, 0, 255); ++300: // 300 + nop(); + +interrupt[1]: + alphaTime(20, 0, 0); ++20: // 320 + delete(); +} + + +entry { + path: "face/enemy4/face04ct.png", + img_width: 256, + img_height: 512, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite48: {x: 0.0, y: 0.0, w: 256.0, h: 512.0}}, +} + + +script 15 script15 { + sprite(sprite48); + layer(5); + anchor(0, 1); + type(2); + pos(608.0, -160.0, 0.0); + color(0, 0, 0); + colorTime(30, 0, 255, 255, 255); + posTime(30, 0, 224.0, -16.0, 0.0); ++30: // 30 + posTime(90, 0, 192.0, 0.0, 0.0); ++90: // 120 + posTime(30, 0, -192.0, 160.0, 0.0); + colorTime(30, 0, 0, 0, 0); ++30: // 150 + delete(); +} + + +entry { + path: "stgenm/stg4enm3.png", + img_width: 128, + img_height: 128, + memory_priority: 0, + sprites: {sprite49: {x: 0.0, y: 0.0, w: 128.0, h: 128.0}}, +} + + +script 16 script16 { + sprite(sprite49); + type(1); + blendMode(1); + alpha(0); + alphaTime(20, 0, 192); + rotate(0.0, 0.0, RANDRAD); + scale(1.0, 1.0); + scaleTime(60, 0, 0.0, 0.0); + F1 = RANDF2 * 8.0; + F2 = RANDF2 * 8.0; + pos(F1, F2, 0.0); + posTime(60, 0, 0.0, 0.0, 0.0); ++40: // 40 + alphaTime(20, 0, 0); ++60: // 100 + delete(); +} + + +script 17 script17 { + alpha(0); ++1: // 1 + alpha(0); + loop { + scriptNewRoot(script16); ++4: // 5 + } +} + + +script 18 script18 { + isetRand(I0, 4); + sprite(sprite49); + type(1); + rotate(0.0, 0.0, RANDRAD); + alpha(0); + alphaTime(10, 0, 128); + F0 = RANDF * 1.0; + F0 += 1.0; + scale(F0, F0); + scaleTime(20, 4, 0.3, 0.3); + F1 = RANDF2 * 128.0; + F2 = RANDF2 * 128.0; + pos(F1, F2, 0.0); + posTime(60, 0, 0.0, 0.0, 0.0); + blendMode(1); ++60: // 60 + delete(); +} + + +script 19 script19 { + alpha(0); ++1: // 1 + I4 = 60; + do { + scriptNewRoot(script18); ++1: // 2 + } while (--I4); +} diff --git a/research/stgenm05.tanm b/research/stgenm05.tanm new file mode 100644 index 0000000..e76f1d5 --- /dev/null +++ b/research/stgenm05.tanm @@ -0,0 +1,642 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "stgenm/stg5enm.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 64.0, h: 64.0}, + sprite1: {x: 64.0, y: 0.0, w: 64.0, h: 64.0}, + sprite2: {x: 128.0, y: 0.0, w: 64.0, h: 64.0}, + sprite3: {x: 192.0, y: 0.0, w: 64.0, h: 64.0}, + sprite4: {x: 0.0, y: 64.0, w: 64.0, h: 64.0}, + sprite5: {x: 64.0, y: 64.0, w: 64.0, h: 64.0}, + sprite6: {x: 0.0, y: 128.0, w: 64.0, h: 64.0}, + sprite7: {x: 64.0, y: 128.0, w: 64.0, h: 64.0}, + sprite8: {x: 128.0, y: 128.0, w: 64.0, h: 64.0}, + sprite9: {x: 192.0, y: 128.0, w: 64.0, h: 64.0}, + }, +} + + +script 0 script0 { + loop { + posTime(64, 9, 0.0, 6.0, 0.0); + sprite(sprite0); ++8: // 8 + sprite(sprite1); ++8: // 16 + sprite(sprite2); ++8: // 24 + sprite(sprite1); ++8: // 32 + sprite(sprite0); ++8: // 40 + sprite(sprite1); ++8: // 48 + sprite(sprite2); ++8: // 56 + sprite(sprite1); ++8: // 64 + posTime(64, 9, 0.0, 0.0, 0.0); + sprite(sprite0); ++8: // 72 + sprite(sprite1); ++8: // 80 + sprite(sprite2); ++8: // 88 + sprite(sprite3); ++8: // 96 + sprite(sprite0); ++8: // 104 + sprite(sprite1); ++8: // 112 + sprite(sprite2); ++8: // 120 + sprite(sprite1); ++8: // 128 + } +} + + +script 1 script1 { + pos(4.0, 0.0, 0.0); + sprite(sprite4); ++8: // 8 + sprite(sprite5); + stop(); +} + + +script 2 script2 { + flipX(); + pos(-4.0, 0.0, 0.0); + sprite(sprite4); ++8: // 8 + sprite(sprite5); + stop(); +} + + +script 3 script3 { + pos(4.0, 0.0, 0.0); + sprite(sprite5); ++8: // 8 + sprite(sprite4); + pos(0.0, 0.0, 0.0); + loop { + posTime(64, 9, 0.0, 6.0, 0.0); + sprite(sprite0); ++8: // 16 + sprite(sprite1); ++8: // 24 + sprite(sprite2); ++8: // 32 + sprite(sprite1); ++8: // 40 + sprite(sprite0); ++8: // 48 + sprite(sprite1); ++8: // 56 + sprite(sprite2); ++8: // 64 + sprite(sprite1); ++8: // 72 + posTime(64, 9, 0.0, 0.0, 0.0); + sprite(sprite0); ++8: // 80 + sprite(sprite1); ++8: // 88 + sprite(sprite2); ++8: // 96 + sprite(sprite3); ++8: // 104 + sprite(sprite0); ++8: // 112 + sprite(sprite1); ++8: // 120 + sprite(sprite2); ++8: // 128 + sprite(sprite1); ++8: // 136 + } +} + + +script 4 script4 { + flipX(); + pos(-4.0, 0.0, 0.0); + sprite(sprite5); ++8: // 8 + sprite(sprite4); + pos(0.0, 0.0, 0.0); + loop { + posTime(64, 9, 0.0, 6.0, 0.0); + sprite(sprite0); ++8: // 16 + sprite(sprite1); ++8: // 24 + sprite(sprite2); ++8: // 32 + sprite(sprite1); ++8: // 40 + sprite(sprite0); ++8: // 48 + sprite(sprite1); ++8: // 56 + sprite(sprite2); ++8: // 64 + sprite(sprite1); ++8: // 72 + posTime(64, 9, 0.0, 0.0, 0.0); + sprite(sprite0); ++8: // 80 + sprite(sprite1); ++8: // 88 + sprite(sprite2); ++8: // 96 + sprite(sprite3); ++8: // 104 + sprite(sprite0); ++8: // 112 + sprite(sprite1); ++8: // 120 + sprite(sprite2); ++8: // 128 + sprite(sprite1); ++8: // 136 + } +} + + +script 5 script5 { + scriptNew(script6); + scriptNew(script7); + sprite(sprite6); ++4: // 4 + sprite(sprite7); + stop(); +} + + +script 6 script6 { + sprite(sprite8); + alpha(0); + blendMode(1); + alphaTime(30, 0, 128); + pos(20.0, -24.0, 0.0); + scale(0.0, 0.0); + scaleTime(60, 0, 1.0, 1.0); + loop { + color(128, 128, 128); ++2: // 2 + color(255, 255, 255); ++2: // 4 + } +} + + +script 7 script7 { + sprite(sprite9); + alpha(0); + type(1); + blendMode(1); + alphaTime(30, 0, 128); + pos(20.0, -24.0, 0.0); + scale(0.0, 0.0); + scaleTime(60, 0, 1.0, 1.0); + angleVel(0.0, 0.0, -1.8318324); + color(255, 0, 0); + loop { ++2: // 2 + } +} + + +script 8 script8 { + flipX(); + scriptNew(script9); + scriptNew(script10); + I4 = 60 / 4; + do { + sprite(sprite10); ++2: // 2 + sprite(sprite11); ++2: // 4 + } while (--I4); + alphaTime(60, 0, 0); + I4 = 60 / 4; + do { + sprite(sprite10); ++2: // 6 + sprite(sprite11); ++2: // 8 + } while (--I4); + flipX(); + alphaTime(20, 0, 255); + sprite(sprite7); ++120: // 128 + sprite(sprite6); ++4: // 132 + nop(); + loop { + posTime(64, 9, 0.0, 6.0, 0.0); + sprite(sprite0); ++8: // 140 + sprite(sprite1); ++8: // 148 + sprite(sprite2); ++8: // 156 + sprite(sprite1); ++8: // 164 + sprite(sprite0); ++8: // 172 + sprite(sprite1); ++8: // 180 + sprite(sprite2); ++8: // 188 + sprite(sprite1); ++8: // 196 + posTime(64, 9, 0.0, 0.0, 0.0); + sprite(sprite0); ++8: // 204 + sprite(sprite1); ++8: // 212 + sprite(sprite2); ++8: // 220 + sprite(sprite3); ++8: // 228 + sprite(sprite0); ++8: // 236 + sprite(sprite1); ++8: // 244 + sprite(sprite2); ++8: // 252 + sprite(sprite1); ++8: // 260 + } +} + + +script 9 script9 { + sprite(sprite8); + alpha(0); + blendMode(1); + alphaTime(30, 0, 128); + pos(0.0, 0.0, 0.0); + scale(0.0, 0.0); + scaleTime(60, 4, 4.0, 4.0); + posTime(120, 9, 20.0, -24.0, 0.0); + I4 = 60 / 4; + do { + color(128, 128, 128); ++2: // 2 + color(255, 255, 255); ++2: // 4 + } while (--I4); + scaleTime(90, 1, 0.0, 0.0); + I4 = 60 / 4; + do { + color(128, 128, 128); ++2: // 6 + color(255, 255, 255); ++2: // 8 + } while (--I4); ++30: // 38 + delete(); +} + + +script 10 script10 { + sprite(sprite9); + alpha(0); + type(1); + blendMode(1); + alphaTime(30, 0, 128); + scale(0.0, 0.0); + scaleTime(120, 0, 1.0, 1.0); + angleVel(0.0, 0.0, -1.8318324); + color(255, 0, 0); + posTime(120, 9, 20.0, -24.0, 0.0); ++120: // 120 + nop(); + scaleTime(30, 0, 4.0, 4.0); + alphaTime(30, 0, 0); ++30: // 150 + delete(); +} + + +entry { + path: "stgenm/stg4enm2.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: { + sprite10: {x: 0.0, y: 0.0, w: 48.0, h: 48.0}, + sprite11: {x: 48.0, y: 0.0, w: 48.0, h: 48.0}, + sprite12: {x: 0.0, y: 48.0, w: 48.0, h: 48.0}, + sprite13: {x: 48.0, y: 48.0, w: 48.0, h: 48.0}, + sprite14: {x: 96.0, y: 48.0, w: 48.0, h: 48.0}, + sprite15: {x: 144.0, y: 48.0, w: 48.0, h: 48.0}, + }, +} + + +script 11 script11 { + loop { + sprite(sprite10); ++3: // 3 + sprite(sprite11); ++3: // 6 + } +} + + +script 12 script12 { + flipX(); + sprite(sprite12); ++6: // 6 + sprite(sprite13); ++6: // 12 + sprite(sprite14); + stop(); +} + + +script 13 script13 { + sprite(sprite12); ++6: // 6 + sprite(sprite13); ++6: // 12 + sprite(sprite14); + stop(); +} + + +script 14 script14 { + flipX(); + sprite(sprite15); ++6: // 6 + sprite(sprite12); ++16: // 22 + nop(); + loop { + sprite(sprite10); ++3: // 25 + sprite(sprite11); ++3: // 28 + } +} + + +script 15 script15 { + sprite(sprite15); ++6: // 6 + sprite(sprite12); ++16: // 22 + nop(); + loop { + sprite(sprite10); ++3: // 25 + sprite(sprite11); ++3: // 28 + } +} + + +entry { + path: "face/enemy5/face05no.png", + img_width: 402, + img_height: 128, + memory_priority: 0, + sprites: {sprite16: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}}, +} + + +entry { + path: "face/enemy5/face05n2.png", + img_width: 402, + img_height: 128, + memory_priority: 0, + sprites: {sprite17: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite18: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite19: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite20: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy5/face05dp.png", + img_width: 402, + img_height: 128, + memory_priority: 0, + sprites: {sprite21: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite22: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy5/face05sp.png", + img_width: 402, + img_height: 128, + memory_priority: 0, + sprites: {sprite23: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}}, +} + + +entry { + path: "face/enemy5/face05lo.png", + img_width: 402, + img_height: 128, + memory_priority: 0, + sprites: {sprite24: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}}, +} + + +entry { + path: "face/enemy5/face05no.png", + img_width: 402, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite25: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite26: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite27: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite28: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite29: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite30: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite31: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite32: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + }, +} + + +entry { + path: "face/enemy5/face05lo.png", + img_width: 402, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: {sprite33: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}}, +} + + +entry { + path: "face/enemy5/face05no.png", + img_width: 402, + img_height: 64, + offset_y: 256, + memory_priority: 0, + sprites: { + sprite34: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite35: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite36: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite37: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite38: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite39: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite40: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite41: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite42: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + }, +} + + +entry { + path: "card/cdbg05a.png", + img_width: 512, + img_height: 512, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite43: {x: 0.0, y: 0.0, w: 512.0, h: 512.0}}, +} + + +script 16 script16 { + sprite(sprite43); + pos(224.0, 240.0, 0.0); + type(1); + alpha(0); + alphaTime(60, 0, 255); + scale(1.15625, 1.15625); + angleVel(0.0, 0.0, 0.003926991); + stop(); +} + + +entry { + path: "card/cdbg05b.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite44: {x: 0.0, y: 0.0, w: 384.0, h: 448.0}}, +} + + +script 17 script17 { + sprite(sprite44); + type(1); + pos(224.0, 240.0, 0.0); + alpha(0); + alphaTime(60, 0, 255); + color(255, 255, 255); + scrollY(0.0033333334); + stop(); +} + + +entry { + path: "face/enemy5/ename05.png", + img_width: 128, + img_height: 64, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite45: {x: 0.0, y: 0.0, w: 128.0, h: 64.0}}, +} + + +script 18 script18 { + ins_85(1); + randMode(1); + anchor(0, 2); + pos(288.0, 374.0, 0.0); + layer(16); + sprite(sprite45); + alpha(0); + alphaTime(30, 0, 255); ++300: // 300 + nop(); + +interrupt[1]: + alphaTime(20, 0, 0); ++20: // 320 + delete(); +} + + +entry { + path: "face/enemy5/face05ct.png", + img_width: 402, + img_height: 512, + memory_priority: 0, + sprites: {sprite46: {x: 0.0, y: 0.0, w: 402.0, h: 512.0}}, +} + + +script 19 script19 { + sprite(sprite46); + layer(5); + anchor(0, 1); + type(2); + pos(624.0, -160.0, 0.0); + color(0, 0, 0); + colorTime(30, 0, 255, 255, 255); + posTime(30, 0, 240.0, -16.0, 0.0); ++30: // 30 + posTime(90, 0, 208.0, 0.0, 0.0); ++90: // 120 + posTime(30, 0, -176.0, 160.0, 0.0); + colorTime(30, 0, 0, 0, 0); ++30: // 150 + delete(); +} diff --git a/research/stgenm06.tanm b/research/stgenm06.tanm new file mode 100644 index 0000000..37355be --- /dev/null +++ b/research/stgenm06.tanm @@ -0,0 +1,1182 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "stgenm/stg6enm.png", + img_width: 512, + img_height: 512, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 96.0, h: 96.0}, + sprite1: {x: 96.0, y: 0.0, w: 96.0, h: 96.0}, + sprite2: {x: 192.0, y: 0.0, w: 96.0, h: 96.0}, + sprite3: {x: 288.0, y: 0.0, w: 96.0, h: 96.0}, + sprite4: {x: 0.0, y: 96.0, w: 96.0, h: 96.0}, + sprite5: {x: 96.0, y: 96.0, w: 96.0, h: 96.0}, + sprite6: {x: 192.0, y: 96.0, w: 96.0, h: 96.0}, + sprite7: {x: 0.0, y: 192.0, w: 96.0, h: 96.0}, + sprite8: {x: 96.0, y: 192.0, w: 96.0, h: 96.0}, + sprite9: {x: 192.0, y: 192.0, w: 96.0, h: 96.0}, + sprite10: {x: 0.0, y: 288.0, w: 96.0, h: 96.0}, + sprite11: {x: 96.0, y: 288.0, w: 96.0, h: 96.0}, + sprite12: {x: 192.0, y: 288.0, w: 96.0, h: 96.0}, + sprite13: {x: 288.0, y: 288.0, w: 96.0, h: 96.0}, + sprite14: {x: 288.0, y: 96.0, w: 192.0, h: 192.0}, + }, +} + + +script 0 script0 { + loop { + posTime(48, 9, 0.0, 6.0, 0.0); + sprite(sprite0); ++8: // 8 + sprite(sprite1); ++8: // 16 + sprite(sprite2); ++8: // 24 + sprite(sprite3); ++8: // 32 + sprite(sprite0); ++8: // 40 + sprite(sprite1); ++8: // 48 + sprite(sprite2); ++8: // 56 + sprite(sprite3); + posTime(48, 9, 0.0, 0.0, 0.0); ++8: // 64 + sprite(sprite0); ++8: // 72 + sprite(sprite1); ++8: // 80 + sprite(sprite2); ++8: // 88 + sprite(sprite3); ++8: // 96 + } +} + + +script 1 script1 { + sprite(sprite7); ++8: // 8 + sprite(sprite8); ++8: // 16 + sprite(sprite9); + stop(); +} + + +script 2 script2 { + sprite(sprite4); ++8: // 8 + sprite(sprite5); ++8: // 16 + sprite(sprite6); + stop(); +} + + +script 3 script3 { + sprite(sprite9); ++8: // 8 + sprite(sprite8); ++8: // 16 + sprite(sprite7); + pos(0.0, 0.0, 0.0); + loop { + posTime(48, 9, 0.0, 6.0, 0.0); + sprite(sprite0); ++8: // 24 + sprite(sprite1); ++8: // 32 + sprite(sprite2); ++8: // 40 + sprite(sprite3); ++8: // 48 + sprite(sprite0); ++8: // 56 + sprite(sprite1); ++8: // 64 + sprite(sprite2); ++8: // 72 + sprite(sprite3); + posTime(48, 9, 0.0, 0.0, 0.0); ++8: // 80 + sprite(sprite0); ++8: // 88 + sprite(sprite1); ++8: // 96 + sprite(sprite2); ++8: // 104 + sprite(sprite3); ++8: // 112 + } +} + + +script 4 script4 { + sprite(sprite6); ++8: // 8 + sprite(sprite5); ++8: // 16 + sprite(sprite4); + pos(0.0, 0.0, 0.0); + loop { + posTime(48, 9, 0.0, 6.0, 0.0); + sprite(sprite0); ++8: // 24 + sprite(sprite1); ++8: // 32 + sprite(sprite2); ++8: // 40 + sprite(sprite3); ++8: // 48 + sprite(sprite0); ++8: // 56 + sprite(sprite1); ++8: // 64 + sprite(sprite2); ++8: // 72 + sprite(sprite3); + posTime(48, 9, 0.0, 0.0, 0.0); ++8: // 80 + sprite(sprite0); ++8: // 88 + sprite(sprite1); ++8: // 96 + sprite(sprite2); ++8: // 104 + sprite(sprite3); ++8: // 112 + } +} + + +script 5 script5 { + scriptNew(script6); + sprite(sprite10); ++5: // 5 + sprite(sprite11); ++5: // 10 + nop(); + loop { + sprite(sprite12); ++2: // 12 + sprite(sprite13); ++2: // 14 + } + stop(); +} + + +script 6 script6 { + layer(9); + type(1); + angleVel(0.0, 0.0, 1.4959965); + sprite(sprite14); + alpha(0); + blendMode(1); + alphaTime(30, 0, 224); + pos(0.0, -32.0, 0.0); + scale(0.0, 0.0); + scaleTime(60, 4, 1.0, 1.0); + loop { + color(255, 0, 128); ++2: // 2 + color(255, 255, 0); ++2: // 4 + } +} + + +entry { + path: "stgenm/stg4enm2.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: { + sprite15: {x: 0.0, y: 0.0, w: 48.0, h: 48.0}, + sprite16: {x: 48.0, y: 0.0, w: 48.0, h: 48.0}, + sprite17: {x: 0.0, y: 48.0, w: 48.0, h: 48.0}, + sprite18: {x: 48.0, y: 48.0, w: 48.0, h: 48.0}, + sprite19: {x: 96.0, y: 48.0, w: 48.0, h: 48.0}, + sprite20: {x: 144.0, y: 48.0, w: 48.0, h: 48.0}, + sprite21: {x: 0.0, y: 96.0, w: 32.0, h: 32.0}, + sprite22: {x: 32.0, y: 96.0, w: 32.0, h: 32.0}, + sprite23: {x: 64.0, y: 96.0, w: 32.0, h: 32.0}, + sprite24: {x: 96.0, y: 96.0, w: 32.0, h: 32.0}, + sprite25: {x: 128.0, y: 96.0, w: 32.0, h: 32.0}, + sprite26: {x: 160.0, y: 96.0, w: 32.0, h: 32.0}, + sprite27: {x: 192.0, y: 96.0, w: 32.0, h: 32.0}, + sprite28: {x: 224.0, y: 96.0, w: 32.0, h: 32.0}, + }, +} + + +script 7 script7 { + loop { + sprite(sprite15); ++3: // 3 + sprite(sprite16); ++3: // 6 + } +} + + +script 8 script8 { + flipX(); + sprite(sprite17); ++6: // 6 + sprite(sprite18); ++6: // 12 + sprite(sprite19); + stop(); +} + + +script 9 script9 { + sprite(sprite17); ++6: // 6 + sprite(sprite18); ++6: // 12 + sprite(sprite19); + stop(); +} + + +script 10 script10 { + flipX(); + sprite(sprite20); ++6: // 6 + sprite(sprite17); ++16: // 22 + nop(); + loop { + sprite(sprite15); ++3: // 25 + sprite(sprite16); ++3: // 28 + } +} + + +script 11 script11 { + sprite(sprite20); ++6: // 6 + sprite(sprite17); ++16: // 22 + nop(); + loop { + sprite(sprite15); ++3: // 25 + sprite(sprite16); ++3: // 28 + } +} + + +script 12 script12 { + layer(7); + loop { + sprite(sprite25); ++3: // 3 + sprite(sprite26); ++3: // 6 + sprite(sprite27); ++3: // 9 + sprite(sprite28); ++3: // 12 + sprite(sprite27); ++3: // 15 + sprite(sprite26); ++3: // 18 + } +} + + +script 13 script13 { + layer(7); + loop { + sprite(sprite21); ++3: // 3 + sprite(sprite22); ++3: // 6 + sprite(sprite23); ++3: // 9 + sprite(sprite24); ++3: // 12 + } +} + + +script 14 script14 { + layer(7); + flipX(); + loop { + sprite(sprite21); ++3: // 3 + sprite(sprite22); ++3: // 6 + sprite(sprite23); ++3: // 9 + sprite(sprite24); ++3: // 12 + } +} + + +script 15 script15 { + layer(7); + loop { + sprite(sprite25); ++3: // 3 + sprite(sprite26); ++3: // 6 + sprite(sprite27); ++3: // 9 + sprite(sprite28); ++3: // 12 + sprite(sprite27); ++3: // 15 + sprite(sprite26); ++3: // 18 + } +} + + +script 16 script16 { + layer(7); + flipX(); + loop { + sprite(sprite25); ++3: // 3 + sprite(sprite26); ++3: // 6 + sprite(sprite27); ++3: // 9 + sprite(sprite28); ++3: // 12 + sprite(sprite27); ++3: // 15 + sprite(sprite26); ++3: // 18 + } +} + + +entry { + path: "face/enemy6/face06no.png", + img_width: 384, + img_height: 64, + offset_x: 64, + offset_y: 96, + memory_priority: 0, + sprites: { + sprite29: {x: 0.0, y: 0.0, w: 384.0, h: 64.0}, + sprite30: {x: 0.0, y: 0.0, w: 384.0, h: 64.0}, + sprite31: {x: 0.0, y: 0.0, w: 384.0, h: 64.0}, + sprite32: {x: 0.0, y: 0.0, w: 384.0, h: 64.0}, + sprite33: {x: 0.0, y: 0.0, w: 384.0, h: 64.0}, + sprite34: {x: 0.0, y: 0.0, w: 384.0, h: 64.0}, + sprite35: {x: 0.0, y: 0.0, w: 384.0, h: 64.0}, + sprite36: {x: 0.0, y: 0.0, w: 384.0, h: 64.0}, + sprite37: {x: 0.0, y: 0.0, w: 384.0, h: 64.0}, + }, +} + + +entry { + path: "face/enemy6/face06no.png", + img_width: 384, + img_height: 256, + offset_x: 64, + offset_y: 160, + memory_priority: 0, + sprites: {sprite38: {x: 0.0, y: 0.0, w: 384.0, h: 256.0}}, +} + + +entry { + path: "face/enemy6/face06n2.png", + img_width: 384, + img_height: 256, + offset_x: 64, + offset_y: 160, + memory_priority: 0, + sprites: {sprite39: {x: 0.0, y: 0.0, w: 384.0, h: 256.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite40: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite41: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite42: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy6/face06dp.png", + img_width: 384, + img_height: 256, + offset_x: 64, + offset_y: 160, + memory_priority: 0, + sprites: {sprite43: {x: 0.0, y: 0.0, w: 384.0, h: 256.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite44: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy5/face05sp.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite45: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy5/face05lo.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite46: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy6/face06no.png", + img_width: 384, + img_height: 128, + offset_x: 64, + offset_y: 416, + memory_priority: 0, + sprites: { + sprite47: {x: 0.0, y: 0.0, w: 384.0, h: 128.0}, + sprite48: {x: 0.0, y: 0.0, w: 384.0, h: 128.0}, + sprite49: {x: 0.0, y: 0.0, w: 384.0, h: 128.0}, + sprite50: {x: 0.0, y: 0.0, w: 384.0, h: 128.0}, + sprite51: {x: 0.0, y: 0.0, w: 384.0, h: 128.0}, + sprite52: {x: 0.0, y: 0.0, w: 384.0, h: 128.0}, + sprite53: {x: 0.0, y: 0.0, w: 384.0, h: 128.0}, + sprite54: {x: 0.0, y: 0.0, w: 384.0, h: 128.0}, + sprite55: {x: 0.0, y: 0.0, w: 384.0, h: 128.0}, + }, +} + + +entry { + path: "card/cdbg06a.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite56: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 17 script17 { + sprite(sprite56); + pos(224.0, 240.0, 0.0); + type(1); + alpha(0); + alphaTime(60, 0, 255); + scale(1.8, 1.8); + angleVel(0.0, 0.0, 0.003926991); + stop(); +} + + +entry { + path: "card/cdbg06b.png", + img_width: 512, + img_height: 512, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite57: {x: 0.0, y: 0.0, w: 384.0, h: 448.0}}, +} + + +script 18 script18 { + sprite(sprite57); + type(1); + pos(224.0, 240.0, 0.0); + alpha(0); + alphaTime(60, 0, 255); + color(255, 255, 255); + scrollX(0.0016666667); + scrollY(-0.0011111111); + stop(); +} + + +entry { + path: "face/enemy6/ename06.png", + img_width: 128, + img_height: 64, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite58: {x: 0.0, y: 0.0, w: 128.0, h: 64.0}}, +} + + +script 19 script19 { + ins_85(1); + randMode(1); + anchor(0, 2); + pos(288.0, 374.0, 0.0); + layer(16); + sprite(sprite58); + alpha(0); + alphaTime(30, 0, 255); ++300: // 300 + nop(); + +interrupt[1]: + alphaTime(20, 0, 0); ++20: // 320 + delete(); +} + + +entry { + path: "face/enemy6/face06ct.png", + img_width: 425, + img_height: 512, + memory_priority: 0, + sprites: {sprite59: {x: 0.0, y: 0.0, w: 425.0, h: 512.0}}, +} + + +script 20 script20 { + sprite(sprite59); + layer(5); + anchor(0, 0); + type(2); + pos(224.0, 720.0, 0.0); + color(0, 0, 0); + colorTime(30, 0, 255, 255, 255); + posTime(30, 0, 224.0, 224.0, 0.0); ++30: // 30 + posTime(150, 0, 224.0, 128.0, 0.0); ++120: // 150 + scaleTime(30, 1, 1.8, 1.8); + alphaTime(30, 0, 0); ++30: // 180 + delete(); +} + + +entry { + path: "face/enemy5/face05no.png", + img_width: 402, + img_height: 128, + memory_priority: 0, + sprites: {sprite60: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}}, +} + + +entry { + path: "face/enemy5/face05n2.png", + img_width: 402, + img_height: 128, + memory_priority: 0, + sprites: {sprite61: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite62: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite63: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite64: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy5/face05dp.png", + img_width: 402, + img_height: 128, + memory_priority: 0, + sprites: {sprite65: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite66: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy5/face05sp.png", + img_width: 402, + img_height: 128, + memory_priority: 0, + sprites: {sprite67: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}}, +} + + +entry { + path: "face/enemy5/face05no.png", + img_width: 402, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite68: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite69: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite70: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite71: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite72: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite73: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite74: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + sprite75: {x: 0.0, y: 0.0, w: 402.0, h: 128.0}, + }, +} + + +entry { + path: "face/enemy5/face05no.png", + img_width: 402, + img_height: 64, + offset_y: 256, + memory_priority: 0, + sprites: { + sprite76: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite77: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite78: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite79: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite80: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite81: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite82: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite83: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + sprite84: {x: 0.0, y: 0.0, w: 402.0, h: 64.0}, + }, +} + + +entry { + path: "card/cdbg05a.png", + img_width: 512, + img_height: 512, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite85: {x: 0.0, y: 0.0, w: 512.0, h: 512.0}}, +} + + +script 21 script21 { + sprite(sprite85); + pos(224.0, 240.0, 0.0); + type(1); + alpha(0); + alphaTime(60, 0, 255); + scale(1.15625, 1.15625); + angleVel(0.0, 0.0, 0.003926991); + stop(); +} + + +entry { + path: "card/cdbg05b.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite86: {x: 0.0, y: 0.0, w: 384.0, h: 448.0}}, +} + + +script 22 script22 { + sprite(sprite86); + type(1); + pos(224.0, 240.0, 0.0); + alpha(0); + alphaTime(60, 0, 255); + color(255, 255, 255); + scrollY(0.0033333334); + stop(); +} + + +entry { + path: "face/enemy5/face05ct.png", + img_width: 402, + img_height: 512, + memory_priority: 0, + sprites: {sprite87: {x: 0.0, y: 0.0, w: 402.0, h: 512.0}}, +} + + +script 23 script23 { + sprite(sprite87); + layer(5); + anchor(0, 1); + type(2); + pos(624.0, -160.0, 0.0); + color(0, 0, 0); + colorTime(30, 0, 255, 255, 255); + posTime(30, 0, 240.0, -16.0, 0.0); ++30: // 30 + posTime(90, 0, 208.0, 0.0, 0.0); ++90: // 120 + posTime(30, 0, -176.0, 160.0, 0.0); + colorTime(30, 0, 0, 0, 0); ++30: // 150 + delete(); +} + + +entry { + path: "stgenm/stg6enm2.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: { + sprite88: {x: 0.0, y: 0.0, w: 384.0, h: 128.0}, + sprite89: {x: 0.0, y: 220.0, w: 384.0, h: 36.0}, + }, +} + + +script 24 script24 { + layer(16); + scriptNew(script25); + scriptNew(script26); + sprite(sprite88); + type(1); + pos(224.0, 240.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); + color(255, 255, 255); + scrollX(0.0033333334); ++120: // 120 + alphaTime(60, 0, 0); ++60: // 180 + delete(); +} + + +script 25 script25 { + layer(16); + sprite(sprite89); + type(1); + pos(224.0, 320.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); + color(255, 255, 255); + scrollX(-0.0033333334); ++120: // 120 + alphaTime(60, 0, 0); ++60: // 180 + delete(); +} + + +script 26 script26 { + layer(16); + sprite(sprite89); + type(1); + pos(224.0, 160.0, 0.0); + alpha(0); + alphaTime(20, 0, 255); + color(255, 255, 255); + scrollX(-0.0033333334); ++120: // 120 + alphaTime(60, 0, 0); ++60: // 180 + delete(); +} + + +entry { + path: "stgenm/stg5enm.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: { + sprite90: {x: 0.0, y: 0.0, w: 64.0, h: 64.0}, + sprite91: {x: 64.0, y: 0.0, w: 64.0, h: 64.0}, + sprite92: {x: 128.0, y: 0.0, w: 64.0, h: 64.0}, + sprite93: {x: 192.0, y: 0.0, w: 64.0, h: 64.0}, + sprite94: {x: 0.0, y: 64.0, w: 64.0, h: 64.0}, + sprite95: {x: 64.0, y: 64.0, w: 64.0, h: 64.0}, + sprite96: {x: 0.0, y: 128.0, w: 64.0, h: 64.0}, + sprite97: {x: 64.0, y: 128.0, w: 64.0, h: 64.0}, + sprite98: {x: 128.0, y: 128.0, w: 64.0, h: 64.0}, + sprite99: {x: 192.0, y: 128.0, w: 64.0, h: 64.0}, + }, +} + + +script 27 script27 { + loop { + posTime(64, 9, 0.0, 6.0, 0.0); + sprite(sprite90); ++8: // 8 + sprite(sprite91); ++8: // 16 + sprite(sprite92); ++8: // 24 + sprite(sprite91); ++8: // 32 + sprite(sprite90); ++8: // 40 + sprite(sprite91); ++8: // 48 + sprite(sprite92); ++8: // 56 + sprite(sprite91); ++8: // 64 + posTime(64, 9, 0.0, 0.0, 0.0); + sprite(sprite90); ++8: // 72 + sprite(sprite91); ++8: // 80 + sprite(sprite92); ++8: // 88 + sprite(sprite93); ++8: // 96 + sprite(sprite90); ++8: // 104 + sprite(sprite91); ++8: // 112 + sprite(sprite92); ++8: // 120 + sprite(sprite91); ++8: // 128 + } +} + + +script 28 script28 { + pos(4.0, 0.0, 0.0); + sprite(sprite94); ++8: // 8 + sprite(sprite95); + stop(); +} + + +script 29 script29 { + flipX(); + pos(-4.0, 0.0, 0.0); + sprite(sprite94); ++8: // 8 + sprite(sprite95); + stop(); +} + + +script 30 script30 { + pos(4.0, 0.0, 0.0); + sprite(sprite95); ++8: // 8 + sprite(sprite94); + pos(0.0, 0.0, 0.0); + loop { + posTime(64, 9, 0.0, 6.0, 0.0); + sprite(sprite90); ++8: // 16 + sprite(sprite91); ++8: // 24 + sprite(sprite92); ++8: // 32 + sprite(sprite91); ++8: // 40 + sprite(sprite90); ++8: // 48 + sprite(sprite91); ++8: // 56 + sprite(sprite92); ++8: // 64 + sprite(sprite91); ++8: // 72 + posTime(64, 9, 0.0, 0.0, 0.0); + sprite(sprite90); ++8: // 80 + sprite(sprite91); ++8: // 88 + sprite(sprite92); ++8: // 96 + sprite(sprite93); ++8: // 104 + sprite(sprite90); ++8: // 112 + sprite(sprite91); ++8: // 120 + sprite(sprite92); ++8: // 128 + sprite(sprite91); ++8: // 136 + } +} + + +script 31 script31 { + flipX(); + pos(-4.0, 0.0, 0.0); + sprite(sprite95); ++8: // 8 + sprite(sprite94); + pos(0.0, 0.0, 0.0); + loop { + posTime(64, 9, 0.0, 6.0, 0.0); + sprite(sprite90); ++8: // 16 + sprite(sprite91); ++8: // 24 + sprite(sprite92); ++8: // 32 + sprite(sprite91); ++8: // 40 + sprite(sprite90); ++8: // 48 + sprite(sprite91); ++8: // 56 + sprite(sprite92); ++8: // 64 + sprite(sprite91); ++8: // 72 + posTime(64, 9, 0.0, 0.0, 0.0); + sprite(sprite90); ++8: // 80 + sprite(sprite91); ++8: // 88 + sprite(sprite92); ++8: // 96 + sprite(sprite93); ++8: // 104 + sprite(sprite90); ++8: // 112 + sprite(sprite91); ++8: // 120 + sprite(sprite92); ++8: // 128 + sprite(sprite91); ++8: // 136 + } +} + + +script 32 script32 { + scriptNew(script33); + scriptNew(script34); + sprite(sprite96); ++4: // 4 + sprite(sprite97); + stop(); +} + + +script 33 script33 { + sprite(sprite98); + alpha(0); + blendMode(1); + alphaTime(30, 0, 128); + pos(20.0, -24.0, 0.0); + scale(0.0, 0.0); + scaleTime(60, 0, 1.0, 1.0); + loop { + color(128, 128, 128); ++2: // 2 + color(255, 255, 255); ++2: // 4 + } +} + + +script 34 script34 { + sprite(sprite99); + alpha(0); + type(1); + blendMode(1); + alphaTime(30, 0, 128); + pos(20.0, -24.0, 0.0); + scale(0.0, 0.0); + scaleTime(60, 0, 1.0, 1.0); + angleVel(0.0, 0.0, -1.8318324); + color(255, 0, 0); + loop { ++2: // 2 + } +} + + +script 35 script35 { + flipX(); + scriptNew(script36); + scriptNew(script37); + I4 = 60 / 4; + do { + sprite(sprite15); ++2: // 2 + sprite(sprite16); ++2: // 4 + } while (--I4); + alphaTime(60, 0, 0); + I4 = 60 / 4; + do { + sprite(sprite15); ++2: // 6 + sprite(sprite16); ++2: // 8 + } while (--I4); + flipX(); + alphaTime(20, 0, 255); + sprite(sprite97); ++120: // 128 + sprite(sprite96); ++4: // 132 + nop(); + loop { + posTime(64, 9, 0.0, 6.0, 0.0); + sprite(sprite90); ++8: // 140 + sprite(sprite91); ++8: // 148 + sprite(sprite92); ++8: // 156 + sprite(sprite91); ++8: // 164 + sprite(sprite90); ++8: // 172 + sprite(sprite91); ++8: // 180 + sprite(sprite92); ++8: // 188 + sprite(sprite91); ++8: // 196 + posTime(64, 9, 0.0, 0.0, 0.0); + sprite(sprite90); ++8: // 204 + sprite(sprite91); ++8: // 212 + sprite(sprite92); ++8: // 220 + sprite(sprite93); ++8: // 228 + sprite(sprite90); ++8: // 236 + sprite(sprite91); ++8: // 244 + sprite(sprite92); ++8: // 252 + sprite(sprite91); ++8: // 260 + } +} + + +script 36 script36 { + sprite(sprite98); + alpha(0); + blendMode(1); + alphaTime(30, 0, 128); + pos(0.0, 0.0, 0.0); + scale(0.0, 0.0); + scaleTime(60, 4, 4.0, 4.0); + posTime(120, 9, 20.0, -24.0, 0.0); + I4 = 60 / 4; + do { + color(128, 128, 128); ++2: // 2 + color(255, 255, 255); ++2: // 4 + } while (--I4); + scaleTime(90, 1, 0.0, 0.0); + I4 = 60 / 4; + do { + color(128, 128, 128); ++2: // 6 + color(255, 255, 255); ++2: // 8 + } while (--I4); ++30: // 38 + delete(); +} + + +script 37 script37 { + sprite(sprite99); + alpha(0); + type(1); + blendMode(1); + alphaTime(30, 0, 128); + scale(0.0, 0.0); + scaleTime(120, 0, 1.0, 1.0); + angleVel(0.0, 0.0, -1.8318324); + color(255, 0, 0); + posTime(120, 9, 20.0, -24.0, 0.0); ++120: // 120 + nop(); + scaleTime(30, 0, 4.0, 4.0); + alphaTime(30, 0, 0); ++30: // 150 + delete(); +} diff --git a/research/stgenm07.tanm b/research/stgenm07.tanm new file mode 100644 index 0000000..c504c11 --- /dev/null +++ b/research/stgenm07.tanm @@ -0,0 +1,1014 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "stgenm/stg7enm.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 64.0, h: 64.0}, + sprite1: {x: 64.0, y: 0.0, w: 64.0, h: 64.0}, + sprite2: {x: 128.0, y: 0.0, w: 64.0, h: 64.0}, + sprite3: {x: 192.0, y: 0.0, w: 64.0, h: 64.0}, + sprite4: {x: 0.0, y: 64.0, w: 64.0, h: 64.0}, + sprite5: {x: 64.0, y: 64.0, w: 64.0, h: 64.0}, + sprite6: {x: 128.0, y: 64.0, w: 64.0, h: 64.0}, + sprite7: {x: 192.0, y: 64.0, w: 64.0, h: 64.0}, + sprite8: {x: 0.0, y: 128.0, w: 64.0, h: 64.0}, + sprite9: {x: 64.0, y: 128.0, w: 64.0, h: 64.0}, + sprite10: {x: 128.0, y: 128.0, w: 64.0, h: 64.0}, + sprite11: {x: 192.0, y: 128.0, w: 64.0, h: 64.0}, + sprite12: {x: 288.0, y: 96.0, w: 192.0, h: 192.0}, + }, +} + + +script 0 script0 { + loop { + sprite(sprite0); ++9: // 9 + sprite(sprite1); ++9: // 18 + sprite(sprite2); ++9: // 27 + sprite(sprite3); ++9: // 36 + sprite(sprite2); ++9: // 45 + sprite(sprite1); ++9: // 54 + } +} + + +script 1 script1 { + flipX(); + sprite(sprite4); ++4: // 4 + sprite(sprite5); ++4: // 8 + sprite(sprite6); ++4: // 12 + sprite(sprite7); + stop(); +} + + +script 2 script2 { + sprite(sprite4); ++4: // 4 + sprite(sprite5); ++4: // 8 + sprite(sprite6); ++4: // 12 + sprite(sprite7); + stop(); +} + + +script 3 script3 { + flipX(); + sprite(sprite7); ++4: // 4 + sprite(sprite6); ++4: // 8 + sprite(sprite5); ++4: // 12 + sprite(sprite4); + pos(0.0, 0.0, 0.0); + loop { + sprite(sprite0); ++9: // 21 + sprite(sprite1); ++9: // 30 + sprite(sprite2); ++9: // 39 + sprite(sprite3); ++9: // 48 + sprite(sprite2); ++9: // 57 + sprite(sprite1); ++9: // 66 + } +} + + +script 4 script4 { + sprite(sprite7); ++4: // 4 + sprite(sprite6); ++4: // 8 + sprite(sprite5); ++4: // 12 + sprite(sprite4); + pos(0.0, 0.0, 0.0); + loop { + sprite(sprite0); ++9: // 21 + sprite(sprite1); ++9: // 30 + sprite(sprite2); ++9: // 39 + sprite(sprite3); ++9: // 48 + sprite(sprite2); ++9: // 57 + sprite(sprite1); ++9: // 66 + } +} + + +script 5 script5 { + sprite(sprite8); ++5: // 5 + sprite(sprite9); ++5: // 10 + sprite(sprite10); ++5: // 15 + sprite(sprite11); + stop(); +} + + +script 6 script6 { + layer(9); + type(1); + angleVel(0.0, 0.0, 1.4959965); + sprite(sprite12); + alpha(0); + blendMode(1); + alphaTime(30, 0, 224); + pos(0.0, -32.0, 0.0); + scale(0.0, 0.0); + scaleTime(60, 4, 1.0, 1.0); + loop { + color(255, 0, 128); ++2: // 2 + color(255, 255, 0); ++2: // 4 + } +} + + +entry { + path: "face/enemy7/face07no.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite13: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy7/face07n2.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite14: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy7/face07hp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite15: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite16: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite17: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite18: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite19: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy7/face07sp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite20: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy7/face07lo.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite21: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy7/face07sno.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite22: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy7/face07sdp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite23: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy7/face07spr.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite24: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy7/face07no.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite25: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite26: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite27: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite28: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite29: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite30: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite31: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite32: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + }, +} + + +entry { + path: "face/enemy7/face07lo.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: {sprite33: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy7/face07sno.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite34: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite35: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite36: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + }, +} + + +entry { + path: "face/enemy7/face07no.png", + img_width: 256, + img_height: 64, + offset_y: 256, + memory_priority: 0, + sprites: { + sprite37: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite38: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite39: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite40: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite41: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite42: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite43: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite44: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite45: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + }, +} + + +entry { + path: "face/enemy7/face07sno.png", + img_width: 256, + img_height: 64, + offset_y: 256, + memory_priority: 0, + sprites: { + sprite46: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite47: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite48: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + }, +} + + +entry { + path: "card/cdbg07a.png", + img_width: 384, + img_height: 448, + img_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: {sprite49: {x: 0.0, y: 0.0, w: 384.0, h: 448.0}}, +} + + +script 7 script7 { + sprite(sprite49); + pos(224.0, 240.0, 0.0); + type(0); + alpha(0); + alphaTime(60, 0, 255); + stop(); +} + + +entry { + path: "card/cdbg07b.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite50: {x: 0.0, y: 0.0, w: 512.0, h: 512.0}}, +} + + +script 8 script8 { + sprite(sprite50); + scale(1.15625, 1.15625); + type(1); + pos(224.0, 240.0, 0.0); + blendMode(1); + angleVel(0.0, 0.0, 0.0019634955); + scrollX(-0.0016666667); + scrollY(0.0016666667); + alpha(0); + alphaTime(60, 0, 255); + stop(); +} + + +entry { + path: "face/enemy7/ename07.png", + img_width: 128, + img_height: 64, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite51: {x: 0.0, y: 0.0, w: 128.0, h: 64.0}}, +} + + +script 9 script9 { + ins_85(1); + randMode(1); + anchor(0, 2); + pos(288.0, 374.0, 0.0); + layer(16); + sprite(sprite51); + alpha(0); + alphaTime(30, 0, 255); ++300: // 300 + nop(); + +interrupt[1]: + alphaTime(20, 0, 0); ++20: // 320 + delete(); +} + + +entry { + path: "face/enemy7/face07ct.png", + img_width: 256, + img_height: 512, + memory_priority: 0, + sprites: {sprite52: {x: 0.0, y: 0.0, w: 256.0, h: 512.0}}, +} + + +script 10 script10 { + sprite(sprite52); + layer(5); + anchor(0, 1); + type(2); + pos(608.0, -128.0, 0.0); + color(0, 0, 0); + colorTime(30, 0, 255, 255, 255); + posTime(30, 0, 224.0, 16.0, 0.0); ++30: // 30 + posTime(90, 0, 192.0, 32.0, 0.0); ++90: // 120 + posTime(30, 0, -192.0, 192.0, 0.0); + colorTime(30, 0, 0, 0, 0); ++30: // 150 + delete(); +} + + +entry { + path: "face/enemy7/face07mno.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite53: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy7/face07mn2.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite54: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite55: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite56: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite57: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy7/face07mdp.png", + img_width: 256, + img_height: 128, + memory_priority: 0, + sprites: {sprite58: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite59: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/dummy.png", + img_width: 8, + img_height: 8, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite60: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}}, +} + + +entry { + path: "face/enemy7/face07mno.png", + img_width: 256, + img_height: 128, + offset_y: 128, + memory_priority: 0, + sprites: { + sprite61: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite62: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite63: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite64: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite65: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite66: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite67: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + sprite68: {x: 0.0, y: 0.0, w: 256.0, h: 128.0}, + }, +} + + +entry { + path: "face/enemy7/face07mno.png", + img_width: 256, + img_height: 64, + offset_y: 256, + memory_priority: 0, + sprites: { + sprite69: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite70: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite71: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite72: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite73: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite74: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite75: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite76: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + sprite77: {x: 0.0, y: 0.0, w: 256.0, h: 64.0}, + }, +} + + +entry { + path: "card/cdbg07ma.png", + img_width: 512, + img_height: 512, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite78: {x: 0.0, y: 0.0, w: 384.0, h: 448.0}}, +} + + +script 11 script11 { + sprite(sprite78); + pos(224.0, 240.0, 0.0); + alpha(0); + alphaTime(60, 0, 255); + stop(); +} + + +entry { + path: "card/cdbg07mb.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite79: {x: 0.0, y: 0.0, w: 384.0, h: 448.0}}, +} + + +script 12 script12 { + sprite(sprite79); + blendMode(1); + type(1); + pos(224.0, 240.0, 0.0); + alpha(0); + alphaTime(60, 0, 224); + scrollY(0.0033333334); + color(0, 0, 0); + loop { + colorTime(60, 0, 0, 0, 255); ++60: // 60 + colorTime(60, 0, 0, 255, 255); ++60: // 120 + colorTime(60, 0, 0, 255, 0); ++60: // 180 + colorTime(60, 0, 255, 255, 0); ++60: // 240 + colorTime(60, 0, 255, 0, 0); ++60: // 300 + colorTime(60, 0, 255, 0, 255); ++60: // 360 + } + stop(); +} + + +entry { + path: "face/enemy7/face07mct.png", + img_width: 256, + img_height: 512, + memory_priority: 0, + sprites: {sprite80: {x: 0.0, y: 0.0, w: 256.0, h: 512.0}}, +} + + +script 13 script13 { + sprite(sprite80); + layer(5); + anchor(0, 1); + type(2); + pos(624.0, -160.0, 0.0); + color(0, 0, 0); + colorTime(30, 0, 255, 255, 255); + posTime(30, 0, 240.0, -16.0, 0.0); ++30: // 30 + posTime(90, 0, 208.0, 0.0, 0.0); ++90: // 120 + posTime(30, 0, -176.0, 160.0, 0.0); + colorTime(30, 0, 0, 0, 0); ++30: // 150 + delete(); +} + + +entry { + path: "stgenm/stg7menm.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: { + sprite81: {x: 0.0, y: 0.0, w: 64.0, h: 64.0}, + sprite82: {x: 64.0, y: 0.0, w: 64.0, h: 64.0}, + sprite83: {x: 128.0, y: 0.0, w: 64.0, h: 64.0}, + sprite84: {x: 192.0, y: 0.0, w: 64.0, h: 64.0}, + sprite85: {x: 0.0, y: 64.0, w: 64.0, h: 64.0}, + sprite86: {x: 64.0, y: 64.0, w: 64.0, h: 64.0}, + sprite87: {x: 128.0, y: 64.0, w: 64.0, h: 64.0}, + sprite88: {x: 192.0, y: 64.0, w: 64.0, h: 64.0}, + sprite89: {x: 0.0, y: 128.0, w: 64.0, h: 80.0}, + sprite90: {x: 64.0, y: 128.0, w: 64.0, h: 80.0}, + sprite91: {x: 128.0, y: 128.0, w: 64.0, h: 80.0}, + }, +} + + +script 14 script14 { + pos(0.0, 0.0, 0.0); + loop { + posTime(84, 9, 0.0, -4.0, 0.0); + sprite(sprite81); ++7: // 7 + sprite(sprite82); ++7: // 14 + sprite(sprite83); ++7: // 21 + sprite(sprite84); ++7: // 28 + sprite(sprite81); ++7: // 35 + sprite(sprite82); ++7: // 42 + sprite(sprite83); ++7: // 49 + sprite(sprite84); ++7: // 56 + sprite(sprite81); ++7: // 63 + sprite(sprite82); ++7: // 70 + sprite(sprite83); ++7: // 77 + sprite(sprite84); ++7: // 84 + posTime(84, 9, 0.0, 4.0, 0.0); + sprite(sprite81); ++7: // 91 + sprite(sprite82); ++7: // 98 + sprite(sprite83); ++7: // 105 + sprite(sprite84); ++7: // 112 + sprite(sprite81); ++7: // 119 + sprite(sprite82); ++7: // 126 + sprite(sprite83); ++7: // 133 + sprite(sprite84); ++7: // 140 + sprite(sprite81); ++7: // 147 + sprite(sprite82); ++7: // 154 + sprite(sprite83); ++7: // 161 + sprite(sprite84); ++7: // 168 + } +} + + +script 15 script15 { + pos(0.0, 0.0, 0.0); + flipX(); + sprite(sprite85); ++4: // 4 + sprite(sprite86); ++4: // 8 + sprite(sprite87); ++4: // 12 + sprite(sprite88); + loop { ++400: // 412 + } + stop(); +} + + +script 16 script16 { + pos(0.0, 0.0, 0.0); + sprite(sprite85); ++4: // 4 + sprite(sprite86); ++4: // 8 + sprite(sprite87); ++4: // 12 + sprite(sprite88); + loop { ++400: // 412 + } + stop(); +} + + +script 17 script17 { + pos(0.0, 0.0, 0.0); + flipX(); + sprite(sprite88); ++4: // 4 + sprite(sprite87); ++4: // 8 + sprite(sprite86); ++4: // 12 + sprite(sprite85); + loop { + posTime(84, 9, 0.0, -4.0, 0.0); + sprite(sprite81); ++7: // 19 + sprite(sprite82); ++7: // 26 + sprite(sprite83); ++7: // 33 + sprite(sprite84); ++7: // 40 + sprite(sprite81); ++7: // 47 + sprite(sprite82); ++7: // 54 + sprite(sprite83); ++7: // 61 + sprite(sprite84); ++7: // 68 + sprite(sprite81); ++7: // 75 + sprite(sprite82); ++7: // 82 + sprite(sprite83); ++7: // 89 + sprite(sprite84); ++7: // 96 + posTime(84, 9, 0.0, 4.0, 0.0); + sprite(sprite81); ++7: // 103 + sprite(sprite82); ++7: // 110 + sprite(sprite83); ++7: // 117 + sprite(sprite84); ++7: // 124 + sprite(sprite81); ++7: // 131 + sprite(sprite82); ++7: // 138 + sprite(sprite83); ++7: // 145 + sprite(sprite84); ++7: // 152 + sprite(sprite81); ++7: // 159 + sprite(sprite82); ++7: // 166 + sprite(sprite83); ++7: // 173 + sprite(sprite84); ++7: // 180 + } +} + + +script 18 script18 { + pos(0.0, 0.0, 0.0); + sprite(sprite88); ++4: // 4 + sprite(sprite87); ++4: // 8 + sprite(sprite86); ++4: // 12 + sprite(sprite85); + loop { + posTime(84, 9, 0.0, -4.0, 0.0); + sprite(sprite81); ++7: // 19 + sprite(sprite82); ++7: // 26 + sprite(sprite83); ++7: // 33 + sprite(sprite84); ++7: // 40 + sprite(sprite81); ++7: // 47 + sprite(sprite82); ++7: // 54 + sprite(sprite83); ++7: // 61 + sprite(sprite84); ++7: // 68 + sprite(sprite81); ++7: // 75 + sprite(sprite82); ++7: // 82 + sprite(sprite83); ++7: // 89 + sprite(sprite84); ++7: // 96 + posTime(84, 9, 0.0, 4.0, 0.0); + sprite(sprite81); ++7: // 103 + sprite(sprite82); ++7: // 110 + sprite(sprite83); ++7: // 117 + sprite(sprite84); ++7: // 124 + sprite(sprite81); ++7: // 131 + sprite(sprite82); ++7: // 138 + sprite(sprite83); ++7: // 145 + sprite(sprite84); ++7: // 152 + sprite(sprite81); ++7: // 159 + sprite(sprite82); ++7: // 166 + sprite(sprite83); ++7: // 173 + sprite(sprite84); ++7: // 180 + } +} + + +script 19 script19 { + pos(0.0, -10.0, 0.0); + sprite(sprite89); ++4: // 4 + sprite(sprite90); ++4: // 8 + sprite(sprite91); + stop(); +} + + +entry { + path: "stgenm/stg7enm2.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite92: {x: 1.0, y: 1.0, w: 254.0, h: 254.0}}, +} + + +script 20 script20 { + layer(9); + type(1); + angleVel(0.0, 0.0, 1.4959965); + sprite(sprite92); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); + loop { + color(255, 0, 128); ++2: // 2 + color(255, 255, 0); ++2: // 4 + } + +interrupt[1]: + scaleTime(10, 4, 1.5, 1.5); + alphaTime(10, 0, 0); ++10: // 14 + delete(); +} + + +entry { + path: "stgenm/stg7enm2b.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + memory_priority: 0, + sprites: {sprite93: {x: 1.0, y: 1.0, w: 254.0, h: 254.0}}, +} + + +script 21 script21 { + scriptNew(script20); + layer(9); + type(1); + angleVel(0.0, 0.0, 1.4959965); + sprite(sprite93); + alpha(0); + blendMode(1); + alphaTime(10, 0, 255); + scale(0.0, 0.0); + scaleTime(10, 4, 1.0, 1.0); + loop { + color(255, 128, 255); ++2: // 2 + color(255, 255, 255); ++2: // 4 + } + +interrupt[1]: + scaleTime(10, 4, 1.5, 1.5); + alphaTime(10, 0, 0); ++10: // 14 + delete(); +} + + +script 22 script22 { + layer(9); + type(1); + angleVel(0.0, 0.0, 1.4959965); + sprite(sprite92); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 0.0); + scaleTime(10, 4, 0.3, 0.3); + loop { + color(255, 0, 128); ++2: // 2 + color(255, 255, 0); ++2: // 4 + } + +interrupt[1]: + scaleTime(10, 4, 0.5, 0.5); + alphaTime(10, 0, 0); ++10: // 14 + delete(); +} + + +script 23 script23 { + scriptNew(script22); + layer(9); + type(1); + angleVel(0.0, 0.0, 1.4959965); + sprite(sprite93); + alpha(0); + blendMode(1); + alphaTime(10, 0, 255); + scale(0.0, 0.0); + scaleTime(10, 4, 0.3, 0.3); + loop { + color(255, 128, 255); ++2: // 2 + color(255, 255, 255); ++2: // 4 + } + +interrupt[1]: + scaleTime(10, 4, 0.5, 0.5); + alphaTime(10, 0, 0); ++10: // 14 + delete(); +} diff --git a/research/text.tanm b/research/text.tanm new file mode 100644 index 0000000..779666a --- /dev/null +++ b/research/text.tanm @@ -0,0 +1,2191 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "@", + has_data: false, + rt_width: 512, + rt_height: 512, + rt_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 1.0, w: 354.0, h: 17.0}, + sprite1: {x: 0.0, y: 19.0, w: 354.0, h: 17.0}, + sprite2: {x: 0.0, y: 37.0, w: 354.0, h: 17.0}, + sprite3: {x: 0.0, y: 55.0, w: 354.0, h: 17.0}, + sprite4: {x: 0.0, y: 73.0, w: 256.0, h: 17.0}, + sprite5: {x: 0.0, y: 91.0, w: 256.0, h: 17.0}, + sprite6: {x: 0.0, y: 109.0, w: 320.0, h: 17.0}, + sprite7: {x: 0.0, y: 0.0, w: 320.0, h: 17.0}, + sprite8: {x: 0.0, y: 0.0, w: 320.0, h: 17.0}, + sprite9: {x: 0.0, y: 18.0, w: 320.0, h: 17.0}, + sprite10: {x: 0.0, y: 36.0, w: 320.0, h: 17.0}, + sprite11: {x: 0.0, y: 54.0, w: 320.0, h: 17.0}, + sprite12: {x: 0.0, y: 72.0, w: 320.0, h: 17.0}, + sprite13: {x: 0.0, y: 90.0, w: 320.0, h: 17.0}, + sprite14: {x: 0.0, y: 108.0, w: 320.0, h: 17.0}, + sprite15: {x: 0.0, y: 126.0, w: 320.0, h: 17.0}, + sprite16: {x: 0.0, y: 144.0, w: 320.0, h: 17.0}, + sprite17: {x: 0.0, y: 162.0, w: 320.0, h: 17.0}, + sprite18: {x: 0.0, y: 180.0, w: 320.0, h: 17.0}, + sprite19: {x: 0.0, y: 198.0, w: 320.0, h: 17.0}, + sprite20: {x: 0.0, y: 216.0, w: 320.0, h: 17.0}, + sprite21: {x: 0.0, y: 234.0, w: 320.0, h: 17.0}, + sprite22: {x: 0.0, y: 252.0, w: 320.0, h: 17.0}, + sprite23: {x: 0.0, y: 0.0, w: 512.0, h: 17.0}, + sprite24: {x: 0.0, y: 18.0, w: 512.0, h: 17.0}, + sprite25: {x: 0.0, y: 36.0, w: 512.0, h: 17.0}, + sprite26: {x: 0.0, y: 54.0, w: 512.0, h: 17.0}, + sprite27: {x: 0.0, y: 72.0, w: 512.0, h: 17.0}, + sprite28: {x: 0.0, y: 90.0, w: 512.0, h: 17.0}, + sprite29: {x: 0.0, y: 108.0, w: 512.0, h: 17.0}, + sprite30: {x: 0.0, y: 126.0, w: 512.0, h: 17.0}, + sprite31: {x: 0.0, y: 144.0, w: 512.0, h: 17.0}, + sprite32: {x: 0.0, y: 162.0, w: 512.0, h: 17.0}, + sprite33: {x: 0.0, y: 180.0, w: 512.0, h: 17.0}, + sprite34: {x: 0.0, y: 198.0, w: 512.0, h: 17.0}, + sprite35: {x: 0.0, y: 216.0, w: 512.0, h: 17.0}, + sprite36: {x: 0.0, y: 234.0, w: 512.0, h: 17.0}, + sprite37: {x: 0.0, y: 252.0, w: 512.0, h: 17.0}, + sprite38: {x: 0.0, y: 270.0, w: 512.0, h: 17.0}, + sprite39: {x: 0.0, y: 288.0, w: 512.0, h: 17.0}, + sprite40: {x: 0.0, y: 306.0, w: 512.0, h: 17.0}, + sprite41: {x: 0.0, y: 324.0, w: 512.0, h: 17.0}, + sprite42: {x: 0.0, y: 342.0, w: 512.0, h: 17.0}, + sprite43: {x: 0.0, y: 360.0, w: 512.0, h: 17.0}, + sprite44: {x: 0.0, y: 378.0, w: 512.0, h: 17.0}, + sprite45: {x: 0.0, y: 396.0, w: 512.0, h: 17.0}, + sprite46: {x: 0.0, y: 414.0, w: 512.0, h: 17.0}, + sprite47: {x: 0.0, y: 432.0, w: 512.0, h: 17.0}, + sprite48: {x: 0.0, y: 450.0, w: 512.0, h: 17.0}, + sprite49: {x: 0.0, y: 468.0, w: 512.0, h: 17.0}, + sprite50: {x: 0.0, y: 486.0, w: 512.0, h: 17.0}, + sprite51: {x: 0.0, y: 0.0, w: 512.0, h: 32.0}, + sprite52: {x: 0.0, y: 32.0, w: 512.0, h: 32.0}, + sprite53: {x: 0.0, y: 64.0, w: 512.0, h: 32.0}, + sprite54: {x: 0.0, y: 96.0, w: 512.0, h: 32.0}, + sprite55: {x: 0.0, y: 128.0, w: 512.0, h: 32.0}, + sprite56: {x: 0.0, y: 160.0, w: 512.0, h: 32.0}, + sprite57: {x: 0.0, y: 192.0, w: 512.0, h: 32.0}, + sprite58: {x: 0.0, y: 224.0, w: 512.0, h: 32.0}, + sprite59: {x: 0.0, y: 256.0, w: 512.0, h: 32.0}, + sprite60: {x: 0.0, y: 288.0, w: 512.0, h: 32.0}, + sprite61: {x: 0.0, y: 320.0, w: 512.0, h: 32.0}, + sprite62: {x: 0.0, y: 352.0, w: 512.0, h: 32.0}, + sprite63: {x: 0.0, y: 384.0, w: 512.0, h: 32.0}, + sprite64: {x: 0.0, y: 416.0, w: 512.0, h: 32.0}, + sprite65: {x: 0.0, y: 448.0, w: 512.0, h: 32.0}, + sprite66: {x: 0.0, y: 0.0, w: 360.0, h: 19.0}, + sprite67: {x: 0.0, y: 24.0, w: 360.0, h: 19.0}, + sprite68: {x: 0.0, y: 0.0, w: 512.0, h: 22.0}, + sprite69: {x: 0.0, y: 24.0, w: 512.0, h: 22.0}, + sprite70: {x: 0.0, y: 48.0, w: 512.0, h: 22.0}, + }, +} + + +script 0 script0 { + sprite(sprite0); + anchor(1, 1); + pos(48.0, 373.0, 0.0); + layer(19); + alpha(0); + stopHide(); + +interrupt[2]: + scale(1.0, 0.0); + scaleTime(8, 4, 1.0, 1.0); + alphaTime(3, 0, 255); ++3: // 3 + stop(); + +interrupt[3]: + alphaTime(3, 0, 0); + caseReturn(); + +interrupt[1]: + alphaTime(8, 0, 0); ++8: // 11 + delete(); +} + + +script 1 script1 { + sprite(sprite1); + anchor(1, 1); + pos(48.0, 395.0, 0.0); + layer(19); + alpha(0); + stopHide(); + +interrupt[2]: + scale(1.0, 0.0); ++7: // 7 + scaleTime(8, 4, 1.0, 1.0); + alphaTime(3, 0, 255); ++3: // 10 + stop(); + +interrupt[3]: + alphaTime(3, 0, 0); + caseReturn(); + +interrupt[1]: + alphaTime(8, 0, 0); ++8: // 18 + delete(); +} + + +script 2 script2 { + sprite(sprite2); + anchor(1, 1); + pos(48.0, 367.0, 0.0); + layer(19); + alpha(0); + stopHide(); + +interrupt[2]: + color(224, 224, 224); + alpha(0); + alphaTime(3, 0, 255); ++3: // 3 + stop(); + +interrupt[3]: + alphaTime(3, 0, 0); + caseReturn(); + +interrupt[1]: + alphaTime(8, 0, 0); ++8: // 11 + delete(); +} + + +script 3 script3 { + sprite(sprite3); + anchor(1, 1); + pos(48.0, 389.0, 0.0); + layer(19); + alpha(0); + stopHide(); + +interrupt[2]: + color(224, 224, 224); + alpha(0); ++7: // 7 + alphaTime(3, 0, 255); ++3: // 10 + stop(); + +interrupt[3]: + alphaTime(3, 0, 0); + caseReturn(); + +interrupt[1]: + alphaTime(8, 0, 0); ++8: // 18 + delete(); +} + + +script 4 script4 { + sprite(sprite25); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); + wait(I0); + alphaTime(16, 0, 0); ++16: // 17 + delete(); +} + + +script 5 script5 { + sprite(sprite27); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); + wait(I0); + alphaTime(16, 0, 0); ++16: // 17 + delete(); +} + + +script 6 script6 { + sprite(sprite29); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); + wait(I0); + alphaTime(16, 0, 0); ++16: // 17 + delete(); +} + + +script 7 script7 { + sprite(sprite31); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); + wait(I0); + alphaTime(16, 0, 0); ++16: // 17 + delete(); +} + + +script 8 script8 { + sprite(sprite33); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); + wait(I0); + alphaTime(16, 0, 0); ++16: // 17 + delete(); +} + + +script 9 script9 { + sprite(sprite35); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); + wait(I0); + alphaTime(16, 0, 0); ++16: // 17 + delete(); +} + + +script 10 script10 { + sprite(sprite37); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); + wait(I0); + alphaTime(16, 0, 0); ++16: // 17 + delete(); +} + + +script 11 script11 { + sprite(sprite39); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); + wait(I0); + alphaTime(16, 0, 0); ++16: // 17 + delete(); +} + + +script 12 script12 { + sprite(sprite41); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); + wait(I0); + alphaTime(16, 0, 0); ++16: // 17 + delete(); +} + + +script 13 script13 { + sprite(sprite43); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); + wait(I0); + alphaTime(16, 0, 0); ++16: // 17 + delete(); +} + + +script 14 script14 { + sprite(sprite53); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); ++1: // 2 + wait(I0); + alphaTime(16, 0, 0); ++16: // 18 + delete(); +} + + +script 15 script15 { + sprite(sprite54); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); ++1: // 2 + wait(I0); + alphaTime(16, 0, 0); ++16: // 18 + delete(); +} + + +script 16 script16 { + sprite(sprite55); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); ++1: // 2 + wait(I0); + alphaTime(16, 0, 0); ++16: // 18 + delete(); +} + + +script 17 script17 { + sprite(sprite56); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); ++1: // 2 + wait(I0); + alphaTime(16, 0, 0); ++16: // 18 + delete(); +} + + +script 18 script18 { + sprite(sprite57); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); ++1: // 2 + wait(I0); + alphaTime(16, 0, 0); ++16: // 18 + delete(); +} + + +script 19 script19 { + sprite(sprite58); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); ++1: // 2 + wait(I0); + alphaTime(16, 0, 0); ++16: // 18 + delete(); +} + + +script 20 script20 { + sprite(sprite59); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); ++1: // 2 + wait(I0); + alphaTime(16, 0, 0); ++16: // 18 + delete(); +} + + +script 21 script21 { + sprite(sprite60); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); ++1: // 2 + wait(I0); + alphaTime(16, 0, 0); ++16: // 18 + delete(); +} + + +script 22 script22 { + sprite(sprite61); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); ++1: // 2 + wait(I0); + alphaTime(16, 0, 0); ++16: // 18 + delete(); +} + + +script 23 script23 { + sprite(sprite62); + anchor(0, 0); + pos(0.0, 0.0, 0.0); + layer(23); + I0 = 300; + I1 = 255; + alpha(0); ++1: // 1 + alphaTime(8, 0, I1); ++1: // 2 + wait(I0); + alphaTime(16, 0, 0); ++16: // 18 + delete(); +} + + +script 24 script24 { + sprite(sprite23); + pos(320.0, 448.0, 0.0); + +interrupt[1]: + alpha(0); + alphaTime(20, 0, 255); ++20: // 20 + stop(); + +interrupt[2]: + alphaTime(60, 0, 0); ++60: // 80 + stopHide(); +} + + +script 25 script25 { + sprite(sprite25); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 160.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 160.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 26 script26 { + sprite(sprite26); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 178.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 178.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 27 script27 { + sprite(sprite27); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 196.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 196.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 28 script28 { + sprite(sprite28); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 214.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 214.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 29 script29 { + sprite(sprite29); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 232.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 232.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 30 script30 { + sprite(sprite30); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 250.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 250.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 31 script31 { + sprite(sprite31); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 268.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 268.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 32 script32 { + sprite(sprite32); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 286.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 286.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 33 script33 { + sprite(sprite33); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 304.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 304.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 34 script34 { + sprite(sprite34); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 322.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 322.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 35 script35 { + sprite(sprite35); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 340.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 340.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 36 script36 { + sprite(sprite36); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 358.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 358.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 37 script37 { + sprite(sprite37); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 376.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 376.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 38 script38 { + sprite(sprite38); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 394.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 394.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 39 script39 { + sprite(sprite39); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 412.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 412.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 40 script40 { + sprite(sprite40); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 430.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 430.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 41 script41 { + sprite(sprite23); + anchor(1, 1); + pos(64.0, 320.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(0); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 42 script42 { + sprite(sprite24); + anchor(1, 1); + pos(64.0, 338.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(2); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 43 script43 { + sprite(sprite25); + anchor(1, 1); + pos(64.0, 356.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(4); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 44 script44 { + sprite(sprite26); + anchor(1, 1); + pos(64.0, 374.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(6); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 45 script45 { + sprite(sprite27); + anchor(1, 1); + pos(64.0, 392.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(8); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 46 script46 { + sprite(sprite28); + anchor(1, 1); + pos(64.0, 410.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(10); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 47 script47 { + sprite(sprite29); + anchor(1, 1); + pos(64.0, 428.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(12); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 48 script48 { + sprite(sprite30); + anchor(1, 1); + pos(64.0, 446.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(14); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 49 script49 { + sprite(sprite31); + anchor(1, 1); + pos(64.0, 272.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(16); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 50 script50 { + sprite(sprite32); + anchor(1, 1); + pos(64.0, 308.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(18); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 51 script51 { + sprite(sprite33); + anchor(1, 1); + pos(64.0, 328.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(20); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 52 script52 { + sprite(sprite34); + anchor(1, 1); + pos(64.0, 348.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(22); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 53 script53 { + sprite(sprite35); + anchor(1, 1); + pos(64.0, 368.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(24); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 54 script54 { + sprite(sprite36); + anchor(1, 1); + pos(64.0, 388.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(26); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 55 script55 { + sprite(sprite37); + anchor(1, 1); + pos(64.0, 408.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(28); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 56 script56 { + sprite(sprite38); + anchor(1, 1); + pos(64.0, 428.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(30); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 57 script57 { + sprite(sprite39); + anchor(1, 1); + pos(64.0, 448.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(32); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 58 script58 { + sprite(sprite40); + anchor(1, 1); + pos(64.0, 468.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(34); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 59 script59 { + sprite(sprite41); + anchor(1, 1); + pos(64.0, 508.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(36); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 60 script60 { + sprite(sprite42); + anchor(1, 1); + pos(64.0, 528.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(38); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 61 script61 { + sprite(sprite43); + anchor(1, 1); + pos(64.0, 548.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(40); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 62 script62 { + sprite(sprite44); + anchor(1, 1); + pos(64.0, 568.0, 0.0); + layer(23); + resampleMode(1); + stopHide(); + +interrupt[2]: +interrupt[4]: + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + stop(); + +interrupt[3]: + alphaTime(1, 0, 0); + alpha(0); ++60: // 70 + stop(); + +interrupt[5]: + wait(42); + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 63 script63 { + sprite(sprite66); + pos(500.0, 428.0, 0.0); + anchor(2, 1); + color(255, 255, 255); + scale(0.7777778, 0.7777778); + alpha(0); ++10: // 10 + alphaTime(20, 0, 160); + stop(); + +interrupt[1]: + alphaTime(6, 0, 0); ++6: // 16 + delete(); +} + + +script 64 script64 { + sprite(sprite67); + pos(500.0, 444.0, 0.0); + anchor(2, 1); + color(255, 255, 255); + scale(0.7777778, 0.7777778); + alpha(0); ++10: // 10 + alphaTime(20, 0, 160); + stop(); + +interrupt[1]: + alphaTime(6, 0, 0); ++6: // 16 + delete(); +} + + +script 65 script65 { + sprite(sprite68); + layer(23); + pos(32.0, 386.0, 0.0); + anchor(1, 1); + color(255, 255, 255); + alpha(0); + alphaTime(10, 0, 255); + stop(); + +interrupt[1]: + alphaTime(6, 0, 0); ++6: // 6 + delete(); +} + + +script 66 script66 { + sprite(sprite69); + layer(23); + pos(32.0, 409.0, 0.0); + anchor(1, 1); + color(255, 255, 255); + alpha(0); + alphaTime(10, 0, 255); + stop(); + +interrupt[1]: + alphaTime(6, 0, 0); ++6: // 6 + delete(); +} + + +script 67 script67 { + sprite(sprite70); + layer(23); + pos(32.0, 432.0, 0.0); + anchor(1, 1); + color(255, 255, 255); + alpha(0); + alphaTime(10, 0, 255); + stop(); + +interrupt[1]: + alphaTime(6, 0, 0); ++6: // 6 + delete(); +} + + +script 68 script68 { + sprite(sprite23); + anchor(1, 1); + pos(64.0, 384.0, 0.0); + layer(23); + alpha(0); + stopHide(); + +interrupt[2]: + scale(1.0, 0.0); + scaleTime(8, 4, 1.0, 1.0); + alphaTime(3, 0, 255); ++3: // 3 + stop(); + +interrupt[3]: + alphaTime(3, 0, 0); ++3: // 6 + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); ++8: // 14 + delete(); +} + + +script 69 script69 { + sprite(sprite24); + anchor(1, 1); + pos(64.0, 400.0, 0.0); + layer(23); + alpha(0); + stopHide(); + +interrupt[2]: + scale(1.0, 0.0); + scaleTime(8, 4, 1.0, 1.0); + alphaTime(3, 0, 255); ++3: // 3 + stop(); + +interrupt[3]: + alphaTime(3, 0, 0); ++3: // 6 + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); ++8: // 14 + delete(); +} + + +script 70 script70 { + sprite(sprite25); + anchor(1, 1); + pos(64.0, 416.0, 0.0); + layer(23); + alpha(0); + stopHide(); + +interrupt[2]: + scale(1.0, 0.0); + scaleTime(8, 4, 1.0, 1.0); + alphaTime(3, 0, 255); ++3: // 3 + stop(); + +interrupt[3]: + alphaTime(3, 0, 0); ++3: // 6 + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); ++8: // 14 + delete(); +} + + +script 71 script71 { + sprite(sprite26); + anchor(1, 1); + pos(64.0, 432.0, 0.0); + layer(23); + alpha(0); + stopHide(); + +interrupt[2]: + scale(1.0, 0.0); + scaleTime(8, 4, 1.0, 1.0); + alphaTime(3, 0, 255); ++3: // 3 + stop(); + +interrupt[3]: + alphaTime(3, 0, 0); ++3: // 6 + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); ++8: // 14 + delete(); +} + + +script 72 script72 { + sprite(sprite27); + anchor(1, 1); + pos(64.0, 448.0, 0.0); + layer(23); + alpha(0); + stopHide(); + +interrupt[2]: + scale(1.0, 0.0); + scaleTime(8, 4, 1.0, 1.0); + alphaTime(3, 0, 255); ++3: // 3 + stop(); + +interrupt[3]: + alphaTime(3, 0, 0); ++3: // 6 + stop(); + +interrupt[1]: + alphaTime(8, 0, 0); ++8: // 14 + delete(); +} + + +script 73 script73 { + sprite(sprite23); + +interrupt[2]: ++8: // 8 + colorTime(16, 0, 64, 64, 255); + alphaTime(16, 0, 255); ++16: // 24 + stop(); + +interrupt[1]: ++8: // 32 + colorTime(16, 0, 255, 255, 255); + alphaTime(16, 0, 255); ++16: // 48 + stop(); + loop { ++10000: // 10048 + } +} + + +script 74 script74 { + sprite(sprite7); + anchor(2, 1); + layer(19); + alpha(0); + alphaTime(30, 0, 255); + pos(412.0, 400.0, 0.0); + scale(4.0, 4.0); + scaleTime(30, 4, 1.0, 1.0); ++60: // 60 + posTime(60, 10, 412.0, 32.0, 0.0); ++30: // 90 + stop(); + +interrupt[3]: + alphaTime(8, 1, 128); + stop(); + +interrupt[2]: + alphaTime(8, 1, 255); + stop(); + +interrupt[1]: + posTime(30, 4, 676.0, 32.0, 0.0); ++30: // 120 + delete(); +} + + +entry { + path: "@", + has_data: false, + rt_width: 512, + rt_height: 512, + rt_format: FORMAT_RGB_565, + memory_priority: 0, + sprites: { + sprite71: {x: 0.0, y: 0.0, w: 128.0, h: 128.0}, + sprite72: {x: 128.0, y: 0.0, w: 384.0, h: 448.0}, + sprite73: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}, + sprite74: {x: 128.0, y: 0.0, w: 32.0, h: 32.0}, + }, +} + + +script 75 script75 { + sprite(sprite71); + scriptNewUI(script76); + scriptNewUI(script77); + scriptNewUI(script78); + scriptNewUIFront(script79); + ins_85(1); + randMode(1); + pos(224.0, 237.0, 0.0); + anchor(0, 0); + layer(30); + blendMode(1); + scale(3.0, 3.5); + color(224, 64, 64); + alpha(0); + alphaTime(20, 0, 64); ++30: // 30 + stop(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 40 + delete(); +} + + +script 76 script76 { + sprite(sprite71); + ins_85(1); + randMode(1); + pos(221.0, 240.0, 0.0); + anchor(0, 0); + layer(30); + blendMode(1); + scale(3.0, 3.5); + color(224, 64, 64); + alpha(0); + alphaTime(20, 0, 64); ++30: // 30 + stop(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 40 + delete(); +} + + +script 77 script77 { + sprite(sprite71); + ins_85(1); + randMode(1); + pos(227.0, 240.0, 0.0); + anchor(0, 0); + layer(30); + blendMode(1); + scale(3.0, 3.5); + color(224, 64, 64); + alpha(0); + alphaTime(20, 0, 64); ++30: // 30 + stop(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 40 + delete(); +} + + +script 78 script78 { + sprite(sprite71); + ins_85(1); + randMode(1); + pos(224.0, 243.0, 0.0); + anchor(0, 0); + layer(30); + blendMode(1); + scale(3.0, 3.5); + color(224, 64, 64); + alpha(0); + alphaTime(20, 0, 64); ++30: // 30 + stop(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 40 + delete(); +} + + +script 79 script79 { + sprite(sprite72); + ins_85(1); + randMode(1); + pos(224.0, 240.0, 0.0); + anchor(0, 0); + layer(30); + colorTime(20, 0, 64, 64, 64); + alpha(0); ++30: // 30 + stop(); + +interrupt[1]: + alphaTime(10, 0, 0); + colorTime(10, 0, 255, 255, 255); ++10: // 40 + delete(); +} + + +script 80 script80 { + sprite(sprite73); + ins_85(1); + randMode(1); + pos(320.0, 240.0, 0.0); + anchor(0, 0); + layer(23); + scale(1.25, 1.0); + color(255, 255, 255); + alpha(0); ++1: // 1 + alphaTime(10, 0, 255); + colorTime(70, 0, 64, 32, 12); ++30: // 31 + alphaTime(60, 0, 0); ++30: // 61 + stop(); + +interrupt[1]: + alphaTime(30, 0, 0); ++10: // 71 + delete(); +} + + +entry { + path: "@R", + has_data: false, + rt_width: 640, + rt_height: 480, + memory_priority: 0, + sprites: {sprite75: {x: 32.0, y: 16.0, w: 384.0, h: 448.0}}, +} + + +script 81 script81 { + sprite(sprite75); + blendMode(3); + anchor(1, 1); + layer(27); + pos(32.0, 16.0, 0.0); + stop(); + +interrupt[3]: + anchor(0, 0); + pos(224.0, 240.0, 0.0); + scaleTime(120, 4, 2.0, 0.0); ++120: // 120 + stop(); + +interrupt[2]: + anchor(1, 1); + pos(32.0, 16.0, 0.0); + scaleTime(0, 0, 1.0, 1.0); + scale(1.0, 1.0); + stop(); +} + + +entry { + path: "@R", + has_data: false, + rt_width: 640, + rt_height: 480, + memory_priority: 0, + sprites: { + sprite76: {x: 32.0, y: 16.0, w: 384.0, h: 448.0}, + sprite77: {x: 32.0, y: 16.0, w: 384.0, h: 448.0}, + }, +} + + +script 82 script82 { + sprite(sprite76); + blendMode(3); + layer(28); + anchor(1, 1); + pos(32.0, 16.0, 0.0); + stop(); +} + + +script 83 script83 { + scriptNew(script84); + scriptNew(script85); + sprite(sprite77); + anchor(0, 1); + layer(28); + alpha(64); + pos(224.0, 16.0, 0.0); + scale(1.0, 1.0); + scaleTime(60, 4, 1.1, 1.0); + stop(); + +interrupt[1]: + scaleTime(60, 4, 1.0, 1.0); ++60: // 60 + delete(); +} + + +script 84 script84 { + sprite(sprite77); + anchor(0, 1); + layer(28); + alpha(64); + pos(224.0, 16.0, 0.0); + scale(1.0, 1.0); + scaleTime(60, 4, 1.2, 1.0); + stop(); + +interrupt[1]: + scaleTime(60, 4, 1.0, 1.0); ++60: // 60 + delete(); +} + + +script 85 script85 { + sprite(sprite77); + anchor(0, 1); + layer(28); + pos(224.0, 16.0, 0.0); + alpha(64); + scale(1.0, 1.0); + scaleTime(60, 4, 1.3, 1.0); + stop(); + +interrupt[1]: + scaleTime(60, 4, 1.0, 1.0); ++60: // 60 + delete(); +} diff --git a/research/title.tanm b/research/title.tanm new file mode 100644 index 0000000..5a485c7 --- /dev/null +++ b/research/title.tanm @@ -0,0 +1,11510 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "title/title01.png", + img_width: 512, + img_height: 512, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite0: {x: 0.0, y: 0.0, w: 128.0, h: 32.0}, + sprite1: {x: 128.0, y: 0.0, w: 128.0, h: 32.0}, + sprite2: {x: 0.0, y: 32.0, w: 128.0, h: 32.0}, + sprite3: {x: 128.0, y: 32.0, w: 128.0, h: 32.0}, + sprite4: {x: 0.0, y: 64.0, w: 128.0, h: 32.0}, + sprite5: {x: 128.0, y: 64.0, w: 128.0, h: 32.0}, + sprite6: {x: 0.0, y: 96.0, w: 128.0, h: 32.0}, + sprite7: {x: 128.0, y: 96.0, w: 128.0, h: 32.0}, + sprite8: {x: 0.0, y: 128.0, w: 128.0, h: 32.0}, + sprite9: {x: 128.0, y: 128.0, w: 128.0, h: 32.0}, + sprite10: {x: 0.0, y: 160.0, w: 128.0, h: 32.0}, + sprite11: {x: 128.0, y: 160.0, w: 128.0, h: 32.0}, + sprite12: {x: 0.0, y: 192.0, w: 128.0, h: 32.0}, + sprite13: {x: 128.0, y: 192.0, w: 128.0, h: 32.0}, + sprite14: {x: 0.0, y: 224.0, w: 128.0, h: 32.0}, + sprite15: {x: 128.0, y: 224.0, w: 128.0, h: 32.0}, + sprite16: {x: 0.0, y: 224.0, w: 128.0, h: 32.0}, + sprite17: {x: 128.0, y: 224.0, w: 128.0, h: 32.0}, + sprite18: {x: 0.0, y: 224.0, w: 128.0, h: 32.0}, + sprite19: {x: 128.0, y: 224.0, w: 128.0, h: 32.0}, + sprite20: {x: 0.0, y: 256.0, w: 128.0, h: 32.0}, + sprite21: {x: 128.0, y: 256.0, w: 128.0, h: 32.0}, + sprite22: {x: 0.0, y: 288.0, w: 128.0, h: 32.0}, + sprite23: {x: 128.0, y: 288.0, w: 128.0, h: 32.0}, + sprite24: {x: 0.0, y: 320.0, w: 128.0, h: 32.0}, + sprite25: {x: 128.0, y: 320.0, w: 128.0, h: 32.0}, + sprite26: {x: 0.0, y: 352.0, w: 128.0, h: 32.0}, + sprite27: {x: 128.0, y: 352.0, w: 128.0, h: 32.0}, + sprite28: {x: 256.0, y: 0.0, w: 128.0, h: 32.0}, + sprite29: {x: 384.0, y: 0.0, w: 128.0, h: 32.0}, + sprite30: {x: 256.0, y: 32.0, w: 128.0, h: 32.0}, + sprite31: {x: 384.0, y: 32.0, w: 128.0, h: 32.0}, + sprite32: {x: 256.0, y: 64.0, w: 128.0, h: 32.0}, + sprite33: {x: 384.0, y: 64.0, w: 128.0, h: 32.0}, + sprite34: {x: 256.0, y: 96.0, w: 128.0, h: 32.0}, + sprite35: {x: 384.0, y: 96.0, w: 128.0, h: 32.0}, + sprite36: {x: 256.0, y: 128.0, w: 128.0, h: 32.0}, + sprite37: {x: 384.0, y: 128.0, w: 128.0, h: 32.0}, + sprite38: {x: 256.0, y: 160.0, w: 128.0, h: 32.0}, + sprite39: {x: 384.0, y: 160.0, w: 128.0, h: 32.0}, + sprite40: {x: 256.0, y: 192.0, w: 128.0, h: 32.0}, + sprite41: {x: 384.0, y: 192.0, w: 128.0, h: 32.0}, + sprite42: {x: 1.0, y: 481.0, w: 16.0, h: 30.0}, + sprite43: {x: 19.0, y: 481.0, w: 16.0, h: 30.0}, + sprite44: {x: 37.0, y: 481.0, w: 16.0, h: 30.0}, + sprite45: {x: 55.0, y: 481.0, w: 16.0, h: 30.0}, + sprite46: {x: 73.0, y: 481.0, w: 16.0, h: 30.0}, + sprite47: {x: 91.0, y: 481.0, w: 16.0, h: 30.0}, + sprite48: {x: 109.0, y: 481.0, w: 16.0, h: 30.0}, + sprite49: {x: 127.0, y: 481.0, w: 16.0, h: 30.0}, + sprite50: {x: 145.0, y: 481.0, w: 16.0, h: 30.0}, + sprite51: {x: 163.0, y: 481.0, w: 16.0, h: 30.0}, + sprite52: {x: 181.0, y: 481.0, w: 16.0, h: 30.0}, + sprite53: {x: 199.0, y: 481.0, w: 16.0, h: 30.0}, + sprite54: {x: 217.0, y: 481.0, w: 16.0, h: 30.0}, + sprite55: {x: 235.0, y: 481.0, w: 16.0, h: 30.0}, + sprite56: {x: 253.0, y: 481.0, w: 16.0, h: 30.0}, + sprite57: {x: 271.0, y: 481.0, w: 16.0, h: 30.0}, + sprite58: {x: 289.0, y: 481.0, w: 16.0, h: 30.0}, + sprite59: {x: 307.0, y: 481.0, w: 16.0, h: 30.0}, + sprite60: {x: 325.0, y: 481.0, w: 16.0, h: 30.0}, + sprite61: {x: 343.0, y: 481.0, w: 16.0, h: 30.0}, + sprite62: {x: 361.0, y: 481.0, w: 22.0, h: 30.0}, + sprite63: {x: 385.0, y: 481.0, w: 30.0, h: 30.0}, + }, +} + + +script 0 script0 { + ins_85(1); + randMode(1); + alpha(0); + pos(480.0, 256.0, 0.0); + scriptNew(script3); + scriptNew(script4); + scriptNew(script5); + scriptNew(script6); + scriptNew(script7); + scriptNew(script8); + scriptNew(script9); + scriptNew(script10); + scriptNew(script11); + scriptNew(script12); + scriptNew(script13); + scriptNew(script14); + scriptNew(script15); + scriptNew(script16); + scriptNew(script17); + scriptNew(script18); + loop { ++10: // 10 + } + +interrupt[1]: ++20: // 30 + delete(); +} + + +script 1 script1 { + ins_85(1); + randMode(1); + alpha(0); + pos(448.0, 304.0, 0.0); + scriptNew(script19); + scriptNew(script20); + scriptNew(script21); + scriptNew(script22); + scriptNew(script23); + scriptNew(script29); + scriptNew(script30); + scriptNew(script31); + scriptNew(script32); + scriptNew(script37); + scriptNew(script38); + scriptNew(script39); + scriptNew(script40); + scriptNew(script24); + scriptNew(script25); + scriptNew(script26); + scriptNew(script27); + scriptNew(script28); + scriptNew(script41); + scriptNew(script42); + scriptNew(script43); + scriptNew(script44); + scriptNew(script33); + scriptNew(script34); + scriptNew(script35); + scriptNew(script36); + loop { ++10: // 10 + } + +interrupt[1]: ++20: // 30 + delete(); +} + + +script 2 script2 { + ins_85(1); + randMode(1); + alpha(0); + pos(480.0, 280.0, 0.0); + scriptNew(script45); + scriptNew(script46); + scriptNew(script47); + scriptNew(script48); + scriptNew(script49); + scriptNew(script50); + scriptNew(script51); + scriptNew(script52); + scriptNew(script53); + scriptNew(script54); + scriptNew(script55); + scriptNew(script56); + scriptNew(script57); + scriptNew(script58); + scriptNew(script59); + scriptNew(script60); + scriptNew(script61); + scriptNew(script62); + scriptNew(script63); + scriptNew(script64); + scriptNew(script65); + scriptNew(script66); + scriptNew(script67); + scriptNew(script68); + scriptNew(script69); + scriptNew(script70); + scriptNew(script71); + scriptNew(script72); + scriptNew(script73); + scriptNew(script74); + scriptNew(script75); + scriptNew(script76); + scriptNew(script77); + scriptNew(script78); + loop { ++10: // 10 + } + +interrupt[1]: ++20: // 30 + delete(); +} + + +script 3 script3 { + sprite(sprite0); + ins_85(1); + randMode(1); + pos(64.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 160, 160); + posTime(15, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[7]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 0.0, 0.0); ++2: // 2 + posTime(2, 4, -2.0, 0.0, 0.0); ++2: // 4 + posTime(2, 4, -7.0, 0.0, 0.0); ++2: // 6 + posTime(2, 4, -4.0, 0.0, 0.0); + +interrupt[17]: + posTime(4, 4, -4.0, 0.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 255, 160, 160); ++20: // 26 + colorTime(20, 9, 255, 255, 255); ++20: // 46 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 48 + color(255, 255, 255); ++2: // 50 + color(64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 106 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 126 + delete(); +} + + +script 4 script4 { + sprite(sprite2); + ins_85(1); + randMode(1); + pos(64.0, 24.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 160, 160); ++2: // 2 + posTime(15, 4, 0.0, 24.0, 0.0); + stop(); + +interrupt[8]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 24.0, 0.0); ++2: // 4 + posTime(2, 4, -2.0, 24.0, 0.0); ++2: // 6 + posTime(2, 4, -7.0, 24.0, 0.0); ++2: // 8 + posTime(2, 4, -4.0, 24.0, 0.0); + +interrupt[18]: + posTime(4, 4, -4.0, 24.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 255, 160, 160); ++20: // 28 + colorTime(20, 9, 255, 255, 255); ++20: // 48 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); + posTime(20, 4, 64.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 108 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 128 + delete(); +} + + +script 5 script5 { + sprite(sprite4); + ins_85(1); + randMode(1); + pos(64.0, 48.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 160, 160); ++4: // 4 + posTime(15, 4, 0.0, 48.0, 0.0); + stop(); + +interrupt[9]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 48.0, 0.0); ++2: // 6 + posTime(2, 4, -2.0, 48.0, 0.0); ++2: // 8 + posTime(2, 4, -7.0, 48.0, 0.0); ++2: // 10 + posTime(2, 4, -4.0, 48.0, 0.0); + +interrupt[19]: + posTime(4, 4, -4.0, 48.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 255, 160, 160); ++20: // 30 + colorTime(20, 9, 255, 255, 255); ++20: // 50 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 48.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); ++2: // 88 + color(64, 64, 64); ++2: // 90 + color(255, 255, 255); + posTime(20, 4, 64.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 110 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 130 + delete(); +} + + +script 6 script6 { + sprite(sprite6); + ins_85(1); + randMode(1); + pos(64.0, 72.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 160, 160); ++6: // 6 + posTime(15, 4, 0.0, 72.0, 0.0); + stop(); + +interrupt[10]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 72.0, 0.0); ++2: // 8 + posTime(2, 4, -2.0, 72.0, 0.0); ++2: // 10 + posTime(2, 4, -7.0, 72.0, 0.0); ++2: // 12 + posTime(2, 4, -4.0, 72.0, 0.0); + +interrupt[20]: + posTime(4, 4, -4.0, 72.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 255, 160, 160); ++20: // 32 + colorTime(20, 9, 255, 255, 255); ++20: // 52 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 72.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); + posTime(20, 4, 64.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 112 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 132 + delete(); +} + + +script 7 script7 { + sprite(sprite8); + ins_85(1); + randMode(1); + pos(64.0, 96.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 160, 160); ++8: // 8 + posTime(15, 4, 0.0, 96.0, 0.0); + stop(); + +interrupt[11]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 96.0, 0.0); ++2: // 10 + posTime(2, 4, -2.0, 96.0, 0.0); ++2: // 12 + posTime(2, 4, -7.0, 96.0, 0.0); ++2: // 14 + posTime(2, 4, -4.0, 96.0, 0.0); + +interrupt[21]: + posTime(4, 4, -4.0, 96.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 255, 160, 160); ++20: // 34 + colorTime(20, 9, 255, 255, 255); ++20: // 54 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 96.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); ++2: // 88 + color(64, 64, 64); ++2: // 90 + color(255, 255, 255); ++2: // 92 + color(64, 64, 64); ++2: // 94 + color(255, 255, 255); + posTime(20, 4, 64.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 114 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 134 + delete(); +} + + +script 8 script8 { + sprite(sprite10); + ins_85(1); + randMode(1); + pos(64.0, 120.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 160, 160); ++10: // 10 + posTime(15, 4, 0.0, 120.0, 0.0); + stop(); + +interrupt[12]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 120.0, 0.0); ++2: // 12 + posTime(2, 4, -2.0, 120.0, 0.0); ++2: // 14 + posTime(2, 4, -7.0, 120.0, 0.0); ++2: // 16 + posTime(2, 4, -4.0, 120.0, 0.0); + +interrupt[22]: + posTime(4, 4, -4.0, 120.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 255, 160, 160); ++20: // 36 + colorTime(20, 9, 255, 255, 255); ++20: // 56 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 120.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); + posTime(20, 4, 64.0, 120.0, 0.0); + alphaTime(20, 0, 0); ++20: // 116 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 120.0, 0.0); + alphaTime(20, 0, 0); ++20: // 136 + delete(); +} + + +script 9 script9 { + sprite(sprite12); + ins_85(1); + randMode(1); + pos(64.0, 144.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 160, 160); ++12: // 12 + posTime(15, 4, 0.0, 144.0, 0.0); + stop(); + +interrupt[13]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 144.0, 0.0); ++2: // 14 + posTime(2, 4, -2.0, 144.0, 0.0); ++2: // 16 + posTime(2, 4, -7.0, 144.0, 0.0); ++2: // 18 + posTime(2, 4, -4.0, 144.0, 0.0); + +interrupt[23]: + posTime(4, 4, -4.0, 144.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 255, 160, 160); ++20: // 38 + colorTime(20, 9, 255, 255, 255); ++20: // 58 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 144.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); ++2: // 88 + color(64, 64, 64); ++2: // 90 + color(255, 255, 255); ++2: // 92 + color(64, 64, 64); ++2: // 94 + color(255, 255, 255); ++2: // 96 + color(64, 64, 64); ++2: // 98 + color(255, 255, 255); + posTime(20, 4, 64.0, 144.0, 0.0); + alphaTime(20, 0, 0); ++20: // 118 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 144.0, 0.0); + alphaTime(20, 0, 0); ++20: // 138 + delete(); +} + + +script 10 script10 { + sprite(sprite14); + ins_85(1); + randMode(1); + pos(64.0, 168.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 160, 160); ++14: // 14 + posTime(15, 4, 0.0, 168.0, 0.0); + stop(); + +interrupt[14]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 168.0, 0.0); ++2: // 16 + posTime(2, 4, -2.0, 168.0, 0.0); ++2: // 18 + posTime(2, 4, -7.0, 168.0, 0.0); ++2: // 20 + posTime(2, 4, -4.0, 168.0, 0.0); + +interrupt[24]: + posTime(4, 4, -4.0, 168.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 255, 160, 160); ++20: // 40 + colorTime(20, 9, 255, 255, 255); ++20: // 60 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 168.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); ++2: // 98 + color(64, 64, 64); ++2: // 100 + color(255, 255, 255); + posTime(20, 4, 64.0, 168.0, 0.0); + alphaTime(20, 0, 0); ++20: // 120 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 168.0, 0.0); + alphaTime(20, 0, 0); ++20: // 140 + delete(); +} + + +script 11 script11 { + sprite(sprite1); + ins_85(1); + randMode(1); + pos(64.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 160, 160); + posTime(15, 4, 0.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 0.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: +interrupt[17]: + posTime(5, 4, 0.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 10 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 30 + delete(); +} + + +script 12 script12 { + sprite(sprite3); + ins_85(1); + randMode(1); + pos(64.0, 24.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 160, 160); ++2: // 2 + posTime(15, 4, 0.0, 24.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 24.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[8]: +interrupt[18]: + posTime(5, 4, 0.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 12 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 32 + delete(); +} + + +script 13 script13 { + sprite(sprite5); + ins_85(1); + randMode(1); + pos(64.0, 48.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 160, 160); ++4: // 4 + posTime(15, 4, 0.0, 48.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 48.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[9]: +interrupt[19]: + posTime(5, 4, 0.0, 48.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 14 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 34 + delete(); +} + + +script 14 script14 { + sprite(sprite7); + ins_85(1); + randMode(1); + pos(64.0, 72.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 160, 160); ++6: // 6 + posTime(15, 4, 0.0, 72.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 72.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[10]: +interrupt[20]: + posTime(5, 4, 0.0, 72.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 16 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 36 + delete(); +} + + +script 15 script15 { + sprite(sprite9); + ins_85(1); + randMode(1); + pos(64.0, 96.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 160, 160); ++8: // 8 + posTime(15, 4, 0.0, 96.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 96.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[11]: +interrupt[21]: + posTime(5, 4, 0.0, 96.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 18 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 38 + delete(); +} + + +script 16 script16 { + sprite(sprite11); + ins_85(1); + randMode(1); + pos(64.0, 120.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 160, 160); ++10: // 10 + posTime(15, 4, 0.0, 120.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 120.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[12]: +interrupt[22]: + posTime(5, 4, 0.0, 120.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 20 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 120.0, 0.0); + alphaTime(20, 0, 0); ++20: // 40 + delete(); +} + + +script 17 script17 { + sprite(sprite13); + ins_85(1); + randMode(1); + pos(64.0, 144.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 160, 160); ++12: // 12 + posTime(15, 4, 0.0, 144.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 144.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[13]: +interrupt[23]: + posTime(5, 4, 0.0, 144.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 22 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 144.0, 0.0); + alphaTime(20, 0, 0); ++20: // 42 + delete(); +} + + +script 18 script18 { + sprite(sprite15); + ins_85(1); + randMode(1); + pos(64.0, 168.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 160, 160); ++14: // 14 + posTime(15, 4, 0.0, 168.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 160, 160); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 168.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[14]: +interrupt[24]: + posTime(5, 4, 0.0, 168.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 24 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 168.0, 0.0); + alphaTime(20, 0, 0); ++20: // 44 + delete(); +} + + +script 19 script19 { + sprite(sprite20); + ins_85(1); + randMode(1); + pos(64.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); + posTime(15, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[7]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 0.0, 0.0); ++2: // 2 + posTime(2, 4, -2.0, 0.0, 0.0); ++2: // 4 + posTime(2, 4, -7.0, 0.0, 0.0); ++2: // 6 + posTime(2, 4, -4.0, 0.0, 0.0); + +interrupt[17]: + posTime(4, 4, -4.0, 0.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 26 + colorTime(20, 9, 255, 255, 255); ++20: // 46 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 48 + color(255, 255, 255); ++2: // 50 + color(64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 106 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 126 + delete(); +} + + +script 20 script20 { + sprite(sprite22); + ins_85(1); + randMode(1); + pos(64.0, 24.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); ++2: // 2 + posTime(15, 4, 0.0, 24.0, 0.0); + stop(); + +interrupt[8]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 24.0, 0.0); ++2: // 4 + posTime(2, 4, -2.0, 24.0, 0.0); ++2: // 6 + posTime(2, 4, -7.0, 24.0, 0.0); ++2: // 8 + posTime(2, 4, -4.0, 24.0, 0.0); + +interrupt[18]: + posTime(4, 4, -4.0, 24.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 28 + colorTime(20, 9, 255, 255, 255); ++20: // 48 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); + posTime(20, 4, 64.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 108 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 128 + delete(); +} + + +script 21 script21 { + sprite(sprite26); + ins_85(1); + randMode(1); + pos(64.0, 48.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); ++4: // 4 + posTime(15, 4, 0.0, 48.0, 0.0); + stop(); + +interrupt[9]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 48.0, 0.0); ++2: // 6 + posTime(2, 4, -2.0, 48.0, 0.0); ++2: // 8 + posTime(2, 4, -7.0, 48.0, 0.0); ++2: // 10 + posTime(2, 4, -4.0, 48.0, 0.0); + +interrupt[19]: + posTime(4, 4, -4.0, 48.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 30 + colorTime(20, 9, 255, 255, 255); ++20: // 50 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 48.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); ++2: // 88 + color(64, 64, 64); ++2: // 90 + color(255, 255, 255); + posTime(20, 4, 64.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 110 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 130 + delete(); +} + + +script 22 script22 { + sprite(sprite24); + ins_85(1); + randMode(1); + pos(64.0, 72.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); ++6: // 6 + posTime(15, 4, 0.0, 72.0, 0.0); + stop(); + +interrupt[10]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 72.0, 0.0); ++2: // 8 + posTime(2, 4, -2.0, 72.0, 0.0); ++2: // 10 + posTime(2, 4, -7.0, 72.0, 0.0); ++2: // 12 + posTime(2, 4, -4.0, 72.0, 0.0); + +interrupt[20]: + posTime(4, 4, -4.0, 72.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 32 + colorTime(20, 9, 255, 255, 255); ++20: // 52 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 72.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); + posTime(20, 4, 64.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 112 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 132 + delete(); +} + + +script 23 script23 { + sprite(sprite16); + ins_85(1); + randMode(1); + pos(64.0, 96.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); ++8: // 8 + posTime(15, 4, 0.0, 96.0, 0.0); + stop(); + +interrupt[11]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 96.0, 0.0); ++2: // 10 + posTime(2, 4, -2.0, 96.0, 0.0); ++2: // 12 + posTime(2, 4, -7.0, 96.0, 0.0); ++2: // 14 + posTime(2, 4, -4.0, 96.0, 0.0); + +interrupt[21]: + posTime(4, 4, -4.0, 96.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 34 + colorTime(20, 9, 255, 255, 255); ++20: // 54 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 96.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); ++2: // 88 + color(64, 64, 64); ++2: // 90 + color(255, 255, 255); ++2: // 92 + color(64, 64, 64); ++2: // 94 + color(255, 255, 255); + posTime(20, 4, 64.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 114 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 134 + delete(); +} + + +script 24 script24 { + sprite(sprite21); + ins_85(1); + randMode(1); + pos(64.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); + posTime(15, 4, 0.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 0.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: +interrupt[17]: + posTime(5, 4, 0.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 10 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 30 + delete(); +} + + +script 25 script25 { + sprite(sprite23); + ins_85(1); + randMode(1); + pos(64.0, 24.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); ++2: // 2 + posTime(15, 4, 0.0, 24.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 24.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[8]: +interrupt[18]: + posTime(5, 4, 0.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 12 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 32 + delete(); +} + + +script 26 script26 { + sprite(sprite27); + ins_85(1); + randMode(1); + pos(64.0, 48.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); ++4: // 4 + posTime(15, 4, 0.0, 48.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 48.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[9]: +interrupt[19]: + posTime(5, 4, 0.0, 48.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 14 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 34 + delete(); +} + + +script 27 script27 { + sprite(sprite25); + ins_85(1); + randMode(1); + pos(64.0, 72.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); ++6: // 6 + posTime(15, 4, 0.0, 72.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 72.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[10]: +interrupt[20]: + posTime(5, 4, 0.0, 72.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 16 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 36 + delete(); +} + + +script 28 script28 { + sprite(sprite17); + ins_85(1); + randMode(1); + pos(64.0, 96.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); ++8: // 8 + posTime(15, 4, 0.0, 96.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 96.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[11]: +interrupt[21]: + posTime(5, 4, 0.0, 96.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 18 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 38 + delete(); +} + + +script 29 script29 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(184.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); + posTime(15, 4, 120.0, 0.0, 0.0); + stop(); + +interrupt[7]: + alphaTime(5, 4, 255); + posTime(2, 4, 116.0, 0.0, 0.0); ++2: // 2 + posTime(2, 4, 118.0, 0.0, 0.0); ++2: // 4 + posTime(2, 4, 113.0, 0.0, 0.0); ++2: // 6 + posTime(2, 4, 116.0, 0.0, 0.0); + +interrupt[17]: + posTime(4, 4, 116.0, 0.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 26 + colorTime(20, 9, 255, 255, 255); ++20: // 46 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 48 + color(255, 255, 255); ++2: // 50 + color(64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 120.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); + posTime(20, 4, 184.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 106 + delete(); + +interrupt[1]: + posTime(20, 4, 184.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 126 + delete(); +} + + +script 30 script30 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(199.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); + posTime(15, 4, 135.0, 0.0, 0.0); + stop(); + +interrupt[7]: + alphaTime(5, 4, 255); + posTime(2, 4, 131.0, 0.0, 0.0); ++2: // 2 + posTime(2, 4, 133.0, 0.0, 0.0); ++2: // 4 + posTime(2, 4, 128.0, 0.0, 0.0); ++2: // 6 + posTime(2, 4, 131.0, 0.0, 0.0); + +interrupt[17]: + posTime(4, 4, 131.0, 0.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 26 + colorTime(20, 9, 255, 255, 255); ++20: // 46 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 48 + color(255, 255, 255); ++2: // 50 + color(64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 135.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); + posTime(20, 4, 199.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 106 + delete(); + +interrupt[1]: + posTime(20, 4, 199.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 126 + delete(); +} + + +script 31 script31 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(214.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); + posTime(15, 4, 150.0, 0.0, 0.0); + stop(); + +interrupt[7]: + alphaTime(5, 4, 255); + posTime(2, 4, 146.0, 0.0, 0.0); ++2: // 2 + posTime(2, 4, 148.0, 0.0, 0.0); ++2: // 4 + posTime(2, 4, 143.0, 0.0, 0.0); ++2: // 6 + posTime(2, 4, 146.0, 0.0, 0.0); + +interrupt[17]: + posTime(4, 4, 146.0, 0.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 26 + colorTime(20, 9, 255, 255, 255); ++20: // 46 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 48 + color(255, 255, 255); ++2: // 50 + color(64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 150.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); + posTime(20, 4, 214.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 106 + delete(); + +interrupt[1]: + posTime(20, 4, 214.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 126 + delete(); +} + + +script 32 script32 { + sprite(sprite62); + ins_85(1); + randMode(1); + pos(229.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); + posTime(15, 4, 165.0, 0.0, 0.0); + stop(); + +interrupt[7]: + alphaTime(5, 4, 255); + posTime(2, 4, 161.0, 0.0, 0.0); ++2: // 2 + posTime(2, 4, 163.0, 0.0, 0.0); ++2: // 4 + posTime(2, 4, 158.0, 0.0, 0.0); ++2: // 6 + posTime(2, 4, 161.0, 0.0, 0.0); + +interrupt[17]: + posTime(4, 4, 161.0, 0.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 26 + colorTime(20, 9, 255, 255, 255); ++20: // 46 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 48 + color(255, 255, 255); ++2: // 50 + color(64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 165.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); + posTime(20, 4, 229.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 106 + delete(); + +interrupt[1]: + posTime(20, 4, 229.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 126 + delete(); +} + + +script 33 script33 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(184.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); + posTime(15, 4, 120.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 116.0, 0.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: +interrupt[17]: + posTime(5, 4, 120.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 10 + nop(); + +interrupt[1]: + posTime(20, 4, 184.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 30 + delete(); +} + + +script 34 script34 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(199.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); + posTime(15, 4, 135.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 131.0, 0.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: +interrupt[17]: + posTime(5, 4, 135.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 10 + nop(); + +interrupt[1]: + posTime(20, 4, 199.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 30 + delete(); +} + + +script 35 script35 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(214.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); + posTime(15, 4, 150.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 146.0, 0.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: +interrupt[17]: + posTime(5, 4, 150.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 10 + nop(); + +interrupt[1]: + posTime(20, 4, 214.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 30 + delete(); +} + + +script 36 script36 { + sprite(sprite63); + ins_85(1); + randMode(1); + pos(229.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); + posTime(15, 4, 165.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 161.0, 0.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: +interrupt[17]: + posTime(5, 4, 165.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 10 + nop(); + +interrupt[1]: + posTime(20, 4, 229.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 30 + delete(); +} + + +script 37 script37 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(184.0, 24.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); ++2: // 2 + posTime(15, 4, 120.0, 24.0, 0.0); + stop(); + +interrupt[8]: + alphaTime(5, 4, 255); + posTime(2, 4, 116.0, 24.0, 0.0); ++2: // 4 + posTime(2, 4, 118.0, 24.0, 0.0); ++2: // 6 + posTime(2, 4, 113.0, 24.0, 0.0); ++2: // 8 + posTime(2, 4, 116.0, 24.0, 0.0); + +interrupt[18]: + posTime(4, 4, 116.0, 24.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 28 + colorTime(20, 9, 255, 255, 255); ++20: // 48 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 120.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); + posTime(20, 4, 184.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 108 + delete(); + +interrupt[1]: + posTime(20, 4, 184.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 128 + delete(); +} + + +script 38 script38 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(199.0, 24.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); ++2: // 2 + posTime(15, 4, 135.0, 24.0, 0.0); + stop(); + +interrupt[8]: + alphaTime(5, 4, 255); + posTime(2, 4, 131.0, 24.0, 0.0); ++2: // 4 + posTime(2, 4, 133.0, 24.0, 0.0); ++2: // 6 + posTime(2, 4, 128.0, 24.0, 0.0); ++2: // 8 + posTime(2, 4, 131.0, 24.0, 0.0); + +interrupt[18]: + posTime(4, 4, 131.0, 24.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 28 + colorTime(20, 9, 255, 255, 255); ++20: // 48 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 135.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); + posTime(20, 4, 199.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 108 + delete(); + +interrupt[1]: + posTime(20, 4, 199.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 128 + delete(); +} + + +script 39 script39 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(214.0, 24.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); ++2: // 2 + posTime(15, 4, 150.0, 24.0, 0.0); + stop(); + +interrupt[8]: + alphaTime(5, 4, 255); + posTime(2, 4, 146.0, 24.0, 0.0); ++2: // 4 + posTime(2, 4, 148.0, 24.0, 0.0); ++2: // 6 + posTime(2, 4, 143.0, 24.0, 0.0); ++2: // 8 + posTime(2, 4, 146.0, 24.0, 0.0); + +interrupt[18]: + posTime(4, 4, 146.0, 24.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 28 + colorTime(20, 9, 255, 255, 255); ++20: // 48 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 150.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); + posTime(20, 4, 214.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 108 + delete(); + +interrupt[1]: + posTime(20, 4, 214.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 128 + delete(); +} + + +script 40 script40 { + sprite(sprite62); + ins_85(1); + randMode(1); + pos(229.0, 24.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 192, 255); ++2: // 2 + posTime(15, 4, 165.0, 24.0, 0.0); + stop(); + +interrupt[8]: + alphaTime(5, 4, 255); + posTime(2, 4, 161.0, 24.0, 0.0); ++2: // 4 + posTime(2, 4, 163.0, 24.0, 0.0); ++2: // 6 + posTime(2, 4, 158.0, 24.0, 0.0); ++2: // 8 + posTime(2, 4, 161.0, 24.0, 0.0); + +interrupt[18]: + posTime(4, 4, 161.0, 24.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 192, 255); ++20: // 28 + colorTime(20, 9, 255, 255, 255); ++20: // 48 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 165.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); + posTime(20, 4, 229.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 108 + delete(); + +interrupt[1]: + posTime(20, 4, 229.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 128 + delete(); +} + + +script 41 script41 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(184.0, 24.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); ++2: // 2 + posTime(15, 4, 120.0, 24.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 116.0, 24.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[8]: +interrupt[18]: + posTime(5, 4, 120.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 12 + nop(); + +interrupt[1]: + posTime(20, 4, 184.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 32 + delete(); +} + + +script 42 script42 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(199.0, 24.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); ++2: // 2 + posTime(15, 4, 135.0, 24.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 131.0, 24.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[8]: +interrupt[18]: + posTime(5, 4, 135.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 12 + nop(); + +interrupt[1]: + posTime(20, 4, 199.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 32 + delete(); +} + + +script 43 script43 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(214.0, 24.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); ++2: // 2 + posTime(15, 4, 150.0, 24.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 146.0, 24.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[8]: +interrupt[18]: + posTime(5, 4, 150.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 12 + nop(); + +interrupt[1]: + posTime(20, 4, 214.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 32 + delete(); +} + + +script 44 script44 { + sprite(sprite63); + ins_85(1); + randMode(1); + pos(229.0, 24.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 192, 255); ++2: // 2 + posTime(15, 4, 165.0, 24.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 192, 255); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 161.0, 24.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[8]: +interrupt[18]: + posTime(5, 4, 165.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 12 + nop(); + +interrupt[1]: + posTime(20, 4, 229.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 32 + delete(); +} + + +script 45 script45 { + sprite(sprite28); + ins_85(1); + randMode(1); + pos(64.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); + posTime(15, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[7]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 0.0, 0.0); ++2: // 2 + posTime(2, 4, -2.0, 0.0, 0.0); ++2: // 4 + posTime(2, 4, -7.0, 0.0, 0.0); ++2: // 6 + posTime(2, 4, -4.0, 0.0, 0.0); + +interrupt[17]: + posTime(4, 4, -4.0, 0.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 26 + colorTime(20, 9, 255, 255, 255); ++20: // 46 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 48 + color(255, 255, 255); ++2: // 50 + color(64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 106 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 126 + delete(); +} + + +script 46 script46 { + sprite(sprite30); + ins_85(1); + randMode(1); + pos(64.0, 24.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++2: // 2 + posTime(15, 4, 0.0, 24.0, 0.0); + stop(); + +interrupt[8]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 24.0, 0.0); ++2: // 4 + posTime(2, 4, -2.0, 24.0, 0.0); ++2: // 6 + posTime(2, 4, -7.0, 24.0, 0.0); ++2: // 8 + posTime(2, 4, -4.0, 24.0, 0.0); + +interrupt[18]: + posTime(4, 4, -4.0, 24.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 28 + colorTime(20, 9, 255, 255, 255); ++20: // 48 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); + posTime(20, 4, 64.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 108 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 128 + delete(); +} + + +script 47 script47 { + sprite(sprite32); + ins_85(1); + randMode(1); + pos(64.0, 48.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++4: // 4 + posTime(15, 4, 0.0, 48.0, 0.0); + stop(); + +interrupt[9]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 48.0, 0.0); ++2: // 6 + posTime(2, 4, -2.0, 48.0, 0.0); ++2: // 8 + posTime(2, 4, -7.0, 48.0, 0.0); ++2: // 10 + posTime(2, 4, -4.0, 48.0, 0.0); + +interrupt[19]: + posTime(4, 4, -4.0, 48.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 30 + colorTime(20, 9, 255, 255, 255); ++20: // 50 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 48.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); ++2: // 88 + color(64, 64, 64); ++2: // 90 + color(255, 255, 255); + posTime(20, 4, 64.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 110 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 130 + delete(); +} + + +script 48 script48 { + sprite(sprite34); + ins_85(1); + randMode(1); + pos(64.0, 72.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++6: // 6 + posTime(15, 4, 0.0, 72.0, 0.0); + stop(); + +interrupt[10]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 72.0, 0.0); ++2: // 8 + posTime(2, 4, -2.0, 72.0, 0.0); ++2: // 10 + posTime(2, 4, -7.0, 72.0, 0.0); ++2: // 12 + posTime(2, 4, -4.0, 72.0, 0.0); + +interrupt[20]: + posTime(4, 4, -4.0, 72.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 32 + colorTime(20, 9, 255, 255, 255); ++20: // 52 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 72.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); + posTime(20, 4, 64.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 112 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 132 + delete(); +} + + +script 49 script49 { + sprite(sprite36); + ins_85(1); + randMode(1); + pos(64.0, 96.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++8: // 8 + posTime(15, 4, 0.0, 96.0, 0.0); + stop(); + +interrupt[11]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 96.0, 0.0); ++2: // 10 + posTime(2, 4, -2.0, 96.0, 0.0); ++2: // 12 + posTime(2, 4, -7.0, 96.0, 0.0); ++2: // 14 + posTime(2, 4, -4.0, 96.0, 0.0); + +interrupt[21]: + posTime(4, 4, -4.0, 96.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 34 + colorTime(20, 9, 255, 255, 255); ++20: // 54 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 96.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); ++2: // 88 + color(64, 64, 64); ++2: // 90 + color(255, 255, 255); ++2: // 92 + color(64, 64, 64); ++2: // 94 + color(255, 255, 255); + posTime(20, 4, 64.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 114 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 134 + delete(); +} + + +script 50 script50 { + sprite(sprite24); + ins_85(1); + randMode(1); + pos(64.0, 120.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++10: // 10 + posTime(15, 4, 0.0, 120.0, 0.0); + stop(); + +interrupt[12]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 120.0, 0.0); ++2: // 12 + posTime(2, 4, -2.0, 120.0, 0.0); ++2: // 14 + posTime(2, 4, -7.0, 120.0, 0.0); ++2: // 16 + posTime(2, 4, -4.0, 120.0, 0.0); + +interrupt[22]: + posTime(4, 4, -4.0, 120.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 36 + colorTime(20, 9, 255, 255, 255); ++20: // 56 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 120.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); ++2: // 94 + color(64, 64, 64); ++2: // 96 + color(255, 255, 255); + posTime(20, 4, 64.0, 120.0, 0.0); + alphaTime(20, 0, 0); ++20: // 116 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 120.0, 0.0); + alphaTime(20, 0, 0); ++20: // 136 + delete(); +} + + +script 51 script51 { + sprite(sprite14); + ins_85(1); + randMode(1); + pos(64.0, 144.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++12: // 12 + posTime(15, 4, 0.0, 144.0, 0.0); + stop(); + +interrupt[13]: + alphaTime(5, 4, 255); + posTime(2, 4, -4.0, 144.0, 0.0); ++2: // 14 + posTime(2, 4, -2.0, 144.0, 0.0); ++2: // 16 + posTime(2, 4, -7.0, 144.0, 0.0); ++2: // 18 + posTime(2, 4, -4.0, 144.0, 0.0); + +interrupt[23]: + posTime(4, 4, -4.0, 144.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 38 + colorTime(20, 9, 255, 255, 255); ++20: // 58 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 0.0, 144.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); ++2: // 88 + color(64, 64, 64); ++2: // 90 + color(255, 255, 255); ++2: // 92 + color(64, 64, 64); ++2: // 94 + color(255, 255, 255); ++2: // 96 + color(64, 64, 64); ++2: // 98 + color(255, 255, 255); + posTime(20, 4, 64.0, 144.0, 0.0); + alphaTime(20, 0, 0); ++20: // 118 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 144.0, 0.0); + alphaTime(20, 0, 0); ++20: // 138 + delete(); +} + + +script 52 script52 { + sprite(sprite29); + ins_85(1); + randMode(1); + pos(64.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); + posTime(15, 4, 0.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 0.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: +interrupt[17]: + posTime(5, 4, 0.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 10 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 30 + delete(); +} + + +script 53 script53 { + sprite(sprite31); + ins_85(1); + randMode(1); + pos(64.0, 24.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++2: // 2 + posTime(15, 4, 0.0, 24.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 24.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[8]: +interrupt[18]: + posTime(5, 4, 0.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 12 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 32 + delete(); +} + + +script 54 script54 { + sprite(sprite33); + ins_85(1); + randMode(1); + pos(64.0, 48.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++4: // 4 + posTime(15, 4, 0.0, 48.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 48.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[9]: +interrupt[19]: + posTime(5, 4, 0.0, 48.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 14 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 34 + delete(); +} + + +script 55 script55 { + sprite(sprite35); + ins_85(1); + randMode(1); + pos(64.0, 72.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++6: // 6 + posTime(15, 4, 0.0, 72.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 72.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[10]: +interrupt[20]: + posTime(5, 4, 0.0, 72.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 16 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 36 + delete(); +} + + +script 56 script56 { + sprite(sprite37); + ins_85(1); + randMode(1); + pos(64.0, 96.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++8: // 8 + posTime(15, 4, 0.0, 96.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 96.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[11]: +interrupt[21]: + posTime(5, 4, 0.0, 96.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 18 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 38 + delete(); +} + + +script 57 script57 { + sprite(sprite25); + ins_85(1); + randMode(1); + pos(64.0, 120.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++10: // 10 + posTime(15, 4, 0.0, 120.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 120.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[12]: +interrupt[22]: + posTime(5, 4, 0.0, 120.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 20 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 120.0, 0.0); + alphaTime(20, 0, 0); ++20: // 40 + delete(); +} + + +script 58 script58 { + sprite(sprite15); + ins_85(1); + randMode(1); + pos(64.0, 144.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++12: // 12 + posTime(15, 4, 0.0, 144.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -4.0, 144.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[13]: +interrupt[23]: + posTime(5, 4, 0.0, 144.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 22 + nop(); + +interrupt[1]: + posTime(20, 4, 64.0, 144.0, 0.0); + alphaTime(20, 0, 0); ++20: // 42 + delete(); +} + + +script 59 script59 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(164.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); + posTime(15, 4, 100.0, 0.0, 0.0); + stop(); + +interrupt[7]: + alphaTime(5, 4, 255); + posTime(2, 4, 96.0, 0.0, 0.0); ++2: // 2 + posTime(2, 4, 98.0, 0.0, 0.0); ++2: // 4 + posTime(2, 4, 93.0, 0.0, 0.0); ++2: // 6 + posTime(2, 4, 96.0, 0.0, 0.0); + +interrupt[17]: + posTime(4, 4, 96.0, 0.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 26 + colorTime(20, 9, 255, 255, 255); ++20: // 46 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 48 + color(255, 255, 255); ++2: // 50 + color(64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 100.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); + posTime(20, 4, 164.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 106 + delete(); + +interrupt[1]: + posTime(20, 4, 164.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 126 + delete(); +} + + +script 60 script60 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(184.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); + posTime(15, 4, 120.0, 0.0, 0.0); + stop(); + +interrupt[7]: + alphaTime(5, 4, 255); + posTime(2, 4, 116.0, 0.0, 0.0); ++2: // 2 + posTime(2, 4, 118.0, 0.0, 0.0); ++2: // 4 + posTime(2, 4, 113.0, 0.0, 0.0); ++2: // 6 + posTime(2, 4, 116.0, 0.0, 0.0); + +interrupt[17]: + posTime(4, 4, 116.0, 0.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 26 + colorTime(20, 9, 255, 255, 255); ++20: // 46 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 48 + color(255, 255, 255); ++2: // 50 + color(64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 120.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); + posTime(20, 4, 184.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 106 + delete(); + +interrupt[1]: + posTime(20, 4, 184.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 126 + delete(); +} + + +script 61 script61 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(164.0, 24.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++2: // 2 + posTime(15, 4, 100.0, 24.0, 0.0); + stop(); + +interrupt[8]: + alphaTime(5, 4, 255); + posTime(2, 4, 96.0, 24.0, 0.0); ++2: // 4 + posTime(2, 4, 98.0, 24.0, 0.0); ++2: // 6 + posTime(2, 4, 93.0, 24.0, 0.0); ++2: // 8 + posTime(2, 4, 96.0, 24.0, 0.0); + +interrupt[18]: + posTime(4, 4, 96.0, 24.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 28 + colorTime(20, 9, 255, 255, 255); ++20: // 48 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 100.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); + posTime(20, 4, 164.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 108 + delete(); + +interrupt[1]: + posTime(20, 4, 164.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 128 + delete(); +} + + +script 62 script62 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(184.0, 24.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++2: // 2 + posTime(15, 4, 120.0, 24.0, 0.0); + stop(); + +interrupt[8]: + alphaTime(5, 4, 255); + posTime(2, 4, 116.0, 24.0, 0.0); ++2: // 4 + posTime(2, 4, 118.0, 24.0, 0.0); ++2: // 6 + posTime(2, 4, 113.0, 24.0, 0.0); ++2: // 8 + posTime(2, 4, 116.0, 24.0, 0.0); + +interrupt[18]: + posTime(4, 4, 116.0, 24.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 28 + colorTime(20, 9, 255, 255, 255); ++20: // 48 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 120.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); + posTime(20, 4, 184.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 108 + delete(); + +interrupt[1]: + posTime(20, 4, 184.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 128 + delete(); +} + + +script 63 script63 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(164.0, 48.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++4: // 4 + posTime(15, 4, 100.0, 48.0, 0.0); + stop(); + +interrupt[9]: + alphaTime(5, 4, 255); + posTime(2, 4, 96.0, 48.0, 0.0); ++2: // 6 + posTime(2, 4, 98.0, 48.0, 0.0); ++2: // 8 + posTime(2, 4, 93.0, 48.0, 0.0); ++2: // 10 + posTime(2, 4, 96.0, 48.0, 0.0); + +interrupt[19]: + posTime(4, 4, 96.0, 48.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 30 + colorTime(20, 9, 255, 255, 255); ++20: // 50 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 100.0, 48.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); ++2: // 88 + color(64, 64, 64); ++2: // 90 + color(255, 255, 255); + posTime(20, 4, 164.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 110 + delete(); + +interrupt[1]: + posTime(20, 4, 164.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 130 + delete(); +} + + +script 64 script64 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(184.0, 48.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++4: // 4 + posTime(15, 4, 120.0, 48.0, 0.0); + stop(); + +interrupt[9]: + alphaTime(5, 4, 255); + posTime(2, 4, 116.0, 48.0, 0.0); ++2: // 6 + posTime(2, 4, 118.0, 48.0, 0.0); ++2: // 8 + posTime(2, 4, 113.0, 48.0, 0.0); ++2: // 10 + posTime(2, 4, 116.0, 48.0, 0.0); + +interrupt[19]: + posTime(4, 4, 116.0, 48.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 30 + colorTime(20, 9, 255, 255, 255); ++20: // 50 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 120.0, 48.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); ++2: // 88 + color(64, 64, 64); ++2: // 90 + color(255, 255, 255); + posTime(20, 4, 184.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 110 + delete(); + +interrupt[1]: + posTime(20, 4, 184.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 130 + delete(); +} + + +script 65 script65 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(164.0, 72.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++6: // 6 + posTime(15, 4, 100.0, 72.0, 0.0); + stop(); + +interrupt[10]: + alphaTime(5, 4, 255); + posTime(2, 4, 96.0, 72.0, 0.0); ++2: // 8 + posTime(2, 4, 98.0, 72.0, 0.0); ++2: // 10 + posTime(2, 4, 93.0, 72.0, 0.0); ++2: // 12 + posTime(2, 4, 96.0, 72.0, 0.0); + +interrupt[20]: + posTime(4, 4, 96.0, 72.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 32 + colorTime(20, 9, 255, 255, 255); ++20: // 52 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 100.0, 72.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); + posTime(20, 4, 164.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 112 + delete(); + +interrupt[1]: + posTime(20, 4, 164.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 132 + delete(); +} + + +script 66 script66 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(184.0, 72.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++6: // 6 + posTime(15, 4, 120.0, 72.0, 0.0); + stop(); + +interrupt[10]: + alphaTime(5, 4, 255); + posTime(2, 4, 116.0, 72.0, 0.0); ++2: // 8 + posTime(2, 4, 118.0, 72.0, 0.0); ++2: // 10 + posTime(2, 4, 113.0, 72.0, 0.0); ++2: // 12 + posTime(2, 4, 116.0, 72.0, 0.0); + +interrupt[20]: + posTime(4, 4, 116.0, 72.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 32 + colorTime(20, 9, 255, 255, 255); ++20: // 52 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 120.0, 72.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); ++2: // 86 + color(64, 64, 64); ++2: // 88 + color(255, 255, 255); ++2: // 90 + color(64, 64, 64); ++2: // 92 + color(255, 255, 255); + posTime(20, 4, 184.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 112 + delete(); + +interrupt[1]: + posTime(20, 4, 184.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 132 + delete(); +} + + +script 67 script67 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(164.0, 96.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++8: // 8 + posTime(15, 4, 100.0, 96.0, 0.0); + stop(); + +interrupt[11]: + alphaTime(5, 4, 255); + posTime(2, 4, 96.0, 96.0, 0.0); ++2: // 10 + posTime(2, 4, 98.0, 96.0, 0.0); ++2: // 12 + posTime(2, 4, 93.0, 96.0, 0.0); ++2: // 14 + posTime(2, 4, 96.0, 96.0, 0.0); + +interrupt[21]: + posTime(4, 4, 96.0, 96.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 34 + colorTime(20, 9, 255, 255, 255); ++20: // 54 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 100.0, 96.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); ++2: // 88 + color(64, 64, 64); ++2: // 90 + color(255, 255, 255); ++2: // 92 + color(64, 64, 64); ++2: // 94 + color(255, 255, 255); + posTime(20, 4, 164.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 114 + delete(); + +interrupt[1]: + posTime(20, 4, 164.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 134 + delete(); +} + + +script 68 script68 { + sprite(sprite42); + ins_85(1); + randMode(1); + pos(184.0, 96.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(192, 255, 192); ++8: // 8 + posTime(15, 4, 120.0, 96.0, 0.0); + stop(); + +interrupt[11]: + alphaTime(5, 4, 255); + posTime(2, 4, 116.0, 96.0, 0.0); ++2: // 10 + posTime(2, 4, 118.0, 96.0, 0.0); ++2: // 12 + posTime(2, 4, 113.0, 96.0, 0.0); ++2: // 14 + posTime(2, 4, 116.0, 96.0, 0.0); + +interrupt[21]: + posTime(4, 4, 116.0, 96.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(20, 9, 192, 255, 192); ++20: // 34 + colorTime(20, 9, 255, 255, 255); ++20: // 54 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + alpha(0); + alphaTime(1, 0, 0); + stop(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 256.0, 332.0, 0.0); + stop(); + +interrupt[3]: + posTime(5, 4, 120.0, 96.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); ++2: // 88 + color(64, 64, 64); ++2: // 90 + color(255, 255, 255); ++2: // 92 + color(64, 64, 64); ++2: // 94 + color(255, 255, 255); + posTime(20, 4, 184.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 114 + delete(); + +interrupt[1]: + posTime(20, 4, 184.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 134 + delete(); +} + + +script 69 script69 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(164.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); + posTime(15, 4, 100.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 96.0, 0.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: +interrupt[17]: + posTime(5, 4, 100.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 10 + nop(); + +interrupt[1]: + posTime(20, 4, 164.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 30 + delete(); +} + + +script 70 script70 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(184.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); + posTime(15, 4, 120.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 116.0, 0.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: +interrupt[17]: + posTime(5, 4, 120.0, 0.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 10 + nop(); + +interrupt[1]: + posTime(20, 4, 184.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 30 + delete(); +} + + +script 71 script71 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(164.0, 24.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++2: // 2 + posTime(15, 4, 100.0, 24.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 96.0, 24.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[8]: +interrupt[18]: + posTime(5, 4, 100.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 12 + nop(); + +interrupt[1]: + posTime(20, 4, 164.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 32 + delete(); +} + + +script 72 script72 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(184.0, 24.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++2: // 2 + posTime(15, 4, 120.0, 24.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 116.0, 24.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[8]: +interrupt[18]: + posTime(5, 4, 120.0, 24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 12 + nop(); + +interrupt[1]: + posTime(20, 4, 184.0, 24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 32 + delete(); +} + + +script 73 script73 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(164.0, 48.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++4: // 4 + posTime(15, 4, 100.0, 48.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 96.0, 48.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[9]: +interrupt[19]: + posTime(5, 4, 100.0, 48.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 14 + nop(); + +interrupt[1]: + posTime(20, 4, 164.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 34 + delete(); +} + + +script 74 script74 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(184.0, 48.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++4: // 4 + posTime(15, 4, 120.0, 48.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 116.0, 48.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[9]: +interrupt[19]: + posTime(5, 4, 120.0, 48.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 14 + nop(); + +interrupt[1]: + posTime(20, 4, 184.0, 48.0, 0.0); + alphaTime(20, 0, 0); ++20: // 34 + delete(); +} + + +script 75 script75 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(164.0, 72.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++6: // 6 + posTime(15, 4, 100.0, 72.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 96.0, 72.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[10]: +interrupt[20]: + posTime(5, 4, 100.0, 72.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 16 + nop(); + +interrupt[1]: + posTime(20, 4, 164.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 36 + delete(); +} + + +script 76 script76 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(184.0, 72.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++6: // 6 + posTime(15, 4, 120.0, 72.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 116.0, 72.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[10]: +interrupt[20]: + posTime(5, 4, 120.0, 72.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 16 + nop(); + +interrupt[1]: + posTime(20, 4, 184.0, 72.0, 0.0); + alphaTime(20, 0, 0); ++20: // 36 + delete(); +} + + +script 77 script77 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(164.0, 96.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++8: // 8 + posTime(15, 4, 100.0, 96.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 96.0, 96.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[11]: +interrupt[21]: + posTime(5, 4, 100.0, 96.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 18 + nop(); + +interrupt[1]: + posTime(20, 4, 164.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 38 + delete(); +} + + +script 78 script78 { + sprite(sprite52); + ins_85(1); + randMode(1); + pos(184.0, 96.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(192, 255, 192); ++8: // 8 + posTime(15, 4, 120.0, 96.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 192, 255, 192); + caseReturn(); + +interrupt[29]: + color(64, 64, 64); + colorTime(4, 0, 64, 64, 64); + alpha(255); + alphaTime(1, 0, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, 116.0, 96.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[11]: +interrupt[21]: + posTime(5, 4, 120.0, 96.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++10: // 18 + nop(); + +interrupt[1]: + posTime(20, 4, 184.0, 96.0, 0.0); + alphaTime(20, 0, 0); ++20: // 38 + delete(); +} + + +entry { + path: "title/title00a.png", + img_width: 512, + img_height: 480, + sprites: {sprite64: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script 79 script79 { + scriptNew(script81); + sprite(sprite64); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(20); + pos(0.0, 0.0, 0.0); + alpha(0); ++80: // 80 + alphaTime(30, 0, 255); ++60: // 140 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 200 + delete(); +} + + +script 80 script80 { + scriptNew(script82); + sprite(sprite64); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(20); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(30, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "title/title00a.png", + img_width: 128, + img_height: 480, + offset_x: 512, + sprites: {sprite65: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script 81 script81 { + sprite(sprite65); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(20); + pos(512.0, 0.0, 0.0); + alpha(0); ++80: // 80 + alphaTime(30, 0, 255); ++60: // 140 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 200 + delete(); +} + + +script 82 script82 { + sprite(sprite65); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(20); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(30, 0, 255); ++60: // 60 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 120 + delete(); +} + + +entry { + path: "title/title_logo.png", + img_width: 1024, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite66: {x: 0.0, y: 0.0, w: 128.0, h: 128.0}, + sprite67: {x: 128.0, y: 0.0, w: 96.0, h: 96.0}, + sprite68: {x: 224.0, y: 0.0, w: 160.0, h: 128.0}, + sprite69: {x: 384.0, y: 0.0, w: 128.0, h: 128.0}, + sprite70: {x: 512.0, y: 0.0, w: 96.0, h: 96.0}, + sprite71: {x: 608.0, y: 0.0, w: 224.0, h: 16.0}, + sprite72: {x: 0.0, y: 128.0, w: 640.0, h: 64.0}, + }, +} + + +script 83 script83 { + alpha(0); + scriptNew(script85); ++14: // 14 + scriptNew(script86); ++14: // 28 + scriptNew(script87); ++14: // 42 + scriptNew(script88); ++14: // 56 + scriptNew(script89); ++14: // 70 + scriptNew(script90); + scriptNew(script91); + stop(); + +interrupt[1]: ++15: // 85 + delete(); +} + + +script 84 script84 { + alpha(0); + scriptNew(script85); + scriptNew(script86); + scriptNew(script87); + scriptNew(script88); + scriptNew(script89); + scriptNew(script90); + scriptNew(script91); + stop(); + +interrupt[1]: ++15: // 15 + delete(); +} + + +script 85 script85 { + sprite(sprite66); + ins_85(1); + randMode(1); + blendMode(1); + layer(22); + pos(270.0, 70.0, 0.0); + type(3); + rotate(0.0, 0.0, -3.1415927); + rotateTime(16, 4, 0.0, 0.0, 0.0); + scale(0.0, 0.0); + scaleTime(8, 4, 1.5, 1.5); ++8: // 8 + scaleTime(8, 1, 1.0, 1.0); ++8: // 16 + type(3); + blendMode(0); + wait(120); + loop { + posTime(200, 9, 274.0, 70.0, 0.0); ++200: // 216 + posTime(200, 9, 266.0, 70.0, 0.0); ++200: // 416 + } ++60: // 476 + stop(); + +interrupt[7]: ++20: // 496 + colorTime(20, 4, 128, 128, 128); + posTime(20, 4, 12.0, 420.0, 0.0); + scaleTime(20, 4, 0.5, 0.5); ++20: // 516 + stop(); + +interrupt[8]: + colorTime(20, 4, 255, 255, 255); + posTime(20, 4, 32.0, 240.0, 0.0); + scaleTime(20, 4, 1.0, 1.0); + stop(); + +interrupt[1]: + alphaTime(15, 0, 0); ++15: // 531 + delete(); +} + + +script 86 script86 { + sprite(sprite67); + ins_85(1); + randMode(1); + blendMode(1); + layer(22); + pos(338.0, 136.0, 0.0); + type(3); + rotate(0.0, 0.0, -3.1415927); + rotateTime(16, 4, 0.0, 0.0, 0.0); + scale(0.0, 0.0); + scaleTime(8, 4, 1.5, 1.5); ++8: // 8 + scaleTime(8, 1, 1.0, 1.0); ++8: // 16 + type(3); + blendMode(0); + wait(60); + loop { + posTime(200, 9, 334.0, 136.0, 0.0); ++200: // 216 + posTime(200, 9, 342.0, 136.0, 0.0); ++200: // 416 + } ++60: // 476 + stop(); + +interrupt[7]: ++20: // 496 + colorTime(20, 4, 128, 128, 128); + posTime(20, 4, 12.0, 420.0, 0.0); + scaleTime(20, 4, 0.5, 0.5); ++20: // 516 + stop(); + +interrupt[8]: + colorTime(20, 4, 255, 255, 255); + posTime(20, 4, 32.0, 240.0, 0.0); + scaleTime(20, 4, 1.0, 1.0); + stop(); + +interrupt[1]: + alphaTime(15, 0, 0); ++15: // 531 + delete(); +} + + +script 87 script87 { + sprite(sprite68); + ins_85(1); + randMode(1); + blendMode(1); + layer(22); + pos(320.0, 218.0, 0.0); + type(3); + rotate(0.0, 0.0, -3.1415927); + rotateTime(16, 4, 0.0, 0.0, 0.0); + scale(0.0, 0.0); + scaleTime(8, 4, 1.5, 1.5); ++8: // 8 + scaleTime(8, 1, 1.0, 1.0); ++8: // 16 + type(3); + blendMode(0); + wait(170); + loop { + posTime(200, 9, 316.0, 218.0, 0.0); ++200: // 216 + posTime(200, 9, 324.0, 218.0, 0.0); ++200: // 416 + } ++60: // 476 + stop(); + +interrupt[7]: ++20: // 496 + colorTime(20, 4, 128, 128, 128); + posTime(20, 4, 12.0, 420.0, 0.0); + scaleTime(20, 4, 0.5, 0.5); ++20: // 516 + stop(); + +interrupt[8]: + colorTime(20, 4, 255, 255, 255); + posTime(20, 4, 32.0, 240.0, 0.0); + scaleTime(20, 4, 1.0, 1.0); + stop(); + +interrupt[1]: + alphaTime(15, 0, 0); ++15: // 531 + delete(); +} + + +script 88 script88 { + sprite(sprite69); + ins_85(1); + randMode(1); + blendMode(1); + layer(22); + pos(404.0, 314.0, 0.0); + type(3); + rotate(0.0, 0.0, -3.1415927); + rotateTime(16, 4, 0.0, 0.0, 0.0); + scale(0.0, 0.0); + scaleTime(8, 4, 1.5, 1.5); ++8: // 8 + scaleTime(8, 1, 1.0, 1.0); ++8: // 16 + type(3); + blendMode(0); + wait(20); + loop { + posTime(200, 9, 408.0, 314.0, 0.0); ++200: // 216 + posTime(200, 9, 400.0, 314.0, 0.0); ++200: // 416 + } ++60: // 476 + stop(); + +interrupt[7]: ++20: // 496 + colorTime(20, 4, 128, 128, 128); + posTime(20, 4, 12.0, 420.0, 0.0); + scaleTime(20, 4, 0.5, 0.5); ++20: // 516 + stop(); + +interrupt[8]: + colorTime(20, 4, 255, 255, 255); + posTime(20, 4, 32.0, 240.0, 0.0); + scaleTime(20, 4, 1.0, 1.0); + stop(); + +interrupt[1]: + alphaTime(15, 0, 0); ++15: // 531 + delete(); +} + + +script 89 script89 { + sprite(sprite70); + ins_85(1); + randMode(1); + blendMode(1); + layer(22); + pos(368.0, 392.0, 0.0); + type(3); + rotate(0.0, 0.0, -3.1415927); + rotateTime(16, 4, 0.0, 0.0, 0.0); + scale(0.0, 0.0); + scaleTime(8, 4, 1.5, 1.5); ++8: // 8 + scaleTime(8, 1, 1.0, 1.0); ++8: // 16 + type(3); + blendMode(0); + wait(90); + loop { + posTime(200, 9, 371.0, 392.0, 0.0); ++200: // 216 + posTime(200, 9, 365.0, 392.0, 0.0); ++200: // 416 + } ++60: // 476 + stop(); + +interrupt[7]: ++20: // 496 + colorTime(20, 4, 128, 128, 128); + posTime(20, 4, 12.0, 420.0, 0.0); + scaleTime(20, 4, 0.5, 0.5); ++20: // 516 + stop(); + +interrupt[8]: + colorTime(20, 4, 255, 255, 255); + posTime(20, 4, 32.0, 240.0, 0.0); + scaleTime(20, 4, 1.0, 1.0); + stop(); + +interrupt[1]: + alphaTime(15, 0, 0); ++15: // 531 + delete(); +} + + +script 90 script90 { + sprite(sprite72); + ins_85(1); + randMode(1); + type(3); + layer(23); + pos(320.0, 260.0, 0.0); + posTime(16, 0, 320.0, 260.0, 0.0); + rotateTime(16, 4, 0.0, 0.0, -0.3926991); + scale(0.0, 0.1); + scaleTime(10, 4, 1.0, 0.1); ++10: // 10 + scaleTime(10, 4, 1.0, 1.0); ++600: // 610 + nop(); + loop { ++2: // 612 + blendMode(1); ++2: // 614 + blendMode(0); ++2: // 616 + blendMode(1); ++2: // 618 + blendMode(0); ++2: // 620 + blendMode(1); ++2: // 622 + blendMode(0); ++300: // 922 + } + stop(); + +interrupt[1]: + alphaTime(15, 0, 0); ++15: // 937 + delete(); +} + + +script 91 script91 { + sprite(sprite71); + ins_85(1); + randMode(1); + type(0); + layer(23); + anchor(2, 0); + alpha(0); + alphaTime(60, 0, 255); + pos(244.0, 468.0, 0.0); + stop(); + +interrupt[1]: + alphaTime(15, 0, 0); ++15: // 15 + delete(); +} + + +entry { + path: "title/select00.png", + img_width: 512, + img_height: 512, + sprites: {sprite73: {x: 0.0, y: 0.0, w: 512.0, h: 480.0}}, +} + + +script 92 script92 { + scriptNew(script94); + sprite(sprite73); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(20); + pos(0.0, 0.0, 0.0); + alpha(0); + alphaTime(60, 0, 255); ++60: // 60 + nop(); + loop { + colorTime(300, 9, 128, 128, 128); ++300: // 360 + colorTime(300, 9, 255, 255, 255); ++300: // 660 + } ++60: // 720 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 780 + delete(); +} + + +script 93 script93 { + scriptNew(script95); + sprite(sprite73); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(20); + pos(0.0, 0.0, 0.0); + color(128, 128, 128); + alpha(0); + alphaTime(60, 0, 255); ++60: // 60 + nop(); + loop { + colorTime(300, 9, 64, 64, 64); ++300: // 360 + colorTime(300, 9, 128, 128, 128); ++300: // 660 + } ++60: // 720 + stop(); + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 780 + delete(); +} + + +entry { + path: "title/select00b.png", + img_width: 128, + img_height: 512, + sprites: {sprite74: {x: 0.0, y: 0.0, w: 128.0, h: 480.0}}, +} + + +script 94 script94 { + sprite(sprite74); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(20); + pos(512.0, 0.0, 0.0); + alpha(0); + alphaTime(60, 0, 255); ++60: // 60 + nop(); + loop { + colorTime(300, 9, 128, 128, 128); ++300: // 360 + colorTime(300, 9, 255, 255, 255); ++300: // 660 + } + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 720 + delete(); +} + + +script 95 script95 { + sprite(sprite74); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(20); + pos(512.0, 0.0, 0.0); + alpha(0); + color(128, 128, 128); + alphaTime(60, 0, 255); ++60: // 60 + nop(); + loop { + colorTime(300, 9, 64, 64, 64); ++300: // 360 + colorTime(300, 9, 128, 128, 128); ++300: // 660 + } + +interrupt[1]: + alphaTime(60, 0, 0); ++60: // 720 + delete(); +} + + +entry { + path: "title/select01.png", + img_width: 256, + img_height: 512, + sprites: { + sprite75: {x: 0.0, y: 0.0, w: 256.0, h: 48.0}, + sprite76: {x: 0.0, y: 48.0, w: 256.0, h: 48.0}, + sprite77: {x: 0.0, y: 96.0, w: 256.0, h: 48.0}, + sprite78: {x: 0.0, y: 144.0, w: 256.0, h: 48.0}, + sprite79: {x: 0.0, y: 192.0, w: 256.0, h: 48.0}, + sprite80: {x: 0.0, y: 240.0, w: 256.0, h: 48.0}, + sprite81: {x: 0.0, y: 288.0, w: 256.0, h: 48.0}, + sprite82: {x: 0.0, y: 336.0, w: 256.0, h: 48.0}, + sprite83: {x: 0.0, y: 384.0, w: 256.0, h: 48.0}, + sprite84: {x: 1.0, y: 497.0, w: 14.0, h: 14.0}, + }, +} + + +script 96 script96 { + sprite(sprite75); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(24); + pos(-256.0, 24.0, 0.0); + posTime(20, 4, 32.0, 24.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: + posTime(20, 4, -256.0, 24.0, 0.0); ++20: // 40 + delete(); +} + + +script 97 script97 { + sprite(sprite76); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(24); + pos(-256.0, 24.0, 0.0); + posTime(20, 4, 32.0, 24.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: + posTime(20, 4, -256.0, 24.0, 0.0); ++20: // 40 + delete(); +} + + +script 98 script98 { + sprite(sprite77); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(24); + pos(-256.0, 24.0, 0.0); + posTime(20, 4, 32.0, 24.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: + posTime(20, 4, -256.0, 24.0, 0.0); ++20: // 40 + delete(); +} + + +script 99 script99 { + sprite(sprite78); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(24); + pos(-256.0, 24.0, 0.0); + posTime(20, 4, 32.0, 24.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: + posTime(20, 4, -256.0, 24.0, 0.0); ++20: // 40 + delete(); +} + + +script 100 script100 { + sprite(sprite79); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(24); + pos(-256.0, 24.0, 0.0); + posTime(20, 4, 32.0, 24.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: + posTime(20, 4, -256.0, 24.0, 0.0); ++20: // 40 + delete(); +} + + +script 101 script101 { + sprite(sprite80); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(24); + pos(-256.0, 24.0, 0.0); + posTime(20, 4, 32.0, 24.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: + posTime(20, 4, -256.0, 24.0, 0.0); ++20: // 40 + delete(); +} + + +script 102 script102 { + sprite(sprite81); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(24); + pos(-256.0, 24.0, 0.0); + posTime(20, 4, 32.0, 24.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: + posTime(20, 4, -256.0, 24.0, 0.0); ++20: // 40 + delete(); +} + + +script 103 script103 { + sprite(sprite82); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(24); + pos(-256.0, 24.0, 0.0); + posTime(20, 4, 32.0, 24.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: + posTime(20, 4, -256.0, 24.0, 0.0); ++20: // 40 + delete(); +} + + +script 104 script104 { + sprite(sprite83); + ins_85(1); + randMode(1); + anchor(1, 1); + layer(24); + pos(-256.0, 24.0, 0.0); + posTime(20, 4, 32.0, 24.0, 0.0); ++20: // 20 + stop(); + +interrupt[1]: + posTime(20, 4, -256.0, 24.0, 0.0); ++20: // 40 + delete(); +} + + +script 105 script105 { + sprite(sprite84); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(23); + alpha(128); + pos(254.0, 270.0, 0.0); + scaleTime(20, 4, 14.0, 10.0); + alphaTime(20, 4, 208); ++20: // 20 + stop(); + +interrupt[1]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 40 + delete(); +} + + +script 106 script106 { + sprite(sprite84); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(23); + alpha(128); + pos(382.0, 270.0, 0.0); + scaleTime(20, 4, 14.0, 10.0); + alphaTime(20, 4, 208); ++20: // 20 + stop(); + +interrupt[1]: + scaleTime(20, 4, 0.0, 0.0); ++20: // 40 + delete(); +} + + +entry { + path: "title/rank00.png", + img_width: 512, + img_height: 512, + sprites: { + sprite85: {x: 0.0, y: 0.0, w: 256.0, h: 96.0}, + sprite86: {x: 0.0, y: 96.0, w: 256.0, h: 96.0}, + sprite87: {x: 0.0, y: 192.0, w: 256.0, h: 96.0}, + sprite88: {x: 0.0, y: 288.0, w: 256.0, h: 96.0}, + sprite89: {x: 0.0, y: 384.0, w: 256.0, h: 96.0}, + sprite90: {x: 256.0, y: 0.0, w: 256.0, h: 96.0}, + sprite91: {x: 256.0, y: 96.0, w: 256.0, h: 96.0}, + sprite92: {x: 256.0, y: 192.0, w: 256.0, h: 96.0}, + sprite93: {x: 256.0, y: 288.0, w: 256.0, h: 96.0}, + sprite94: {x: 256.0, y: 384.0, w: 256.0, h: 96.0}, + }, +} + + +script 107 script107 { + sprite(sprite85); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 255, 255); + posTime(15, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: + layer(21); + alphaTime(30, 0, 0); + posTime(30, 4, 0.0, -128.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + layer(22); + alphaTime(30, 0, 0); + posTime(30, 4, 0.0, -256.0, 0.0); + stop(); + +interrupt[10]: +interrupt[20]: + layer(23); + alphaTime(30, 0, 0); + posTime(30, 4, 0.0, -384.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + layer(24); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 0.0, 0.0); + loop { + colorTime(20, 4, 255, 255, 255); ++20: // 20 + colorTime(20, 4, 255, 255, 255); ++20: // 40 + } + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 42 + color(255, 255, 255); ++2: // 44 + color(64, 64, 64); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 64.0, 240.0, 0.0); + stop(); + +interrupt[3]: + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 100 + delete(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 120 + delete(); +} + + +script 108 script108 { + sprite(sprite86); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 255, 255); ++2: // 2 + posTime(15, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + layer(21); + alphaTime(30, 0, 0); + posTime(30, 4, 0.0, -128.0, 0.0); + stop(); + +interrupt[10]: +interrupt[20]: + layer(22); + alphaTime(30, 0, 0); + posTime(30, 4, 0.0, -256.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + layer(23); + alphaTime(30, 0, 0); + posTime(30, 4, 0.0, 128.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: + layer(24); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 0.0, 0.0); + loop { + colorTime(20, 4, 255, 255, 255); ++20: // 22 + colorTime(20, 4, 255, 255, 255); ++20: // 42 + } + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 44 + color(255, 255, 255); ++2: // 46 + color(64, 64, 64); ++2: // 48 + color(255, 255, 255); ++2: // 50 + color(64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 64.0, 240.0, 0.0); + stop(); + +interrupt[3]: + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 66 + color(255, 255, 255); ++2: // 68 + color(64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 102 + delete(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 122 + delete(); +} + + +script 109 script109 { + sprite(sprite87); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 255, 255); ++4: // 4 + posTime(15, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[10]: +interrupt[20]: + layer(21); + alphaTime(30, 0, 0); + posTime(30, 4, 0.0, -128.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + layer(22); + alphaTime(30, 0, 0); + posTime(30, 4, 0.0, 256.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: + layer(23); + alphaTime(30, 0, 0); + posTime(30, 4, 0.0, 128.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + layer(24); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 0.0, 0.0); + loop { + colorTime(20, 4, 255, 255, 255); ++20: // 24 + colorTime(20, 4, 255, 255, 255); ++20: // 44 + } + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); ++2: // 64 + color(64, 64, 64); ++2: // 66 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 64.0, 240.0, 0.0); + stop(); + +interrupt[3]: + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); ++2: // 82 + color(64, 64, 64); ++2: // 84 + color(255, 255, 255); + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 104 + delete(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 124 + delete(); +} + + +script 110 script110 { + sprite(sprite88); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 255, 255); ++6: // 6 + posTime(15, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + layer(21); + alphaTime(30, 0, 0); + posTime(30, 4, 0.0, 384.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: + layer(22); + alphaTime(30, 0, 0); + posTime(30, 4, 0.0, 256.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + layer(23); + alphaTime(30, 0, 0); + posTime(30, 4, 0.0, 128.0, 0.0); + stop(); + +interrupt[10]: +interrupt[20]: + layer(24); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 0.0, 0.0); + loop { + colorTime(20, 4, 255, 255, 255); ++20: // 26 + colorTime(20, 4, 255, 255, 255); ++20: // 46 + } + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 48 + color(255, 255, 255); ++2: // 50 + color(64, 64, 64); ++2: // 52 + color(255, 255, 255); ++2: // 54 + color(64, 64, 64); ++2: // 56 + color(255, 255, 255); ++2: // 58 + color(64, 64, 64); ++2: // 60 + color(255, 255, 255); ++2: // 62 + color(64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 64.0, 240.0, 0.0); + stop(); + +interrupt[3]: + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 70 + color(255, 255, 255); ++2: // 72 + color(64, 64, 64); ++2: // 74 + color(255, 255, 255); ++2: // 76 + color(64, 64, 64); ++2: // 78 + color(255, 255, 255); ++2: // 80 + color(64, 64, 64); ++2: // 82 + color(255, 255, 255); ++2: // 84 + color(64, 64, 64); ++2: // 86 + color(255, 255, 255); + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 106 + delete(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 126 + delete(); +} + + +script 111 script111 { + sprite(sprite89); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(24); + alpha(0); + color(255, 255, 255); + posTime(15, 4, 0.0, 0.0, 0.0); + +interrupt[7]: +interrupt[17]: + layer(24); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 0.0, 0.0); + loop { + colorTime(20, 4, 255, 255, 255); ++20: // 20 + colorTime(20, 4, 255, 255, 255); ++20: // 40 + } + +interrupt[2]: + colorTime(1, 0, 64, 64, 64); ++2: // 42 + color(255, 255, 255); ++2: // 44 + color(64, 64, 64); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); ++2: // 54 + color(255, 255, 255); ++2: // 56 + color(64, 64, 64); ++2: // 58 + color(255, 255, 255); ++2: // 60 + color(64, 64, 64); ++2: // 62 + color(255, 255, 255); + scaleTime(20, 4, 0.5, 0.5); + posTime(20, 4, 64.0, 240.0, 0.0); + stop(); + +interrupt[3]: + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 64 + color(255, 255, 255); ++2: // 66 + color(64, 64, 64); ++2: // 68 + color(255, 255, 255); ++2: // 70 + color(64, 64, 64); ++2: // 72 + color(255, 255, 255); ++2: // 74 + color(64, 64, 64); ++2: // 76 + color(255, 255, 255); ++2: // 78 + color(64, 64, 64); ++2: // 80 + color(255, 255, 255); + posTime(20, 4, 64.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 100 + delete(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 120 + delete(); +} + + +script 112 script112 { + sprite(sprite90); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); + posTime(15, 4, 0.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[3]: + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: +interrupt[17]: + layer(24); + colorTime(30, 0, 255, 255, 255); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: + layer(21); + colorTime(30, 0, 128, 128, 128); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, -128.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + layer(22); + colorTime(30, 0, 32, 32, 32); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, -256.0, 0.0); + stop(); + +interrupt[10]: +interrupt[20]: + layer(23); + colorTime(30, 0, 16, 16, 16); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, -384.0, 0.0); + stop(); + layer(23); + +interrupt[6]: ++10: // 10 + nop(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 30 + delete(); +} + + +script 113 script113 { + sprite(sprite91); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++2: // 2 + posTime(15, 4, 0.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[3]: + alphaTime(5, 4, 255); + stop(); + +interrupt[8]: +interrupt[18]: + layer(24); + colorTime(30, 0, 255, 255, 255); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + layer(21); + colorTime(30, 0, 128, 128, 128); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, -128.0, 0.0); + stop(); + +interrupt[10]: +interrupt[20]: + layer(22); + colorTime(30, 0, 32, 32, 32); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, -256.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + layer(23); + colorTime(30, 0, 128, 128, 128); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 128.0, 0.0); + stop(); + layer(23); + +interrupt[6]: ++10: // 12 + nop(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 32 + delete(); +} + + +script 114 script114 { + sprite(sprite92); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++4: // 4 + posTime(15, 4, 0.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[3]: + alphaTime(5, 4, 255); + stop(); + +interrupt[9]: +interrupt[19]: + layer(24); + colorTime(30, 0, 255, 255, 255); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[10]: +interrupt[20]: + layer(21); + colorTime(30, 0, 128, 128, 128); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, -128.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + layer(22); + colorTime(30, 0, 32, 32, 32); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 256.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: + layer(23); + colorTime(30, 0, 128, 128, 128); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 128.0, 0.0); + stop(); + layer(23); + +interrupt[6]: ++10: // 14 + nop(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 34 + delete(); +} + + +script 115 script115 { + sprite(sprite93); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++6: // 6 + posTime(15, 4, 0.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[3]: + alphaTime(5, 4, 255); + stop(); + +interrupt[10]: +interrupt[20]: + layer(24); + colorTime(30, 0, 255, 255, 255); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + layer(21); + colorTime(30, 0, 16, 16, 16); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 384.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: + layer(22); + colorTime(30, 0, 32, 32, 32); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 256.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + layer(23); + colorTime(30, 0, 128, 128, 128); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 128.0, 0.0); + stop(); + layer(23); + +interrupt[6]: ++10: // 16 + nop(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 36 + delete(); +} + + +script 116 script116 { + sprite(sprite94); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); + posTime(15, 4, 0.0, 0.0, 0.0); + alphaTime(15, 0, 255); + stop(); + +interrupt[3]: + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: +interrupt[17]: + layer(24); + colorTime(30, 0, 255, 255, 255); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: + layer(21); + colorTime(30, 0, 0, 0, 0); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, -128.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + layer(22); + colorTime(30, 0, 0, 0, 0); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, -256.0, 0.0); + stop(); + +interrupt[10]: +interrupt[20]: + layer(23); + colorTime(30, 0, 0, 0, 0); + alphaTime(30, 0, 255); + posTime(30, 4, 0.0, -384.0, 0.0); + stop(); + layer(23); + +interrupt[6]: ++10: // 10 + nop(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 30 + delete(); +} + + +script 117 script117 { + ins_85(1); + randMode(1); + alpha(0); + pos(192.0, 178.0, 0.0); + scriptNew(script112); + scriptNew(script113); + scriptNew(script114); + scriptNew(script115); + scriptNew(script107); + scriptNew(script108); + scriptNew(script109); + scriptNew(script110); + loop { ++10: // 10 + } + +interrupt[1]: ++20: // 30 + delete(); +} + + +script 118 script118 { + ins_85(1); + randMode(1); + alpha(0); + pos(192.0, 178.0, 0.0); + scriptNew(script111); + loop { ++10: // 10 + } + +interrupt[1]: ++20: // 30 + delete(); +} + + +entry { + path: "title/sl_pl00.png", + img_width: 512, + img_height: 512, + sprites: { + sprite95: {x: 0.0, y: 0.0, w: 304.0, h: 416.0}, + sprite96: {x: 304.0, y: 0.0, w: 208.0, h: 416.0}, + }, +} + + +script 119 script119 { + sprite(sprite95); + ins_85(1); + randMode(1); + anchor(0, 1); + layer(22); + alpha(0); + alphaTime(5, 4, 255); + color(255, 255, 255); + pos(384.0, -48.0, 0.0); + posTime(15, 4, 384.0, -48.0, 0.0); + stop(); + +interrupt[7]: + colorTime(1, 0, 255, 255, 255); + alphaTime(5, 4, 255); + posTime(2, 4, 380.0, -48.0, 0.0); ++2: // 2 + posTime(2, 4, 382.0, -48.0, 0.0); ++2: // 4 + posTime(2, 4, 377.0, -48.0, 0.0); ++2: // 6 + posTime(2, 4, 380.0, -48.0, 0.0); + +interrupt[17]: + layer(23); + posTime(4, 4, 380.0, -48.0, 0.0); + alphaTime(5, 4, 255); + colorTime(1, 0, 255, 255, 255); + stop(); + +interrupt[3]: + layer(22); + posTime(14, 4, 160.0, -48.0, 0.0); + colorTime(10, 0, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 8 + color(255, 255, 255); ++2: // 10 + color(64, 64, 64); ++2: // 12 + color(255, 255, 255); ++2: // 14 + color(64, 64, 64); ++2: // 16 + color(255, 255, 255); ++2: // 18 + color(64, 64, 64); ++2: // 20 + color(255, 255, 255); ++2: // 22 + color(64, 64, 64); ++2: // 24 + color(255, 255, 255); ++2: // 26 + color(64, 64, 64); ++2: // 28 + color(255, 255, 255); ++2: // 30 + color(64, 64, 64); ++2: // 32 + color(255, 255, 255); ++2: // 34 + color(64, 64, 64); ++2: // 36 + color(255, 255, 255); + posTime(20, 4, 480.0, -48.0, 0.0); + stop(); + +interrupt[1]: + alphaTime(20, 0, 0); ++20: // 56 + delete(); +} + + +script 120 script120 { + sprite(sprite96); + ins_85(1); + randMode(1); + anchor(0, 1); + layer(22); + alpha(0); + alphaTime(5, 4, 255); + color(255, 255, 255); + pos(256.0, -48.0, 0.0); + posTime(15, 4, 256.0, -48.0, 0.0); + stop(); + +interrupt[8]: + colorTime(1, 0, 255, 255, 255); + alphaTime(5, 4, 255); + posTime(2, 4, 252.0, -48.0, 0.0); ++2: // 2 + posTime(2, 4, 254.0, -48.0, 0.0); ++2: // 4 + posTime(2, 4, 249.0, -48.0, 0.0); ++2: // 6 + posTime(2, 4, 252.0, -48.0, 0.0); + +interrupt[18]: + layer(23); + posTime(4, 4, 252.0, -48.0, 0.0); + alphaTime(5, 4, 255); + colorTime(1, 0, 255, 255, 255); + stop(); + +interrupt[3]: + layer(22); + posTime(14, 4, 480.0, -48.0, 0.0); + colorTime(10, 0, 64, 64, 64); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 8 + color(255, 255, 255); ++2: // 10 + color(64, 64, 64); ++2: // 12 + color(255, 255, 255); ++2: // 14 + color(64, 64, 64); ++2: // 16 + color(255, 255, 255); ++2: // 18 + color(64, 64, 64); ++2: // 20 + color(255, 255, 255); ++2: // 22 + color(64, 64, 64); ++2: // 24 + color(255, 255, 255); ++2: // 26 + color(64, 64, 64); ++2: // 28 + color(255, 255, 255); ++2: // 30 + color(64, 64, 64); ++2: // 32 + color(255, 255, 255); ++2: // 34 + color(64, 64, 64); ++2: // 36 + color(255, 255, 255); + posTime(20, 4, 128.0, -48.0, 0.0); + stop(); + +interrupt[1]: + alphaTime(20, 0, 0); ++20: // 56 + delete(); +} + + +entry { + path: "title/sl_pl00b.png", + img_width: 256, + img_height: 256, + sprites: {sprite97: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 121 script121 { + sprite(sprite97); + ins_85(1); + randMode(1); + anchor(0, 1); + layer(22); + alpha(0); + color(255, 255, 255); + pos(0.0, 32.0, 0.0); + posTime(15, 4, 192.0, 32.0, 0.0); + stop(); + +interrupt[7]: + colorTime(1, 0, 255, 255, 255); + alphaTime(5, 4, 255); + posTime(20, 4, 192.0, 32.0, 0.0); ++20: // 20 + posTime(2, 4, 192.0, 32.0, 0.0); + +interrupt[17]: + layer(23); + posTime(4, 4, 188.0, 32.0, 0.0); + alphaTime(5, 4, 255); + colorTime(1, 0, 255, 255, 255); + stop(); + +interrupt[3]: + layer(22); + posTime(4, 4, 0.0, 32.0, 0.0); + alphaTime(5, 0, 0); + colorTime(10, 0, 64, 64, 64); + pos(0.0, 32.0, 0.0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 22 + color(255, 255, 255); ++2: // 24 + color(64, 64, 64); ++2: // 26 + color(255, 255, 255); ++2: // 28 + color(64, 64, 64); ++2: // 30 + color(255, 255, 255); ++2: // 32 + color(64, 64, 64); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(64, 64, 64); ++2: // 38 + color(255, 255, 255); ++2: // 40 + color(64, 64, 64); ++2: // 42 + color(255, 255, 255); ++2: // 44 + color(64, 64, 64); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); + posTime(20, 4, 352.0, 32.0, 0.0); + alphaTime(20, 4, 128); + stop(); + +interrupt[1]: + alphaTime(20, 0, 0); ++20: // 72 + delete(); +} + + +entry { + path: "title/sl_pl01b.png", + img_width: 256, + img_height: 256, + sprites: {sprite98: {x: 0.0, y: 0.0, w: 256.0, h: 256.0}}, +} + + +script 122 script122 { + sprite(sprite98); + ins_85(1); + randMode(1); + anchor(0, 1); + layer(22); + alpha(0); + color(255, 255, 255); + pos(640.0, 32.0, 0.0); + posTime(15, 4, 464.0, 32.0, 0.0); + stop(); + +interrupt[8]: + colorTime(1, 0, 255, 255, 255); + alphaTime(5, 4, 255); + posTime(20, 4, 464.0, 32.0, 0.0); ++20: // 20 + posTime(2, 4, 464.0, 32.0, 0.0); + +interrupt[18]: + layer(23); + posTime(4, 4, 460.0, 32.0, 0.0); + alphaTime(5, 4, 255); + colorTime(1, 0, 255, 255, 255); + stop(); + +interrupt[3]: + layer(22); + posTime(4, 4, 640.0, 32.0, 0.0); + alphaTime(5, 0, 0); + colorTime(10, 0, 64, 64, 64); + pos(640.0, 32.0, 0.0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 22 + color(255, 255, 255); ++2: // 24 + color(64, 64, 64); ++2: // 26 + color(255, 255, 255); ++2: // 28 + color(64, 64, 64); ++2: // 30 + color(255, 255, 255); ++2: // 32 + color(64, 64, 64); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(64, 64, 64); ++2: // 38 + color(255, 255, 255); ++2: // 40 + color(64, 64, 64); ++2: // 42 + color(255, 255, 255); ++2: // 44 + color(64, 64, 64); ++2: // 46 + color(255, 255, 255); ++2: // 48 + color(64, 64, 64); ++2: // 50 + color(255, 255, 255); ++2: // 52 + color(64, 64, 64); + posTime(20, 4, 304.0, 32.0, 0.0); + alphaTime(20, 4, 128); + stop(); + +interrupt[1]: + alphaTime(20, 0, 0); ++20: // 72 + delete(); +} + + +script 123 script123 { + ins_85(1); + randMode(1); + alpha(0); + pos(0.0, 96.0, 0.0); + scriptNew(script121); + scriptNew(script122); + scriptNew(script119); + scriptNew(script120); + loop { ++60: // 60 + } + +interrupt[1]: ++20: // 80 + delete(); +} + + +entry { + path: "title/weapon.png", + img_width: 512, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite99: {x: 0.0, y: 0.0, w: 256.0, h: 32.0}, + sprite100: {x: 0.0, y: 32.0, w: 256.0, h: 32.0}, + sprite101: {x: 0.0, y: 64.0, w: 256.0, h: 32.0}, + sprite102: {x: 0.0, y: 96.0, w: 256.0, h: 32.0}, + sprite103: {x: 0.0, y: 128.0, w: 256.0, h: 32.0}, + sprite104: {x: 0.0, y: 160.0, w: 256.0, h: 32.0}, + sprite105: {x: 256.0, y: 0.0, w: 256.0, h: 32.0}, + sprite106: {x: 256.0, y: 32.0, w: 256.0, h: 32.0}, + sprite107: {x: 256.0, y: 64.0, w: 256.0, h: 32.0}, + sprite108: {x: 256.0, y: 96.0, w: 256.0, h: 32.0}, + sprite109: {x: 256.0, y: 128.0, w: 256.0, h: 32.0}, + sprite110: {x: 256.0, y: 160.0, w: 256.0, h: 32.0}, + sprite111: {x: 0.0, y: 192.0, w: 128.0, h: 64.0}, + }, +} + + +script 124 script124 { + sprite(sprite99); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); + posTime(15, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: +interrupt[9]: +interrupt[19]: + posTime(10, 4, 0.0, 0.0, 0.0); + alphaTime(10, 4, 0); + stop(); + +interrupt[7]: +interrupt[17]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 0.0, 0.0); + loop { + colorTime(60, 9, 255, 255, 255); ++60: // 60 + colorTime(60, 9, 255, 255, 255); ++60: // 120 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + alphaTime(10, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 122 + color(255, 255, 255); ++2: // 124 + color(64, 64, 64); ++2: // 126 + color(255, 255, 255); ++2: // 128 + color(64, 64, 64); ++2: // 130 + color(255, 255, 255); ++2: // 132 + color(64, 64, 64); ++2: // 134 + color(255, 255, 255); ++2: // 136 + color(64, 64, 64); ++2: // 138 + color(255, 255, 255); ++20: // 158 + stop(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 178 + delete(); +} + + +script 125 script125 { + sprite(sprite100); + ins_85(1); + randMode(1); + pos(0.0, 38.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++2: // 2 + posTime(15, 4, 0.0, 38.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + alphaTime(10, 4, 0); + posTime(10, 4, 0.0, 166.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + alphaTime(10, 4, 0); + posTime(10, 4, 0.0, 38.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 38.0, 0.0); + loop { + colorTime(60, 9, 255, 255, 255); ++60: // 62 + colorTime(60, 9, 255, 255, 255); ++60: // 122 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + alphaTime(10, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 124 + color(255, 255, 255); ++2: // 126 + color(64, 64, 64); ++2: // 128 + color(255, 255, 255); ++2: // 130 + color(64, 64, 64); ++2: // 132 + color(255, 255, 255); ++2: // 134 + color(64, 64, 64); ++2: // 136 + color(255, 255, 255); ++2: // 138 + color(64, 64, 64); ++2: // 140 + color(255, 255, 255); ++20: // 160 + stop(); + +interrupt[1]: + posTime(20, 4, 0.0, 38.0, 0.0); + alphaTime(20, 0, 0); ++20: // 180 + delete(); +} + + +script 126 script126 { + sprite(sprite101); + ins_85(1); + randMode(1); + pos(0.0, 76.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++4: // 4 + posTime(15, 4, 0.0, 76.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: +interrupt[7]: +interrupt[17]: + alphaTime(10, 4, 0); + posTime(10, 4, 0.0, 204.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 76.0, 0.0); + loop { + colorTime(60, 9, 255, 255, 255); ++60: // 64 + colorTime(60, 9, 255, 255, 255); ++60: // 124 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + alphaTime(10, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 126 + color(255, 255, 255); ++2: // 128 + color(64, 64, 64); ++2: // 130 + color(255, 255, 255); ++2: // 132 + color(64, 64, 64); ++2: // 134 + color(255, 255, 255); ++2: // 136 + color(64, 64, 64); ++2: // 138 + color(255, 255, 255); ++2: // 140 + color(64, 64, 64); ++2: // 142 + color(255, 255, 255); ++20: // 162 + stop(); + +interrupt[1]: + posTime(20, 4, 0.0, 76.0, 0.0); + alphaTime(20, 0, 0); ++20: // 182 + delete(); +} + + +script 127 script127 { + sprite(sprite102); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); + posTime(15, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: +interrupt[9]: +interrupt[19]: + posTime(10, 4, 0.0, 0.0, 0.0); + alphaTime(10, 4, 0); + stop(); + +interrupt[7]: +interrupt[17]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 0.0, 0.0); + loop { + colorTime(60, 9, 255, 255, 255); ++60: // 60 + colorTime(60, 9, 255, 255, 255); ++60: // 120 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + alphaTime(10, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 122 + color(255, 255, 255); ++2: // 124 + color(64, 64, 64); ++2: // 126 + color(255, 255, 255); ++2: // 128 + color(64, 64, 64); ++2: // 130 + color(255, 255, 255); ++2: // 132 + color(64, 64, 64); ++2: // 134 + color(255, 255, 255); ++2: // 136 + color(64, 64, 64); ++2: // 138 + color(255, 255, 255); ++20: // 158 + stop(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 178 + delete(); +} + + +script 128 script128 { + sprite(sprite103); + ins_85(1); + randMode(1); + pos(0.0, 38.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++2: // 2 + posTime(15, 4, 0.0, 38.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + alphaTime(10, 4, 0); + posTime(10, 4, 0.0, 166.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + alphaTime(10, 4, 0); + posTime(10, 4, 0.0, 38.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 38.0, 0.0); + loop { + colorTime(60, 9, 255, 255, 255); ++60: // 62 + colorTime(60, 9, 255, 255, 255); ++60: // 122 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + alphaTime(10, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 124 + color(255, 255, 255); ++2: // 126 + color(64, 64, 64); ++2: // 128 + color(255, 255, 255); ++2: // 130 + color(64, 64, 64); ++2: // 132 + color(255, 255, 255); ++2: // 134 + color(64, 64, 64); ++2: // 136 + color(255, 255, 255); ++2: // 138 + color(64, 64, 64); ++2: // 140 + color(255, 255, 255); ++20: // 160 + stop(); + +interrupt[1]: + posTime(20, 4, 0.0, 38.0, 0.0); + alphaTime(20, 0, 0); ++20: // 180 + delete(); +} + + +script 129 script129 { + sprite(sprite104); + ins_85(1); + randMode(1); + pos(0.0, 76.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++4: // 4 + posTime(15, 4, 0.0, 76.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: +interrupt[7]: +interrupt[17]: + alphaTime(10, 4, 0); + posTime(10, 4, 0.0, 204.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 76.0, 0.0); + loop { + colorTime(60, 9, 255, 255, 255); ++60: // 64 + colorTime(60, 9, 255, 255, 255); ++60: // 124 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + alphaTime(10, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 126 + color(255, 255, 255); ++2: // 128 + color(64, 64, 64); ++2: // 130 + color(255, 255, 255); ++2: // 132 + color(64, 64, 64); ++2: // 134 + color(255, 255, 255); ++2: // 136 + color(64, 64, 64); ++2: // 138 + color(255, 255, 255); ++2: // 140 + color(64, 64, 64); ++2: // 142 + color(255, 255, 255); ++20: // 162 + stop(); + +interrupt[1]: + posTime(20, 4, 0.0, 76.0, 0.0); + alphaTime(20, 0, 0); ++20: // 182 + delete(); +} + + +script 130 script130 { + sprite(sprite105); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); + posTime(15, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: +interrupt[9]: +interrupt[19]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + alphaTime(10, 4, 0); + posTime(10, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 2 + color(255, 255, 255); ++2: // 4 + color(64, 64, 64); ++2: // 6 + color(255, 255, 255); ++2: // 8 + color(64, 64, 64); ++2: // 10 + color(255, 255, 255); ++2: // 12 + color(64, 64, 64); ++2: // 14 + color(255, 255, 255); ++2: // 16 + color(64, 64, 64); ++2: // 18 + color(255, 255, 255); ++20: // 38 + stop(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 58 + delete(); +} + + +script 131 script131 { + sprite(sprite106); + ins_85(1); + randMode(1); + pos(0.0, 38.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++2: // 2 + posTime(15, 4, 0.0, 38.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 166.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 38.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 38.0, 0.0); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 4 + color(255, 255, 255); ++2: // 6 + color(64, 64, 64); ++2: // 8 + color(255, 255, 255); ++2: // 10 + color(64, 64, 64); ++2: // 12 + color(255, 255, 255); ++2: // 14 + color(64, 64, 64); ++2: // 16 + color(255, 255, 255); ++2: // 18 + color(64, 64, 64); ++2: // 20 + color(255, 255, 255); ++20: // 40 + stop(); + +interrupt[1]: + posTime(20, 4, 0.0, 38.0, 0.0); + alphaTime(20, 0, 0); ++20: // 60 + delete(); +} + + +script 132 script132 { + sprite(sprite107); + ins_85(1); + randMode(1); + pos(0.0, 76.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++4: // 4 + posTime(15, 4, 0.0, 76.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: +interrupt[7]: +interrupt[17]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 204.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + alphaTime(10, 4, 0); + posTime(10, 4, 0.0, 76.0, 0.0); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 6 + color(255, 255, 255); ++2: // 8 + color(64, 64, 64); ++2: // 10 + color(255, 255, 255); ++2: // 12 + color(64, 64, 64); ++2: // 14 + color(255, 255, 255); ++2: // 16 + color(64, 64, 64); ++2: // 18 + color(255, 255, 255); ++2: // 20 + color(64, 64, 64); ++2: // 22 + color(255, 255, 255); ++20: // 42 + stop(); + +interrupt[1]: + posTime(20, 4, 0.0, 76.0, 0.0); + alphaTime(20, 0, 0); ++20: // 62 + delete(); +} + + +script 133 script133 { + sprite(sprite108); + ins_85(1); + randMode(1); + pos(0.0, 0.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); + posTime(15, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: +interrupt[9]: +interrupt[19]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + alphaTime(10, 4, 0); + posTime(10, 4, 0.0, 0.0, 0.0); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 2 + color(255, 255, 255); ++2: // 4 + color(64, 64, 64); ++2: // 6 + color(255, 255, 255); ++2: // 8 + color(64, 64, 64); ++2: // 10 + color(255, 255, 255); ++2: // 12 + color(64, 64, 64); ++2: // 14 + color(255, 255, 255); ++2: // 16 + color(64, 64, 64); ++2: // 18 + color(255, 255, 255); ++20: // 38 + stop(); + +interrupt[1]: + posTime(20, 4, 0.0, 0.0, 0.0); + alphaTime(20, 0, 0); ++20: // 58 + delete(); +} + + +script 134 script134 { + sprite(sprite109); + ins_85(1); + randMode(1); + pos(0.0, 38.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++2: // 2 + posTime(15, 4, 0.0, 38.0, 0.0); + stop(); + +interrupt[7]: +interrupt[17]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 166.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 38.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 38.0, 0.0); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 4 + color(255, 255, 255); ++2: // 6 + color(64, 64, 64); ++2: // 8 + color(255, 255, 255); ++2: // 10 + color(64, 64, 64); ++2: // 12 + color(255, 255, 255); ++2: // 14 + color(64, 64, 64); ++2: // 16 + color(255, 255, 255); ++2: // 18 + color(64, 64, 64); ++2: // 20 + color(255, 255, 255); ++20: // 40 + stop(); + +interrupt[1]: + posTime(20, 4, 0.0, 38.0, 0.0); + alphaTime(20, 0, 0); ++20: // 60 + delete(); +} + + +script 135 script135 { + sprite(sprite110); + ins_85(1); + randMode(1); + pos(0.0, 76.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++4: // 4 + posTime(15, 4, 0.0, 76.0, 0.0); + stop(); + +interrupt[8]: +interrupt[18]: +interrupt[7]: +interrupt[17]: + alphaTime(10, 4, 255); + posTime(10, 4, 0.0, 204.0, 0.0); + stop(); + +interrupt[9]: +interrupt[19]: + alphaTime(10, 4, 0); + posTime(10, 4, 0.0, 76.0, 0.0); + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 6 + color(255, 255, 255); ++2: // 8 + color(64, 64, 64); ++2: // 10 + color(255, 255, 255); ++2: // 12 + color(64, 64, 64); ++2: // 14 + color(255, 255, 255); ++2: // 16 + color(64, 64, 64); ++2: // 18 + color(255, 255, 255); ++2: // 20 + color(64, 64, 64); ++2: // 22 + color(255, 255, 255); ++20: // 42 + stop(); + +interrupt[1]: + posTime(20, 4, 0.0, 76.0, 0.0); + alphaTime(20, 0, 0); ++20: // 62 + delete(); +} + + +script 136 script136 { + sprite(sprite111); + ins_85(1); + randMode(1); + pos(-64.0, -24.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + posTime(15, 4, -64.0, -24.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: + alphaTime(5, 4, 255); + posTime(2, 4, -68.0, -24.0, 0.0); ++2: // 2 + posTime(2, 4, -66.0, -24.0, 0.0); ++2: // 4 + posTime(2, 4, -71.0, -24.0, 0.0); ++2: // 6 + posTime(2, 4, -68.0, -24.0, 0.0); + +interrupt[17]: + posTime(4, 4, -68.0, -24.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(60, 9, 255, 255, 255); ++60: // 66 + colorTime(60, 9, 255, 255, 255); ++60: // 126 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -64.0, -24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++20: // 146 + stop(); + +interrupt[1]: + posTime(20, 4, -64.0, -24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 166 + delete(); +} + + +script 137 script137 { + sprite(sprite111); + ins_85(1); + randMode(1); + pos(-64.0, 14.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); ++2: // 2 + posTime(15, 4, -64.0, 14.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[8]: + alphaTime(5, 4, 255); + posTime(2, 4, -68.0, 14.0, 0.0); ++2: // 4 + posTime(2, 4, -66.0, 14.0, 0.0); ++2: // 6 + posTime(2, 4, -71.0, 14.0, 0.0); ++2: // 8 + posTime(2, 4, -68.0, 14.0, 0.0); + +interrupt[18]: + posTime(4, 4, -68.0, 14.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(60, 9, 255, 255, 255); ++60: // 68 + colorTime(60, 9, 255, 255, 255); ++60: // 128 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -64.0, 14.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++20: // 148 + stop(); + +interrupt[1]: + posTime(20, 4, -64.0, 14.0, 0.0); + alphaTime(20, 0, 0); ++20: // 168 + delete(); +} + + +script 138 script138 { + sprite(sprite111); + ins_85(1); + randMode(1); + pos(-64.0, 52.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); ++4: // 4 + posTime(15, 4, -64.0, 52.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[9]: + alphaTime(5, 4, 255); + posTime(2, 4, -68.0, 52.0, 0.0); ++2: // 6 + posTime(2, 4, -66.0, 52.0, 0.0); ++2: // 8 + posTime(2, 4, -71.0, 52.0, 0.0); ++2: // 10 + posTime(2, 4, -68.0, 52.0, 0.0); + +interrupt[19]: + posTime(4, 4, -68.0, 52.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(60, 9, 255, 255, 255); ++60: // 70 + colorTime(60, 9, 255, 255, 255); ++60: // 130 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -64.0, 52.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++20: // 150 + stop(); + +interrupt[1]: + posTime(20, 4, -64.0, 52.0, 0.0); + alphaTime(20, 0, 0); ++20: // 170 + delete(); +} + + +script 139 script139 { + sprite(sprite111); + ins_85(1); + randMode(1); + pos(-64.0, -24.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + posTime(15, 4, -64.0, -24.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[7]: + alphaTime(5, 4, 255); + posTime(2, 4, -68.0, -24.0, 0.0); ++2: // 2 + posTime(2, 4, -66.0, -24.0, 0.0); ++2: // 4 + posTime(2, 4, -71.0, -24.0, 0.0); ++2: // 6 + posTime(2, 4, -68.0, -24.0, 0.0); + +interrupt[17]: + posTime(4, 4, -68.0, -24.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(60, 9, 255, 255, 255); ++60: // 66 + colorTime(60, 9, 255, 255, 255); ++60: // 126 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -64.0, -24.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++20: // 146 + stop(); + +interrupt[1]: + posTime(20, 4, -64.0, -24.0, 0.0); + alphaTime(20, 0, 0); ++20: // 166 + delete(); +} + + +script 140 script140 { + sprite(sprite111); + ins_85(1); + randMode(1); + pos(-64.0, 14.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); ++2: // 2 + posTime(15, 4, -64.0, 14.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[8]: + alphaTime(5, 4, 255); + posTime(2, 4, -68.0, 14.0, 0.0); ++2: // 4 + posTime(2, 4, -66.0, 14.0, 0.0); ++2: // 6 + posTime(2, 4, -71.0, 14.0, 0.0); ++2: // 8 + posTime(2, 4, -68.0, 14.0, 0.0); + +interrupt[18]: + posTime(4, 4, -68.0, 14.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(60, 9, 255, 255, 255); ++60: // 68 + colorTime(60, 9, 255, 255, 255); ++60: // 128 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -64.0, 14.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++20: // 148 + stop(); + +interrupt[1]: + posTime(20, 4, -64.0, 14.0, 0.0); + alphaTime(20, 0, 0); ++20: // 168 + delete(); +} + + +script 141 script141 { + sprite(sprite111); + ins_85(1); + randMode(1); + pos(-64.0, 52.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); ++4: // 4 + posTime(15, 4, -64.0, 52.0, 0.0); + alphaTime(5, 4, 255); + stop(); + +interrupt[9]: + alphaTime(5, 4, 255); + posTime(2, 4, -68.0, 52.0, 0.0); ++2: // 6 + posTime(2, 4, -66.0, 52.0, 0.0); ++2: // 8 + posTime(2, 4, -71.0, 52.0, 0.0); ++2: // 10 + posTime(2, 4, -68.0, 52.0, 0.0); + +interrupt[19]: + posTime(4, 4, -68.0, 52.0, 0.0); + alphaTime(5, 4, 255); + loop { + colorTime(60, 9, 255, 255, 255); ++60: // 70 + colorTime(60, 9, 255, 255, 255); ++60: // 130 + } + stop(); + +interrupt[27]: + colorTime(4, 0, 0, 0, 0); + caseReturn(); + +interrupt[28]: + colorTime(4, 0, 255, 255, 255); + caseReturn(); + +interrupt[3]: + posTime(5, 4, -64.0, 52.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: ++20: // 150 + stop(); + +interrupt[1]: + posTime(20, 4, -64.0, 52.0, 0.0); + alphaTime(20, 0, 0); ++20: // 170 + delete(); +} + + +script 142 script142 { + ins_85(1); + randMode(1); + alpha(0); + pos(64.0, 128.0, 0.0); + scriptNew(script130); + scriptNew(script131); + scriptNew(script132); + scriptNew(script124); + scriptNew(script125); + scriptNew(script126); + scriptNew(script144); + scriptNew(script145); + scriptNew(script146); + scriptNew(script136); + scriptNew(script137); + scriptNew(script138); + loop { ++60: // 60 + } + +interrupt[1]: ++20: // 80 + delete(); +} + + +script 143 script143 { + ins_85(1); + randMode(1); + alpha(0); + pos(160.0, 160.0, 0.0); + scriptNew(script133); + scriptNew(script134); + scriptNew(script135); + scriptNew(script127); + scriptNew(script128); + scriptNew(script129); + scriptNew(script147); + scriptNew(script148); + scriptNew(script149); + scriptNew(script139); + scriptNew(script140); + scriptNew(script141); + loop { ++60: // 60 + } + +interrupt[1]: ++20: // 80 + delete(); +} + + +script 144 script144 { + sprite(sprite112); + ins_85(1); + randMode(1); + pos(64.0, 36.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); + posTime(15, 4, 64.0, 36.0, 0.0); + stop(); + +interrupt[7]: + posTime(10, 4, 64.0, 36.0, 0.0); ++10: // 10 + alphaTime(10, 4, 255); + stop(); + +interrupt[17]: + posTime(10, 4, 64.0, 36.0, 0.0); ++10: // 20 + alphaTime(10, 4, 255); + stop(); + +interrupt[3]: + posTime(5, 4, 64.0, 36.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 22 + color(255, 255, 255); ++2: // 24 + color(64, 64, 64); ++2: // 26 + color(255, 255, 255); ++2: // 28 + color(64, 64, 64); ++2: // 30 + color(255, 255, 255); ++2: // 32 + color(64, 64, 64); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(64, 64, 64); ++2: // 38 + color(255, 255, 255); ++20: // 58 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 36.0, 0.0); + alphaTime(20, 0, 0); ++20: // 78 + delete(); +} + + +script 145 script145 { + sprite(sprite113); + ins_85(1); + randMode(1); + pos(64.0, 74.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++2: // 2 + posTime(15, 4, 64.0, 74.0, 0.0); + stop(); + +interrupt[8]: + posTime(10, 4, 64.0, 74.0, 0.0); ++10: // 12 + alphaTime(10, 4, 255); + stop(); + +interrupt[18]: + posTime(10, 4, 64.0, 74.0, 0.0); ++10: // 22 + alphaTime(10, 4, 255); + stop(); + +interrupt[3]: + posTime(5, 4, 64.0, 74.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 24 + color(255, 255, 255); ++2: // 26 + color(64, 64, 64); ++2: // 28 + color(255, 255, 255); ++2: // 30 + color(64, 64, 64); ++2: // 32 + color(255, 255, 255); ++2: // 34 + color(64, 64, 64); ++2: // 36 + color(255, 255, 255); ++2: // 38 + color(64, 64, 64); ++2: // 40 + color(255, 255, 255); ++20: // 60 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 74.0, 0.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 146 script146 { + sprite(sprite114); + ins_85(1); + randMode(1); + pos(64.0, 112.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++4: // 4 + posTime(15, 4, 64.0, 112.0, 0.0); + stop(); + +interrupt[9]: + posTime(10, 4, 64.0, 112.0, 0.0); ++10: // 14 + alphaTime(10, 4, 255); + stop(); + +interrupt[19]: + posTime(10, 4, 64.0, 112.0, 0.0); ++10: // 24 + alphaTime(10, 4, 255); + stop(); + +interrupt[3]: + posTime(5, 4, 64.0, 112.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 26 + color(255, 255, 255); ++2: // 28 + color(64, 64, 64); ++2: // 30 + color(255, 255, 255); ++2: // 32 + color(64, 64, 64); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(64, 64, 64); ++2: // 38 + color(255, 255, 255); ++2: // 40 + color(64, 64, 64); ++2: // 42 + color(255, 255, 255); ++20: // 62 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 112.0, 0.0); + alphaTime(20, 0, 0); ++20: // 82 + delete(); +} + + +script 147 script147 { + sprite(sprite115); + ins_85(1); + randMode(1); + pos(64.0, 36.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); + posTime(15, 4, 64.0, 36.0, 0.0); + stop(); + +interrupt[7]: + posTime(10, 4, 64.0, 36.0, 0.0); ++10: // 10 + alphaTime(10, 4, 255); + stop(); + +interrupt[17]: + posTime(10, 4, 64.0, 36.0, 0.0); ++10: // 20 + alphaTime(10, 4, 255); + stop(); + +interrupt[3]: + posTime(5, 4, 64.0, 36.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 22 + color(255, 255, 255); ++2: // 24 + color(64, 64, 64); ++2: // 26 + color(255, 255, 255); ++2: // 28 + color(64, 64, 64); ++2: // 30 + color(255, 255, 255); ++2: // 32 + color(64, 64, 64); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(64, 64, 64); ++2: // 38 + color(255, 255, 255); ++20: // 58 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 36.0, 0.0); + alphaTime(20, 0, 0); ++20: // 78 + delete(); +} + + +script 148 script148 { + sprite(sprite116); + ins_85(1); + randMode(1); + pos(64.0, 74.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++2: // 2 + posTime(15, 4, 64.0, 74.0, 0.0); + stop(); + +interrupt[8]: + posTime(10, 4, 64.0, 74.0, 0.0); ++10: // 12 + alphaTime(10, 4, 255); + stop(); + +interrupt[18]: + posTime(10, 4, 64.0, 74.0, 0.0); ++10: // 22 + alphaTime(10, 4, 255); + stop(); + +interrupt[3]: + posTime(5, 4, 64.0, 74.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 24 + color(255, 255, 255); ++2: // 26 + color(64, 64, 64); ++2: // 28 + color(255, 255, 255); ++2: // 30 + color(64, 64, 64); ++2: // 32 + color(255, 255, 255); ++2: // 34 + color(64, 64, 64); ++2: // 36 + color(255, 255, 255); ++2: // 38 + color(64, 64, 64); ++2: // 40 + color(255, 255, 255); ++20: // 60 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 74.0, 0.0); + alphaTime(20, 0, 0); ++20: // 80 + delete(); +} + + +script 149 script149 { + sprite(sprite117); + ins_85(1); + randMode(1); + pos(64.0, 112.0, 0.0); + anchor(1, 1); + layer(23); + alpha(0); + color(255, 255, 255); ++4: // 4 + posTime(15, 4, 64.0, 112.0, 0.0); + stop(); + +interrupt[9]: + posTime(10, 4, 64.0, 112.0, 0.0); ++10: // 14 + alphaTime(10, 4, 255); + stop(); + +interrupt[19]: + posTime(10, 4, 64.0, 112.0, 0.0); ++10: // 24 + alphaTime(10, 4, 255); + stop(); + +interrupt[3]: + posTime(5, 4, 64.0, 112.0, 0.0); + alphaTime(5, 4, 0); + stop(); + +interrupt[6]: + colorTime(1, 0, 64, 64, 64); ++2: // 26 + color(255, 255, 255); ++2: // 28 + color(64, 64, 64); ++2: // 30 + color(255, 255, 255); ++2: // 32 + color(64, 64, 64); ++2: // 34 + color(255, 255, 255); ++2: // 36 + color(64, 64, 64); ++2: // 38 + color(255, 255, 255); ++2: // 40 + color(64, 64, 64); ++2: // 42 + color(255, 255, 255); ++20: // 62 + delete(); + +interrupt[1]: + posTime(20, 4, 64.0, 112.0, 0.0); + alphaTime(20, 0, 0); ++20: // 82 + delete(); +} + + +entry { + path: "title/weapon_00a.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: {sprite112: {x: 0.0, y: 0.0, w: 512.0, h: 128.0}}, +} + + +entry { + path: "title/weapon_00b.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: {sprite113: {x: 0.0, y: 0.0, w: 512.0, h: 128.0}}, +} + + +entry { + path: "title/weapon_00c.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: {sprite114: {x: 0.0, y: 0.0, w: 512.0, h: 128.0}}, +} + + +entry { + path: "title/weapon_01a.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: {sprite115: {x: 0.0, y: 0.0, w: 512.0, h: 128.0}}, +} + + +entry { + path: "title/weapon_01b.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: {sprite116: {x: 0.0, y: 0.0, w: 512.0, h: 128.0}}, +} + + +entry { + path: "title/weapon_01c.png", + img_width: 512, + img_height: 128, + img_format: FORMAT_ARGB_4444, + sprites: {sprite117: {x: 0.0, y: 0.0, w: 512.0, h: 128.0}}, +} + + +entry { + path: "title/result00.png", + img_width: 256, + img_height: 256, + img_format: FORMAT_ARGB_4444, + sprites: { + sprite118: {x: 0.0, y: 0.0, w: 128.0, h: 16.0}, + sprite119: {x: 128.0, y: 0.0, w: 128.0, h: 16.0}, + sprite120: {x: 0.0, y: 16.0, w: 128.0, h: 16.0}, + sprite121: {x: 128.0, y: 16.0, w: 128.0, h: 16.0}, + sprite122: {x: 0.0, y: 32.0, w: 128.0, h: 16.0}, + sprite123: {x: 128.0, y: 32.0, w: 128.0, h: 16.0}, + sprite124: {x: 0.0, y: 48.0, w: 128.0, h: 16.0}, + sprite125: {x: 128.0, y: 48.0, w: 128.0, h: 16.0}, + sprite126: {x: 0.0, y: 64.0, w: 128.0, h: 16.0}, + sprite127: {x: 128.0, y: 64.0, w: 128.0, h: 16.0}, + sprite128: {x: 0.0, y: 80.0, w: 128.0, h: 16.0}, + sprite129: {x: 128.0, y: 80.0, w: 128.0, h: 16.0}, + sprite130: {x: 0.0, y: 96.0, w: 128.0, h: 16.0}, + sprite131: {x: 128.0, y: 96.0, w: 96.0, h: 16.0}, + sprite132: {x: 0.0, y: 112.0, w: 96.0, h: 16.0}, + sprite133: {x: 128.0, y: 112.0, w: 96.0, h: 16.0}, + sprite134: {x: 0.0, y: 128.0, w: 16.0, h: 16.0}, + sprite135: {x: 16.0, y: 128.0, w: 16.0, h: 16.0}, + sprite136: {x: 32.0, y: 128.0, w: 16.0, h: 16.0}, + sprite137: {x: 48.0, y: 128.0, w: 16.0, h: 16.0}, + sprite138: {x: 0.0, y: 144.0, w: 256.0, h: 16.0}, + }, +} + + +script 150 script150 { + sprite(sprite118); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(128.0, 80.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(128.0, 80.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 151 script151 { + sprite(sprite119); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(128.0, 80.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(128.0, 80.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 152 script152 { + sprite(sprite120); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(224.0, 80.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(224.0, 80.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 153 script153 { + sprite(sprite121); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(224.0, 80.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(224.0, 80.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 154 script154 { + sprite(sprite122); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(224.0, 80.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(224.0, 80.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 155 script155 { + sprite(sprite123); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(224.0, 80.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(224.0, 80.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 156 script156 { + sprite(sprite124); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(224.0, 80.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(224.0, 80.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 157 script157 { + sprite(sprite125); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(224.0, 80.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(224.0, 80.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 158 script158 { + sprite(sprite126); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 112.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 112.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 159 script159 { + sprite(sprite127); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 112.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 112.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 160 script160 { + sprite(sprite128); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 112.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 112.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 161 script161 { + sprite(sprite129); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 112.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 112.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 162 script162 { + sprite(sprite130); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 112.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(320.0, 112.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 163 script163 { + sprite(sprite131); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(256.0, 384.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(256.0, 384.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 164 script164 { + sprite(sprite132); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(256.0, 402.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(256.0, 402.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 165 script165 { + sprite(sprite133); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(256.0, 420.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); + scale(0.0, 1.0); + scaleTime(10, 0, 1.0, 1.0); + stop(); + +interrupt[1]: + pos(256.0, 420.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 20 + delete(); +} + + +script 166 script166 { + sprite(sprite134); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(64.0, 80.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + nop(); + loop { + colorTime(15, 9, 128, 128, 128); ++15: // 25 + colorTime(15, 9, 255, 255, 255); ++15: // 40 + } + +interrupt[2]: + scale(1.8, 1.8); + scaleTime(8, 0, 1.0, 1.0); + caseReturn(); + +interrupt[1]: + pos(64.0, 80.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 60 + delete(); +} + + +script 167 script167 { + sprite(sprite135); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(288.0, 80.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + nop(); + loop { + colorTime(15, 9, 128, 128, 128); ++15: // 25 + colorTime(15, 9, 255, 255, 255); ++15: // 40 + } + +interrupt[2]: + scale(1.8, 1.8); + scaleTime(8, 0, 1.0, 1.0); + caseReturn(); + +interrupt[1]: + pos(288.0, 80.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 60 + delete(); +} + + +script 168 script168 { + sprite(sprite136); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 96.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + nop(); + loop { + colorTime(15, 9, 128, 128, 128); ++15: // 25 + colorTime(15, 9, 255, 255, 255); ++15: // 40 + } + +interrupt[2]: + scale(1.8, 1.8); + scaleTime(8, 0, 1.0, 1.0); + caseReturn(); + +interrupt[1]: + pos(320.0, 96.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 60 + delete(); +} + + +script 169 script169 { + sprite(sprite137); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 128.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + nop(); + loop { + colorTime(15, 9, 128, 128, 128); ++15: // 25 + colorTime(15, 9, 255, 255, 255); ++15: // 40 + } + +interrupt[2]: + scale(1.8, 1.8); + scaleTime(8, 0, 1.0, 1.0); + caseReturn(); + +interrupt[1]: + pos(320.0, 128.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 60 + delete(); +} + + +script 170 script170 { + sprite(sprite138); + ins_85(1); + randMode(1); + anchor(0, 0); + layer(22); + pos(320.0, 448.0, 0.0); + alpha(0); + alphaTime(10, 0, 255); ++10: // 10 + nop(); + loop { + colorTime(15, 9, 128, 128, 128); ++15: // 25 + colorTime(15, 9, 255, 255, 255); ++15: // 40 + } + +interrupt[2]: + scale(1.8, 1.8); + scaleTime(8, 0, 1.0, 1.0); + caseReturn(); + +interrupt[1]: + pos(320.0, 448.0, 0.0); + alphaTime(20, 0, 0); + scaleTime(20, 0, 1.0, 0.0); ++20: // 60 + delete(); +} + + +entry { + path: "@", + has_data: false, + rt_width: 512, + rt_height: 512, + rt_format: FORMAT_ARGB_4444, + sprites: { + sprite139: {x: 0.0, y: 0.0, w: 512.0, h: 18.0}, + sprite140: {x: 0.0, y: 18.0, w: 512.0, h: 18.0}, + sprite141: {x: 0.0, y: 36.0, w: 512.0, h: 18.0}, + sprite142: {x: 0.0, y: 54.0, w: 512.0, h: 18.0}, + sprite143: {x: 0.0, y: 72.0, w: 512.0, h: 18.0}, + sprite144: {x: 0.0, y: 90.0, w: 512.0, h: 18.0}, + sprite145: {x: 0.0, y: 108.0, w: 512.0, h: 18.0}, + sprite146: {x: 0.0, y: 126.0, w: 512.0, h: 18.0}, + sprite147: {x: 0.0, y: 144.0, w: 512.0, h: 18.0}, + sprite148: {x: 0.0, y: 162.0, w: 512.0, h: 18.0}, + sprite149: {x: 0.0, y: 180.0, w: 512.0, h: 18.0}, + sprite150: {x: 0.0, y: 198.0, w: 512.0, h: 18.0}, + sprite151: {x: 0.0, y: 216.0, w: 512.0, h: 18.0}, + sprite152: {x: 0.0, y: 234.0, w: 512.0, h: 18.0}, + sprite153: {x: 0.0, y: 252.0, w: 512.0, h: 18.0}, + sprite154: {x: 0.0, y: 270.0, w: 512.0, h: 18.0}, + sprite155: {x: 0.0, y: 288.0, w: 512.0, h: 18.0}, + sprite156: {x: 0.0, y: 306.0, w: 512.0, h: 18.0}, + sprite157: {x: 0.0, y: 324.0, w: 512.0, h: 18.0}, + sprite158: {x: 0.0, y: 342.0, w: 512.0, h: 18.0}, + sprite159: {x: 0.0, y: 360.0, w: 512.0, h: 18.0}, + sprite160: {x: 0.0, y: 378.0, w: 512.0, h: 18.0}, + sprite161: {x: 0.0, y: 396.0, w: 512.0, h: 18.0}, + sprite162: {x: 0.0, y: 414.0, w: 512.0, h: 18.0}, + sprite163: {x: 0.0, y: 432.0, w: 512.0, h: 18.0}, + sprite164: {x: 0.0, y: 450.0, w: 512.0, h: 18.0}, + sprite165: {x: 0.0, y: 468.0, w: 512.0, h: 18.0}, + sprite166: {x: 0.0, y: 486.0, w: 512.0, h: 18.0}, + }, +} + + +script 171 script171 { + sprite(sprite139); + anchor(1, 1); + pos(64.0, 96.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 172 script172 { + sprite(sprite140); + anchor(1, 1); + pos(64.0, 116.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 173 script173 { + sprite(sprite141); + anchor(1, 1); + pos(64.0, 136.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 174 script174 { + sprite(sprite142); + anchor(1, 1); + pos(64.0, 156.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 175 script175 { + sprite(sprite143); + anchor(1, 1); + pos(64.0, 176.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 176 script176 { + sprite(sprite144); + anchor(1, 1); + pos(64.0, 196.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 177 script177 { + sprite(sprite145); + anchor(1, 1); + pos(64.0, 216.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 178 script178 { + sprite(sprite146); + anchor(1, 1); + pos(64.0, 236.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 179 script179 { + sprite(sprite147); + anchor(1, 1); + pos(64.0, 256.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 180 script180 { + sprite(sprite148); + anchor(1, 1); + pos(64.0, 276.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 181 script181 { + sprite(sprite149); + anchor(1, 1); + pos(64.0, 296.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 182 script182 { + sprite(sprite150); + anchor(1, 1); + pos(64.0, 316.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 183 script183 { + sprite(sprite151); + anchor(1, 1); + pos(64.0, 336.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 184 script184 { + sprite(sprite152); + anchor(1, 1); + pos(64.0, 356.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 185 script185 { + sprite(sprite153); + anchor(1, 1); + pos(64.0, 376.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 186 script186 { + sprite(sprite154); + anchor(1, 1); + pos(64.0, 396.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 187 script187 { + sprite(sprite155); + anchor(1, 1); + pos(64.0, 416.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 188 script188 { + sprite(sprite156); + anchor(1, 1); + pos(64.0, 436.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 189 script189 { + sprite(sprite157); + anchor(1, 1); + pos(64.0, 476.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 190 script190 { + sprite(sprite158); + anchor(1, 1); + pos(64.0, 496.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 191 script191 { + sprite(sprite159); + anchor(1, 1); + pos(64.0, 516.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} + + +script 192 script192 { + sprite(sprite160); + anchor(1, 1); + pos(64.0, 536.0, 0.0); + layer(22); + resampleMode(1); + stopHide(); + +interrupt[2]: + colorTime(4, 0, 255, 255, 128); ++10: // 10 + stop(); + +interrupt[3]: + colorTime(4, 0, 128, 128, 128); ++60: // 70 + stop(); + +interrupt[5]: + alphaTime(10, 0, 0); ++10: // 80 + delete(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 90 + delete(); +} diff --git a/research/title_v.tanm b/research/title_v.tanm new file mode 100644 index 0000000..730668f --- /dev/null +++ b/research/title_v.tanm @@ -0,0 +1,39 @@ +#pragma mapfile "utils/v4.anmm" + +entry { + path: "title/title_ver.png", + img_width: 128, + img_height: 16, + img_format: FORMAT_ARGB_4444, + sprites: {sprite0: {x: 1.0, y: 1.0, w: 126.0, h: 14.0}}, +} + + +script 0 script0 { + sprite(sprite0); + ins_85(1); + randMode(1); + pos(368.0, 432.0, 0.0); + anchor(0, 1); + layer(24); + alpha(0); ++30: // 30 + alphaTime(30, 0, 255); + stop(); + +interrupt[3]: + alphaTime(60, 0, 64); ++60: // 90 + layer(24); + stop(); + +interrupt[2]: + layer(24); + alphaTime(60, 0, 255); + stop(); + +interrupt[1]: + alphaTime(10, 0, 0); ++10: // 100 + delete(); +} diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000..5d56faf --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,2 @@ +[toolchain] +channel = "nightly" diff --git a/src/anm_viewer.rs b/src/anm_viewer.rs new file mode 100644 index 0000000..21cacf1 --- /dev/null +++ b/src/anm_viewer.rs @@ -0,0 +1,367 @@ +use std::{fs::read, io::Cursor, num::NonZero, sync::LazyLock}; + +use anyhow::Context; +use bytemuck::{bytes_of, Pod, Zeroable}; +use glam::{Mat4, Quat, Vec3}; +use truth::{context::RootEmitter, io::BinReader, AnmFile, Game}; +use wgpu::{ + include_wgsl, util::{BufferInitDescriptor, DeviceExt}, BindGroup, BindGroupDescriptor, BindGroupEntry, BindGroupLayoutDescriptor, BindGroupLayoutEntry, BlendState, Buffer, BufferUsages, Color, ColorTargetState, ColorWrites, Device, FragmentState, ImageCopyTexture, ImageDataLayout, LoadOp, Operations, Origin3d, PipelineLayoutDescriptor, PrimitiveState, Queue, RenderPassColorAttachment, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, ShaderModule, ShaderStages, SurfaceConfiguration, Texture, TextureAspect, TextureDescriptor, TextureUsages, VertexAttribute, VertexBufferLayout, VertexState +}; +use winit::keyboard::KeyCode; + +use crate::{ + anm::image::produce_image_from_entry, engine::{Engine, EngineState, UpdateContext} +}; + +pub struct AnmViewer { + anm: AnmFile, + vertices: Buffer, + instances: Buffer, + textures: Vec, + texture_bind_groups: Vec, + bind_group: BindGroup, + pipeline: RenderPipeline, + shader: ShaderModule, + texture: u32, + uniform_buffer: Buffer, + uniform: Uniform, +} + +#[derive(Clone, Copy, Pod, Zeroable)] +#[repr(C)] +struct Vertex { + x: f32, + y: f32, + tx: f32, + ty: f32, +} + +const VERTICES: [Vertex; 4] = [ + Vertex { + x: 0., + y: 0., + tx: 0., + ty: 0., + }, + Vertex { + x: 1., + y: 0., + tx: 1., + ty: 0., + }, + Vertex { + x: 0., + y: 1., + tx: 0., + ty: 1., + }, + Vertex { + x: 1., + y: 1., + tx: 1., + ty: 1., + }, +]; + +const INSTANCES: LazyLock<[Instance; 3]> = LazyLock::new(|| { + [ + Instance { + matrix: Mat4::from_scale(Vec3::new(256.0, 512.0, 1.0)), + }, + Instance { + matrix: Mat4::from_scale_rotation_translation( + Vec3::new(256.0, 512.0, 1.0), + Quat::IDENTITY, + Vec3::new(0.0, 0.0, 0.0), + ), + }, + Instance { + matrix: Mat4::from_scale_rotation_translation( + Vec3::new(512.0, 256.0, 1.0), + Quat::IDENTITY, + Vec3::new(0.0, 0.0, 0.0), + ), + }, + ] +}); + +#[derive(Clone, Copy, Pod, Zeroable)] +#[repr(C)] +struct Instance { + matrix: Mat4, +} + +#[derive(Pod, Clone, Copy, Zeroable)] +#[repr(C, packed)] +struct Uniform { + proj_matrix: Mat4, +} + +impl AnmViewer { + pub fn new(device: &Device, queue: &Queue, config: &SurfaceConfiguration) -> Self { + let anm = AnmFile::read_from_stream( + &mut BinReader::from_reader( + &RootEmitter::new_stderr(), + "", + Cursor::new(read("assets/title.anm").unwrap()), + ), + Game::Th11, + true, + ) + .unwrap(); + + let mut textures = vec![]; + for entry in &anm.entries { + println!( + "entry {:?} {:?} {:?} {:?}", + entry.img_width(), + entry.img_height(), + entry.img_format(), + entry.path + ); + if entry.img_data().is_none() { + continue; + } + let image = produce_image_from_entry(&entry).with_context(|| format!("at {}", entry.path)).unwrap(); + + let texture_size = wgpu::Extent3d { + width: image.width as u32, + height: image.height as u32, + depth_or_array_layers: 1, + }; + let texture = device.create_texture(&TextureDescriptor { + format: wgpu::TextureFormat::Bgra8Unorm, + dimension: wgpu::TextureDimension::D2, + size: texture_size, + mip_level_count: 1, + sample_count: 1, + usage: TextureUsages::TEXTURE_BINDING | TextureUsages::COPY_DST, + label: None, + view_formats: &[], + }); + + queue.write_texture( + ImageCopyTexture { + texture: &texture, + mip_level: 0, + origin: Origin3d::ZERO, + aspect: TextureAspect::All, + }, + &image.data, + ImageDataLayout { + bytes_per_row: Some(4 * image.width as u32), + offset: 0, + rows_per_image: Some(image.height as u32), + }, + texture_size, + ); + + textures.push(texture); + } + + let sampler = device.create_sampler(&wgpu::SamplerDescriptor { + address_mode_u: wgpu::AddressMode::ClampToEdge, + address_mode_v: wgpu::AddressMode::ClampToEdge, + address_mode_w: wgpu::AddressMode::ClampToEdge, + mag_filter: wgpu::FilterMode::Linear, + min_filter: wgpu::FilterMode::Nearest, + mipmap_filter: wgpu::FilterMode::Nearest, + ..Default::default() + }); + + let texture_bind_group_layout = device.create_bind_group_layout(&BindGroupLayoutDescriptor { + entries: &[BindGroupLayoutEntry { + binding: 0, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, + multisampled: false, + }, + count: None, + visibility: ShaderStages::FRAGMENT, + }], + label: None, + }); + + let texture_bind_groups = textures + .iter() + .map(|texture| { + device.create_bind_group(&BindGroupDescriptor { + label: None, + layout: &texture_bind_group_layout, + entries: &[BindGroupEntry { + binding: 0, + resource: wgpu::BindingResource::TextureView(&texture.create_view(&Default::default())), + }], + }) + }) + .collect(); + + let bind_group_layout = device.create_bind_group_layout(&BindGroupLayoutDescriptor { + label: None, + entries: &[ + BindGroupLayoutEntry { + binding: 0, + ty: wgpu::BindingType::Sampler(wgpu::SamplerBindingType::Filtering), + count: None, + visibility: ShaderStages::VERTEX_FRAGMENT, + }, + BindGroupLayoutEntry { + binding: 1, + count: None, + visibility: ShaderStages::VERTEX, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, + min_binding_size: Some(NonZero::new(std::mem::size_of::() as u64).unwrap()), + }, + }, + ], + }); + + let uniform = Uniform { + proj_matrix: Mat4::orthographic_lh(0.0, 640.0, 480.0, 0.0, -1.0, 1.0), + }; + let uniform_buffer = device.create_buffer_init(&BufferInitDescriptor { + contents: bytes_of(&uniform), + label: None, + usage: BufferUsages::UNIFORM | BufferUsages::COPY_DST, + }); + let bind_group = device.create_bind_group(&BindGroupDescriptor { + label: None, + layout: &bind_group_layout, + entries: &[ + BindGroupEntry { + binding: 0, + resource: wgpu::BindingResource::Sampler(&sampler), + }, + BindGroupEntry { + binding: 1, + resource: uniform_buffer.as_entire_binding(), + }, + ], + }); + + let vertices = device.create_buffer_init(&BufferInitDescriptor { + contents: bytes_of(&VERTICES), + usage: BufferUsages::VERTEX, + label: None, + }); + let instances = device.create_buffer_init(&BufferInitDescriptor { + contents: bytes_of(&*INSTANCES), + usage: BufferUsages::VERTEX, + label: None, + }); + let shader = device.create_shader_module(include_wgsl!("./game.wgsl")); + + let pipeline_layout = device.create_pipeline_layout(&PipelineLayoutDescriptor { + label: None, + bind_group_layouts: &[&texture_bind_group_layout, &bind_group_layout], + push_constant_ranges: &[], + }); + + let pipeline = device.create_render_pipeline(&RenderPipelineDescriptor { + label: Some("main pass"), + layout: Some(&pipeline_layout), + vertex: VertexState { + buffers: &[VertexBufferLayout { + attributes: &[ + VertexAttribute { + format: wgpu::VertexFormat::Float32x4, + offset: 0, + shader_location: 0, + }, + VertexAttribute { + format: wgpu::VertexFormat::Float32x4, + offset: 16, + shader_location: 1, + }, + VertexAttribute { + format: wgpu::VertexFormat::Float32x4, + offset: 32, + shader_location: 2, + }, + VertexAttribute { + format: wgpu::VertexFormat::Float32x4, + offset: 48, + shader_location: 3, + }, + ], + array_stride: std::mem::size_of::() as u64, + step_mode: wgpu::VertexStepMode::Instance, + }], + entry_point: "vs_main", + compilation_options: Default::default(), + module: &shader, + }, + primitive: PrimitiveState { + topology: wgpu::PrimitiveTopology::TriangleStrip, + ..Default::default() + }, + depth_stencil: None, + multisample: Default::default(), + fragment: Some(FragmentState { + targets: &[Some(ColorTargetState { + format: config.format, + blend: Some(BlendState::ALPHA_BLENDING), + write_mask: ColorWrites::ALL, + })], + compilation_options: Default::default(), + entry_point: "fs_main", + module: &shader, + }), + multiview: Default::default(), + cache: Default::default(), + }); + + Self { + anm, + vertices, + instances, + textures, + texture_bind_groups, + bind_group, + pipeline, + shader, + uniform_buffer, + texture: 0, + uniform: uniform, + } + } +} + +impl EngineState for AnmViewer { + fn update(&mut self, context: &UpdateContext) { + if context.keys.is_key_pressed(KeyCode::ArrowLeft) { + self.texture = self.texture.saturating_sub(1); + } else if context.keys.is_key_pressed(KeyCode::ArrowRight) { + self.texture = u32::min(self.texture + 1, self.anm.entries.len() as u32 - 1); + log::info!("increased texture {}", self.texture) + } + } + fn render(&self, state: &Engine, surface_view: &Texture, encoder: &mut wgpu::CommandEncoder) { + state.queue.write_buffer(&self.uniform_buffer, 0, bytes_of(&self.uniform)); + let mut pass = encoder.begin_render_pass(&RenderPassDescriptor { + color_attachments: &[Some(RenderPassColorAttachment { + view: &surface_view.create_view(&Default::default()), + resolve_target: None, + ops: Operations { + load: LoadOp::Clear(Color { + r: 100. / 255., + g: 149. / 255., + b: 237. / 255., + a: 1.0, + }), + ..Default::default() + }, + })], + ..Default::default() + }); + + pass.set_pipeline(&self.pipeline); + pass.set_vertex_buffer(0, self.instances.slice(..)); + pass.set_bind_group(0, &self.texture_bind_groups[self.texture as usize], &[]); + pass.set_bind_group(1, &self.bind_group, &[]); + pass.draw(0..4, 0..INSTANCES.len() as u32); + } +} diff --git a/src/engine.rs b/src/engine.rs new file mode 100644 index 0000000..9662ca5 --- /dev/null +++ b/src/engine.rs @@ -0,0 +1,232 @@ +use std::{cell::RefCell, rc::Rc, sync::Arc}; + +use pollster::FutureExt; +use wgpu::{ + naga::FastHashMap, Backends, CommandEncoder, Device, DeviceDescriptor, Features, Instance, InstanceDescriptor, InstanceFlags, Queue, RequestAdapterOptions, Surface, SurfaceConfiguration, Texture, TextureFormat, TextureUsages +}; +use winit::{ + dpi::PhysicalSize, event::{ElementState, KeyEvent, WindowEvent}, keyboard::{KeyCode, PhysicalKey}, window::Window +}; + +use crate::game::Game; + +pub struct Engine<'a> { + surface: Surface<'a>, + pub device: Device, + pub queue: Queue, + pub config: SurfaceConfiguration, + pub size: PhysicalSize, + pub window: Arc, + + keys: Keys, + focused: bool, + + state: Rc>, +} + +#[derive(Debug, Default)] +pub enum KeyState { + #[default] + Released, + Pressed, + Held, +} + +impl KeyState { + fn is_down(&self) -> bool { + match self { + Self::Released => false, + Self::Pressed | Self::Held => true, + } + } +} + +#[derive(Default)] +pub struct Keys { + values: FastHashMap, +} + +impl Keys { + fn update_key(&mut self, key: KeyCode, state: ElementState) { + let key_state = self.values.entry(key).or_default(); + if key_state.is_down() != state.is_pressed() { + *key_state = if state.is_pressed() { + KeyState::Pressed + } else { + KeyState::Released + } + } + } + + fn tick_keys(&mut self) { + for (key, state) in &mut self.values { + if state.is_down() { + *state = KeyState::Held; + } + } + } + + pub fn is_key_down(&self, key: KeyCode) -> bool { + if let Some(key_state) = self.values.get(&key) { + key_state.is_down() + } else { + false + } + } + + pub fn was_key_released(&self, key: KeyCode) -> bool { + !self.is_key_down(key) + } + + pub fn was_key_pressed(&self, key: KeyCode) -> bool { + matches!(self.values.get(&key), Some(KeyState::Pressed)) + } +} + +impl<'a> Engine<'a> { + pub fn new(window: Arc) -> Self { + let instance = Instance::new(InstanceDescriptor { + backends: Backends::all(), + flags: InstanceFlags::advanced_debugging(), + ..Default::default() + }); + + let surface = instance.create_surface(window.clone()).unwrap(); + + let adapter = instance + .request_adapter(&RequestAdapterOptions { + compatible_surface: Some(&surface), + ..Default::default() + }) + .block_on() + .unwrap(); + + let (device, queue) = adapter + .request_device( + &DeviceDescriptor { + label: Some("device"), + required_features: Features::empty(), + ..Default::default() + }, + None, + ) + .block_on() + .unwrap(); + + let size = window.inner_size(); + let caps = surface.get_capabilities(&adapter); + println!("formats: {:#?}", caps.formats); + let format = + caps.formats.iter().find(|f| matches!(f, TextureFormat::Bgra8Unorm)).cloned().unwrap_or(caps.formats[0]); + let config = SurfaceConfiguration { + usage: TextureUsages::RENDER_ATTACHMENT, + format, + width: size.width, + height: size.height, + present_mode: caps.present_modes[0], + desired_maximum_frame_latency: 2, + alpha_mode: caps.alpha_modes[0], + view_formats: vec![], + }; + + surface.configure(&device, &config); + + let viewer = Game::new(InitContext { + device: &device, + queue: &queue, + window: &window, + config: &config, + }); + + Self { + surface, + device, + queue, + config, + size, + window, + + keys: Keys::default(), + focused: false, + + state: Rc::new(RefCell::new(viewer)), + } + } + + pub fn handle_event(&mut self, window_event: &WindowEvent) { + match window_event { + WindowEvent::KeyboardInput { + event: + KeyEvent { + physical_key: PhysicalKey::Code(key), + state, + repeat, + .. + }, + .. + } => { + if *repeat { + return; + } + self.keys.update_key(*key, *state); + } + WindowEvent::Focused(focused) => { + self.focused = *focused; + } + _ => {} + } + } + + pub fn resize(&mut self, new_size: PhysicalSize) { + if new_size.width > 0 && new_size.height > 0 { + self.size = new_size; + self.config.width = new_size.width; + self.config.height = new_size.height; + self.surface.configure(&self.device, &self.config); + } + } + + pub fn update(&mut self) { + self.state.borrow_mut().update(&UpdateContext { + device: &self.device, + queue: &self.queue, + keys: &self.keys, + window: &self.window, + }); + self.keys.tick_keys(); + } + pub fn render(&self) -> Result<(), wgpu::SurfaceError> { + let output = self.surface.get_current_texture()?; + + let mut encoder = self.device.create_command_encoder(&Default::default()); + + self.state.borrow().render(self, &output.texture, &mut encoder); + + self.queue.submit(std::iter::once(encoder.finish())); + output.present(); + + Ok(()) + } +} + +pub struct InitContext<'a> { + pub device: &'a Device, + pub queue: &'a Queue, + pub window: &'a Window, + pub config: &'a SurfaceConfiguration, +} + +pub struct UpdateContext<'a> { + pub device: &'a Device, + pub queue: &'a Queue, + pub keys: &'a Keys, + pub window: &'a Window, +} + +pub trait EngineState { + fn new(context: InitContext) -> Self + where + Self: Sized; + fn update(&mut self, device: &UpdateContext); + fn render(&self, engine: &Engine, surface: &Texture, encoder: &mut CommandEncoder); +} diff --git a/src/game.rs b/src/game.rs new file mode 100644 index 0000000..f52dac6 --- /dev/null +++ b/src/game.rs @@ -0,0 +1,58 @@ +use loading::LoadingState; +use wgpu::RenderPass; + +use crate::engine::{self, Engine, EngineState, UpdateContext}; + +mod anm; +mod loading; +mod title; + +pub struct Game { + anm_manager: anm::Manager, + loading: LoadingState, +} + +struct GameInitContext<'a> { + anm_manager: &'a mut anm::Manager, + engine: engine::InitContext<'a>, +} + +struct GameUpdateContext<'a> { + engine: &'a UpdateContext<'a>, + anm_manager: &'a mut anm::Manager, +} + +trait GameState { + fn update(&mut self, _context: &GameUpdateContext) {} +} + +impl EngineState for Game { + fn new(context: crate::engine::InitContext) -> Self + where + Self: Sized, + { + let mut anm_manager = anm::Manager::new(&context); + + let mut context = GameInitContext { + anm_manager: &mut anm_manager, + engine: context, + }; + + Self { + loading: LoadingState::new(&mut context), + anm_manager, + } + } + + fn update(&mut self, _context: &UpdateContext) { + self.loading.update(&GameUpdateContext { + engine: _context, + anm_manager: &mut self.anm_manager, + }); + self.anm_manager.update(); + } + + fn render(&self, engine: &crate::engine::Engine, surface: &wgpu::Texture, encoder: &mut wgpu::CommandEncoder) { + self.anm_manager.render(&engine, surface, encoder) + } +} diff --git a/src/game/anm/blit_screen.wgsl b/src/game/anm/blit_screen.wgsl new file mode 100644 index 0000000..3356df1 --- /dev/null +++ b/src/game/anm/blit_screen.wgsl @@ -0,0 +1,29 @@ +struct VertexOutput { + @builtin(position) clip_pos: vec4, + @location(0) texture_coords: vec2, +} + +@vertex +fn vs_main( + @builtin(vertex_index) in_vertex_index: u32, +) -> VertexOutput { + var out: VertexOutput; + var vertex_pos = vec2( + f32(in_vertex_index & 1), + f32(in_vertex_index >> 1), + ); + + out.clip_pos = vec4(vertex_pos * 2 - 1, 0.0, 1.0); + out.texture_coords = vec2(vertex_pos.x, 1 - vertex_pos.y); + return out; +} + +@group(0) @binding(0) +var t_diffuse: texture_2d; +@group(1) @binding(0) +var s_diffuse: sampler; + +@fragment +fn fs_main(in: VertexOutput) -> @location(0) vec4 { + return textureSample(t_diffuse, s_diffuse, in.texture_coords); +} diff --git a/src/game/anm/image.rs b/src/game/anm/image.rs new file mode 100644 index 0000000..ed22ec5 --- /dev/null +++ b/src/game/anm/image.rs @@ -0,0 +1,318 @@ +// stolen from truth + +use std::io::Cursor; + +use anyhow::Context; +use truth::{ + anm::Entry, io::{BinRead, BinWrite} +}; + +const FORMAT_ARGB_8888: u32 = 1; +const FORMAT_RGB_565: u32 = 3; +const FORMAT_ARGB_4444: u32 = 5; +const FORMAT_GRAY_8: u32 = 7; + +pub struct Image { + pub data: Vec, + pub width: usize, + pub height: usize, +} + +pub fn produce_image_from_entry(entry: &Entry) -> anyhow::Result { + let image_data = entry.img_data().context("anm entry has no image data")?; + let format = ColorFormat::from_format_num(entry.img_format().context("anm entry has no image format")?) + .context("unable to find image format")?; + let (width, height) = ( + entry.img_width().context("anm entry has no width")? as usize, + entry.img_height().context("anm entry has no height")? as usize, + ); + let mut content = format.transcode_to_argb_8888(image_data); + + let (final_width, final_height) = (entry.specs.rt_width as usize, entry.specs.rt_height as usize); + let mut final_image = vec![0xFF; 4 * final_width * final_height]; + + use ndarray::prelude::*; + + let mut final_view = ArrayViewMut2::from_shape((4 * final_width, final_height), &mut final_image) + .expect("failed to interpret final image as a 2d array"); + println!("rt: {final_width}x{final_height} entry: {width}x{height}"); + let mut content_view = final_view.slice_mut(s![0..width * 4, 0..height]); + content_view.assign(&ArrayView2::from_shape((4 * width, height), &mut content).unwrap()); + + let image = Image { + data: content, + width: width, + height: height, + }; + + Ok(image) +} + +#[repr(u32)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] +enum ColorFormat { + Argb8888 = FORMAT_ARGB_8888, + Rgb565 = FORMAT_RGB_565, + Argb4444 = FORMAT_ARGB_4444, + Gray8 = FORMAT_GRAY_8, +} + +impl ColorFormat { + pub fn from_format_num(num: u32) -> Option { + match num { + FORMAT_ARGB_8888 => Some(Self::Argb8888), + FORMAT_RGB_565 => Some(Self::Rgb565), + FORMAT_ARGB_4444 => Some(Self::Argb4444), + FORMAT_GRAY_8 => Some(Self::Gray8), + _ => None, + } + } + + // pub fn get_all() -> Vec { + // vec![ + // ColorFormat::Argb8888, + // ColorFormat::Rgb565, + // ColorFormat::Argb4444, + // ColorFormat::Gray8, + // ] + // } + + pub fn transcode_to_argb_8888(&self, bytes: &[u8]) -> Vec { + match self { + ColorFormat::Argb8888 => bytes.to_vec(), + ColorFormat::Rgb565 => Argb8888::encode(&Rgb565::decode(bytes)), + ColorFormat::Argb4444 => Argb8888::encode(&Argb4444::decode(bytes)), + ColorFormat::Gray8 => Argb8888::encode(&Gray8::decode(bytes)), + } + } +} + +#[derive(Debug, Copy, Clone, PartialEq, Eq)] +struct Components { + red: u8, + green: u8, + blue: u8, + alpha: u8, +} + +// #[cfg(test)] +// impl Components { +// pub const BLACK: Components = Components { +// red: 0, +// green: 0, +// blue: 0, +// alpha: 0xFF, +// }; +// pub const WHITE: Components = Components { +// red: 0xFF, +// green: 0xFF, +// blue: 0xFF, +// alpha: 0xFF, +// }; +// } + +/// Format which is the little-endian encoding of a 32-bit integer `0xAARRGGBB`. +#[derive(Debug, Copy, Clone, PartialEq, Eq)] +struct Argb8888(u32); + +/// Format which is the little-endian encoding of a 16-bit integer `0bRRRRR_GGGGGG_BBBBB`. +#[derive(Debug, Copy, Clone, PartialEq, Eq)] +struct Rgb565(u16); + +/// Format which is the little-endian encoding of a 16-bit integer `0xARGB`. +#[derive(Debug, Copy, Clone, PartialEq, Eq)] +struct Argb4444(u16); + +/// Format which is a single-byte luminosity channel. +#[derive(Debug, Copy, Clone, PartialEq, Eq)] +struct Gray8(u8); + +trait ColorBytes: Sized +where + Self: From, + Components: From, +{ + const BYTES_PER_PIXEL: usize; + fn read_color_bytes(r: R) -> Result; + fn write_color_bytes(&self, w: W) -> Result<(), W::Err>; + + fn decode(bytes: &[u8]) -> Vec { + assert_eq!(bytes.len() % Self::BYTES_PER_PIXEL, 0); + + let mut reader = Cursor::new(bytes); + (0..bytes.len() / Self::BYTES_PER_PIXEL) + .map(|_| Components::from(Self::read_color_bytes(&mut reader).unwrap())) + .collect() + } + + fn encode(colors: &[Components]) -> Vec { + let mut out = Cursor::new(Vec::with_capacity(colors.len() * Self::BYTES_PER_PIXEL)); + for &components in colors { + Self::from(components).write_color_bytes(&mut out).unwrap() + } + out.into_inner() + } +} + +impl From for Components { + fn from(color: Argb8888) -> Components { + let [alpha, red, green, blue] = color.0.to_be_bytes(); + Components { + blue, + green, + red, + alpha, + } + } +} + +impl From for Argb8888 { + fn from(components: Components) -> Self { + let Components { + blue, + green, + red, + alpha, + } = components; + Argb8888(u32::from_be_bytes([alpha, red, green, blue])) + } +} + +impl ColorBytes for Argb8888 { + const BYTES_PER_PIXEL: usize = 4; + + fn read_color_bytes(mut r: R) -> Result { + r.read_u32().map(Argb8888) + } + fn write_color_bytes(&self, mut w: W) -> Result<(), W::Err> { + w.write_u32(self.0) + } +} + +impl From for Components { + fn from(color: Rgb565) -> Components { + let blue = (color.0 & 0x1F) as u8; + let green = ((color.0 >> 5) & 0x3F) as u8; + let red = ((color.0 >> 11) & 0x1F) as u8; + Components { + blue: change_bit_depth::<5, 8>(blue), + green: change_bit_depth::<6, 8>(green), + red: change_bit_depth::<5, 8>(red), + alpha: 0xFF, + } + } +} + +impl From for Rgb565 { + fn from(components: Components) -> Self { + let blue = (components.blue >> 3) as u16; + let green = (components.green >> 2) as u16; + let red = (components.red >> 3) as u16; + + Rgb565((red << 11) + (green << 5) + blue) + } +} + +impl ColorBytes for Rgb565 { + const BYTES_PER_PIXEL: usize = 2; + + fn read_color_bytes(mut r: R) -> Result { + r.read_u16().map(Rgb565) + } + fn write_color_bytes(&self, mut w: W) -> Result<(), W::Err> { + w.write_u16(self.0) + } +} + +impl From for Components { + fn from(color: Argb4444) -> Components { + let blue = (color.0 & 0xF) as u8; + let green = ((color.0 >> 4) & 0xF) as u8; + let red = ((color.0 >> 8) & 0xF) as u8; + let alpha = (color.0 >> 12) as u8; + Components { + blue: change_bit_depth::<4, 8>(blue), + green: change_bit_depth::<4, 8>(green), + red: change_bit_depth::<4, 8>(red), + alpha: change_bit_depth::<4, 8>(alpha), + } + } +} + +impl From for Argb4444 { + fn from(components: Components) -> Self { + let blue = (components.blue >> 4) as u16; + let green = (components.green >> 4) as u16; + let red = (components.red >> 4) as u16; + let alpha = (components.alpha >> 4) as u16; + + Argb4444(((alpha * 16 + red) * 16 + green) * 16 + blue) + } +} + +impl ColorBytes for Argb4444 { + const BYTES_PER_PIXEL: usize = 2; + + fn read_color_bytes(mut r: R) -> Result { + r.read_u16().map(Argb4444) + } + fn write_color_bytes(&self, mut w: W) -> Result<(), W::Err> { + w.write_u16(self.0) + } +} + +impl From for Components { + fn from(Gray8(value): Gray8) -> Components { + Components { + blue: value, + green: value, + red: value, + alpha: 0xFF, + } + } +} + +impl From for Gray8 { + fn from(components: Components) -> Self { + let Components { + blue, + green, + red, + alpha: _, + } = components; + let y = (red as f32) * 0.2126 + (green as f32) * 0.7152 + (blue as f32) * 0.0722; + + // To overcome rounding error from the decimal coefficients, a tiny amount is added + // which is smaller than the smallest possible contribution of a color value (0.0722), + // and larger than the size of the rounding errors (~255 * 1e-7); + // + // Float to int is defined to saturate in rust, so no need to clip the float. + let byte = (y + 0.001) as u8; + Gray8(byte) + } +} + +impl ColorBytes for Gray8 { + const BYTES_PER_PIXEL: usize = 1; + + fn read_color_bytes(mut r: R) -> Result { + r.read_u8().map(Gray8) + } + fn write_color_bytes(&self, mut w: W) -> Result<(), W::Err> { + w.write_u8(self.0) + } +} + +// take a color value that is N bits large and rescale it to M bits. +#[inline(always)] +fn change_bit_depth(x: u8) -> u8 { + assert!(OUT <= IN * 2); + if OUT <= IN { + // downsizing + x >> (IN - OUT) + } else { + // upsizing. The left shift will produce some zero bits, which we fill with + // a copy of the most significant bits to evenly spread out the change + x << (OUT - IN) | x >> (2 * IN - OUT) + } +} diff --git a/src/game/anm/loaded_file.rs b/src/game/anm/loaded_file.rs new file mode 100644 index 0000000..d766813 --- /dev/null +++ b/src/game/anm/loaded_file.rs @@ -0,0 +1,215 @@ +use std::{io::Cursor, ops::Add, rc::Rc}; + +use bytemuck::{Pod, Zeroable}; +use glam::Vec2; +use nonoverlapping_interval_tree::NonOverlappingIntervalTree; +use truth::{context::RootEmitter, io::BinReader, AnmFile, Game}; +use wgpu::{ + naga::FastHashMap, util::DeviceExt, BindGroup, BindGroupDescriptor, BindGroupEntry, BindGroupLayoutDescriptor, BindGroupLayoutEntry, Device, Extent3d, Queue, ShaderStages, Texture, TextureDescriptor, TextureDimension, TextureFormat, TextureUsages +}; +use winit::window::Window; + +use super::{ + image::{produce_image_from_entry, Image}, vm::opcodes::Instruction +}; + +pub struct LoadedEntry { + _texture: Texture, + pub bind_group: BindGroup, + + _rt_texture_size: Vec2, + pub sprites: Vec, +} + +impl LoadedEntry { + fn load(device: &Device, queue: &Queue, window: &Window, entry: &truth::anm::Entry) -> Rc { + let image = entry.img_data().is_some().then(|| produce_image_from_entry(&entry).expect("failed to parse...")); + + let (width, height, usages) = if *entry.path == "@R" { + let size = window.inner_size(); + ( + size.width, + size.height, + TextureUsages::TEXTURE_BINDING + | TextureUsages::RENDER_ATTACHMENT + | TextureUsages::COPY_SRC + | TextureUsages::COPY_DST, + ) + } else { + let (width, height) = image + .as_ref() + .map(|image| (image.width, image.height)) + .unwrap_or((entry.specs.rt_width as usize, entry.specs.rt_height as usize)); + (width as u32, height as u32, TextureUsages::TEXTURE_BINDING) + }; + + let (texture, bind_group) = Self::init_graphics(device, queue, entry, width, height, image, usages); + + let entry_size = Vec2::new(width as f32, height as f32); + + let sprites = entry.sprites.iter().map(|(_, sprite)| LoadedSprite::load(sprite, entry_size)).collect::>(); + + Rc::new(LoadedEntry { + _texture: texture, + bind_group, + _rt_texture_size: entry_size, + sprites, + }) + } + + fn init_graphics( + device: &Device, + queue: &Queue, + entry: &truth::anm::Entry, + width: u32, + height: u32, + image: Option, + usages: TextureUsages, + ) -> (Texture, BindGroup) { + let descriptor = &TextureDescriptor { + label: Some(entry.path.as_str()), + size: Extent3d { + width, + height, + depth_or_array_layers: 1, + }, + mip_level_count: 1, + sample_count: 1, + dimension: TextureDimension::D2, + format: TextureFormat::Bgra8Unorm, + usage: usages, + view_formats: &[], + }; + + let texture = if let Some(image) = image { + let _ = std::fs::create_dir_all("engine_dump"); + + device.create_texture_with_data( + &queue, + descriptor, + wgpu::util::TextureDataOrder::LayerMajor, + &image.data, + ) + } else { + device.create_texture(descriptor) + }; + + let bind_group = device.create_bind_group(&BindGroupDescriptor { + label: Some("anm bind group"), + entries: &[BindGroupEntry { + binding: 0, + resource: wgpu::BindingResource::TextureView(&texture.create_view(&Default::default())), + }], + layout: &device.create_bind_group_layout(&BindGroupLayoutDescriptor { + entries: &[BindGroupLayoutEntry { + binding: 0, + count: None, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, + multisampled: false, + }, + visibility: ShaderStages::FRAGMENT, + }], + label: None, + }), + }); + + (texture, bind_group) + } +} + +#[derive(Default, Debug, Clone, Copy)] +pub struct LoadedSprite { + pub uvs: SpriteUvs, + pub size: Vec2, +} + +#[derive(Default, Debug, Clone, Copy, Pod, Zeroable)] +#[repr(C, packed)] +pub struct SpriteUvs { + pub top_left_uv: Vec2, + pub bottom_right_uv: Vec2, +} + +impl LoadedSprite { + fn load(sprite: &truth::anm::Sprite, entry_size: Vec2) -> LoadedSprite { + let offset = Vec2::new(sprite.offset[0] as f32, sprite.offset[1] as f32); + let size = Vec2::new(sprite.size[0] as f32, sprite.size[1] as f32); + let top_left_uv = offset / entry_size; + let bottom_right_uv = (offset + size) / entry_size; + LoadedSprite { + uvs: SpriteUvs { + top_left_uv, + bottom_right_uv, + }, + size, + } + } +} + +impl Add for SpriteUvs { + type Output = Self; + + fn add(self, rhs: Vec2) -> Self::Output { + Self { + top_left_uv: self.top_left_uv + rhs, + bottom_right_uv: self.bottom_right_uv + rhs, + } + } +} + +pub struct LoadedScript { + pub instructions: Vec, +} + +impl LoadedScript { + fn load(script: &truth::anm::Script) -> Rc { + let mut offset_instructions: FastHashMap<_, _> = Default::default(); + let mut current_offset = 0; + for (index, inst) in script.instrs.iter().enumerate() { + offset_instructions.insert(current_offset, index); + current_offset += 8 + inst.args_blob.len() as u32 + } + + let instructions: Vec<_> = + script.instrs.iter().map(|inst| Instruction::from_raw(inst.clone(), &offset_instructions)).collect(); + + Rc::new(LoadedScript { instructions }) + } +} + +pub struct LoadedFile { + pub scripts: Vec>, + pub sprite_entries: NonOverlappingIntervalTree)>, +} + +impl LoadedFile { + pub fn load(device: &Device, queue: &Queue, window: &Window, file_name: &str, file_data: &[u8]) -> Rc { + let file = AnmFile::read_from_stream( + &mut BinReader::from_reader(&RootEmitter::new_stderr(), file_name, Cursor::new(file_data)), + Game::Th11, + true, + ) + .unwrap(); + + let scripts = + file.entries.iter().flat_map(|entry| &entry.scripts).map(|(_, script)| LoadedScript::load(script)).collect(); + + let entries = file.entries.iter().map(|entry| LoadedEntry::load(device, queue, window, entry)).collect::>(); + + let mut sprite_entries = NonOverlappingIntervalTree::new(); + + let mut id = 0; + for entry in &entries { + let start = id; + id += entry.sprites.len() as u32; + sprite_entries.insert(start..id, (start, entry.clone())); + } + + Rc::new(Self { + scripts, + sprite_entries, + }) + } +} diff --git a/src/game/anm/manager.rs b/src/game/anm/manager.rs new file mode 100644 index 0000000..7c8082a --- /dev/null +++ b/src/game/anm/manager.rs @@ -0,0 +1,337 @@ +use std::{ + cell::RefCell, collections::VecDeque, num::NonZero, path::Path, rc::{Rc, Weak} +}; + +use bytemuck::{bytes_of, Pod, Zeroable}; +use glam::{Mat4, Vec3, Vec4}; +use num_traits::FloatConst; +use wgpu::{ + include_wgsl, naga::FastHashMap, util::{BufferInitDescriptor, DeviceExt}, BindGroup, BindGroupDescriptor, BindGroupEntry, BindGroupLayoutDescriptor, BindGroupLayoutEntry, BindingResource, BlendState, Buffer, BufferUsages, ColorTargetState, ColorWrites, Device, FragmentState, PipelineLayout, PipelineLayoutDescriptor, PrimitiveState, Queue, RenderPipeline, RenderPipelineDescriptor, ShaderModule, ShaderStages, VertexState +}; +use winit::window::Window; + +use crate::engine::InitContext; + +use super::{ + loaded_file::{LoadedFile, SpriteUvs}, AnmVm +}; + +mod location; +mod rendering; + +pub use location::VmLocation; +pub type Vm = Rc>; +pub type WeakVm = Weak>; + +#[derive(Default, Clone, Copy, Pod, Zeroable)] +#[repr(C, packed)] +pub(super) struct Instance { + matrix: Mat4, + sprite_uv: SpriteUvs, + color: Vec4, +} + +#[derive(Clone, Copy, Pod, Zeroable)] +#[repr(C, packed)] +struct Uniform { + proj_matrix: Mat4, +} + +pub struct Manager { + anm_files: FastHashMap>, + world_backbuffer_anm: WeakVm, + + ui_vms: VecDeque, + world_vms: VecDeque, + + ui_uniform: Uniform, + _world_uniform: Uniform, + uniform_buffer: Buffer, + render_bind_group: BindGroup, + render_pipeline_layout: PipelineLayout, + render_shader: ShaderModule, + blit_pipeline: RenderPipeline, +} + +impl Manager { + pub fn new(context: &InitContext) -> Manager { + let texture_bind_group_layout = context.device.create_bind_group_layout(&BindGroupLayoutDescriptor { + entries: &[BindGroupLayoutEntry { + binding: 0, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, + multisampled: false, + }, + count: None, + visibility: ShaderStages::FRAGMENT, + }], + label: None, + }); + + let bind_group_layout = context.device.create_bind_group_layout(&BindGroupLayoutDescriptor { + label: None, + entries: &[ + BindGroupLayoutEntry { + binding: 0, + ty: wgpu::BindingType::Sampler(wgpu::SamplerBindingType::Filtering), + count: None, + visibility: ShaderStages::FRAGMENT, + }, + BindGroupLayoutEntry { + binding: 1, + count: None, + visibility: ShaderStages::VERTEX, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, + min_binding_size: Some(NonZero::new(std::mem::size_of::() as u64).unwrap()), + }, + }, + ], + }); + + let sampler = context.device.create_sampler(&wgpu::SamplerDescriptor { + label: Some("sampler"), + address_mode_u: wgpu::AddressMode::ClampToEdge, + address_mode_v: wgpu::AddressMode::ClampToEdge, + address_mode_w: wgpu::AddressMode::ClampToEdge, + mag_filter: wgpu::FilterMode::Linear, + min_filter: wgpu::FilterMode::Nearest, + mipmap_filter: wgpu::FilterMode::Nearest, + ..Default::default() + }); + + let ui_uniform = Uniform { + proj_matrix: Mat4::orthographic_lh(0.0, 640.0, 480.0, 0.0, -1.0, 1.0), + }; + + let uniform_buffer = context.device.create_buffer_init(&BufferInitDescriptor { + contents: bytes_of(&ui_uniform), + label: Some("uniform"), + usage: BufferUsages::UNIFORM | BufferUsages::COPY_DST, + }); + + let render_bind_group = context.device.create_bind_group(&BindGroupDescriptor { + label: Some("render bind group"), + layout: &bind_group_layout, + entries: &[ + BindGroupEntry { + binding: 0, + resource: BindingResource::Sampler(&sampler), + }, + BindGroupEntry { + binding: 1, + resource: BindingResource::Buffer(uniform_buffer.as_entire_buffer_binding()), + }, + ], + }); + + let pipeline_layout = context.device.create_pipeline_layout(&PipelineLayoutDescriptor { + label: None, + bind_group_layouts: &[&texture_bind_group_layout, &bind_group_layout], + push_constant_ranges: &[], + }); + + let render_shader = context.device.create_shader_module(include_wgsl!("./render.wgsl")); + + let shader = context.device.create_shader_module(include_wgsl!("./blit_screen.wgsl")); + + let blit_pipeline = context.device.create_render_pipeline(&RenderPipelineDescriptor { + label: Some("blit"), + layout: Some(&pipeline_layout), + vertex: VertexState { + buffers: &[], + module: &shader, + compilation_options: Default::default(), + entry_point: "vs_main", + }, + primitive: PrimitiveState { + topology: wgpu::PrimitiveTopology::TriangleStrip, + ..Default::default() + }, + depth_stencil: None, + multisample: Default::default(), + fragment: Some(FragmentState { + targets: &[Some(ColorTargetState { + format: context.config.format, + blend: Some(BlendState::ALPHA_BLENDING), + write_mask: ColorWrites::ALL, + })], + compilation_options: Default::default(), + entry_point: "fs_main", + module: &shader, + }), + multiview: None, + cache: None, + }); + + Manager { + anm_files: FastHashMap::default(), + world_backbuffer_anm: Weak::new(), + + ui_vms: VecDeque::new(), + world_vms: VecDeque::new(), + + ui_uniform, + _world_uniform: Uniform { + proj_matrix: Mat4::perspective_lh( + 45.0 * (f32::PI() / 180.0), + context.config.width as f32 / context.config.height as f32, + 0.1, + 1000.0, + ), + }, + uniform_buffer, + render_bind_group, + render_pipeline_layout: pipeline_layout, + render_shader, + blit_pipeline, + } + } + + pub fn load_anm(&mut self, device: &Device, queue: &Queue, window: &Window, file_name: &str) -> Rc { + if let Some(loaded_anm) = self.anm_files.get(file_name) { + return loaded_anm.clone(); + } + let file_data = std::fs::read(Path::new("./assets").join(file_name)).expect("failed to load anm file"); + let loaded_anm = LoadedFile::load(device, queue, window, file_name, &file_data); + + self.anm_files.insert(file_name.to_owned(), loaded_anm.clone()); + loaded_anm + } + + #[allow(unused)] + pub fn set_world_backbuffer_anm(&mut self, file: Rc, script: usize) -> Vm { + let vm = Rc::new(RefCell::new(AnmVm::new(file, None, false, script, 0))); + self.update_single(&vm); + + self.world_backbuffer_anm = Rc::downgrade(&vm); + + vm + } + + pub fn new_vm( + &mut self, + file: Rc, + origin: Option, + ticked_by_parent: bool, + script: usize, + location: VmLocation, + ) -> Vm { + let layer = location.layer(); + + let vm = Rc::new(RefCell::new(AnmVm::new(file, origin, ticked_by_parent, script, layer))); + self.update_single(&vm); + + let mut context = ManagerUpdate::new(); + vm.borrow_mut().tick(&mut context); + + let (vm_list, front) = match location { + VmLocation::Ui { front, .. } => (&mut self.ui_vms, front), + VmLocation::World { front, .. } => (&mut self.world_vms, front), + }; + + if front { + vm_list.push_front(Rc::downgrade(&vm)) + } else { + vm_list.push_back(Rc::downgrade(&vm)); + } + + vm + } + + fn update_single(&mut self, vm: &Vm) { + let mut context = ManagerUpdate::new(); + vm.borrow_mut().tick(&mut context); + context.apply_lists(&mut self.ui_vms, &mut self.world_vms); + } + + fn update_list(list: &mut VecDeque, context: &mut ManagerUpdate) { + list.retain(|value| { + if let Some(rc) = value.upgrade() { + !rc.borrow().deleted + } else { + false + } + }); + + for vm in list { + if let Some(vm) = vm.upgrade() { + if !vm.borrow().ticked_by_parent { + vm.borrow_mut().tick(context); + } + } + } + } + + pub fn update(&mut self) { + let mut context = ManagerUpdate::new(); + + Self::update_list(&mut self.world_vms, &mut context); + Self::update_list(&mut self.ui_vms, &mut context); + + context.apply_lists(&mut self.ui_vms, &mut self.world_vms); + } +} + +#[derive(Default)] +pub(super) struct ManagerUpdate { + new_ui_vms_front: Vec, + new_ui_vms_back: Vec, + new_world_vms_front: Vec, + new_world_vms_back: Vec, +} + +impl ManagerUpdate { + fn new() -> Self { + Self::default() + } + + pub fn new_vm( + &mut self, + file: Rc, + origin: Option, + ticked_by_parent: bool, + script: usize, + location: VmLocation, + ) -> Vm { + let layer = location.layer(); + + let vm = Rc::new(RefCell::new(AnmVm::new(file, origin, ticked_by_parent, script, layer))); + vm.borrow_mut().tick(self); + + let vm_list = match location { + VmLocation::Ui { front, .. } => { + if front { + &mut self.new_ui_vms_front + } else { + &mut self.new_ui_vms_back + } + } + VmLocation::World { front, .. } => { + if front { + &mut self.new_world_vms_front + } else { + &mut self.new_world_vms_back + } + } + }; + + vm_list.push(Rc::downgrade(&vm)); + + vm + } + + fn apply_to_list(list: &mut VecDeque, front: Vec, back: Vec) { + for vm in front.into_iter().rev() { + list.push_front(vm.clone()); + } + list.extend(back.into_iter()); + } + + fn apply_lists(self, ui_list: &mut VecDeque, world_list: &mut VecDeque) { + Self::apply_to_list(ui_list, self.new_ui_vms_front, self.new_ui_vms_back); + Self::apply_to_list(world_list, self.new_world_vms_front, self.new_world_vms_back); + } +} diff --git a/src/game/anm/manager/location.rs b/src/game/anm/manager/location.rs new file mode 100644 index 0000000..3b51ad0 --- /dev/null +++ b/src/game/anm/manager/location.rs @@ -0,0 +1,41 @@ +pub enum VmLocation { + Ui { front: bool, layer: u32 }, + World { front: bool, layer: u32 }, +} + +impl VmLocation { + pub fn new() -> Self { + Self::World { front: false, layer: 0 } + } + pub fn new_ui() -> Self { + Self::Ui { + front: false, + layer: 30, + } + } + pub fn new_child(layer: u32) -> Self { + Self::World { front: false, layer } + } + pub fn new_child_ui(layer: u32) -> Self { + Self::Ui { front: false, layer } + } + pub fn new_front() -> Self { + Self::World { front: true, layer: 0 } + } + pub fn new_ui_front() -> Self { + Self::Ui { front: true, layer: 30 } + } + pub fn new_child_front(layer: u32) -> Self { + Self::World { front: true, layer } + } + pub fn new_child_ui_front(layer: u32) -> Self { + Self::Ui { front: true, layer } + } + + pub fn layer(&self) -> u32 { + match self { + VmLocation::Ui { layer, .. } => *layer, + VmLocation::World { layer, .. } => *layer, + } + } +} diff --git a/src/game/anm/manager/rendering.rs b/src/game/anm/manager/rendering.rs new file mode 100644 index 0000000..08077c3 --- /dev/null +++ b/src/game/anm/manager/rendering.rs @@ -0,0 +1,200 @@ +use bytemuck::bytes_of; +use glam::{Mat4, Vec3}; +use wgpu::{ + BufferDescriptor, BufferUsages, Color, ColorTargetState, ColorWrites, FragmentState, LoadOp, Operations, PrimitiveState, RenderPass, RenderPassColorAttachment, RenderPassDescriptor, RenderPipeline, RenderPipelineDescriptor, VertexAttribute, VertexBufferLayout, VertexState +}; + +use crate::{ + engine::Engine, game::anm::{vm::RenderingState, AnmVm} +}; + +use super::{Instance, Manager}; + +impl Manager { + fn new_pipeline(&self, engine: &Engine, vm: &AnmVm) -> RenderPipeline { + let render_pipeline = engine.device.create_render_pipeline(&RenderPipelineDescriptor { + label: Some("anm"), + layout: Some(&self.render_pipeline_layout), + vertex: VertexState { + buffers: &[VertexBufferLayout { + attributes: &[ + VertexAttribute { + format: wgpu::VertexFormat::Float32x4, + offset: 16 * 0, + shader_location: 0, + }, + VertexAttribute { + format: wgpu::VertexFormat::Float32x4, + offset: 16 * 1, + shader_location: 1, + }, + VertexAttribute { + format: wgpu::VertexFormat::Float32x4, + offset: 16 * 2, + shader_location: 2, + }, + VertexAttribute { + format: wgpu::VertexFormat::Float32x4, + offset: 16 * 3, + shader_location: 3, + }, + VertexAttribute { + format: wgpu::VertexFormat::Float32x4, + offset: 16 * 4, + shader_location: 4, + }, + VertexAttribute { + format: wgpu::VertexFormat::Float32x4, + offset: 16 * 5, + shader_location: 5, + }, + ], + array_stride: std::mem::size_of::() as u64, + step_mode: wgpu::VertexStepMode::Instance, + }], + entry_point: "vs_main", + compilation_options: Default::default(), + module: &self.render_shader, + }, + primitive: PrimitiveState { + topology: wgpu::PrimitiveTopology::TriangleStrip, + ..Default::default() + }, + depth_stencil: None, + multisample: Default::default(), + fragment: Some(FragmentState { + targets: &[Some(ColorTargetState { + format: engine.config.format, + blend: Some(vm.blend_state), + write_mask: ColorWrites::ALL, + })], + compilation_options: Default::default(), + entry_point: "fs_main", + module: &self.render_shader, + }), + multiview: Default::default(), + cache: Default::default(), + }); + + render_pipeline + } + + pub fn render_vms(&self, engine: &Engine, pass: &mut RenderPass) { + for vm in &self.ui_vms { + if let Some(vm) = vm.upgrade() { + self.render_vm(engine, pass, &vm.borrow(), &Vec3::ZERO); + } + } + } + + fn render_vm(&self, engine: &Engine, pass: &mut RenderPass, vm: &AnmVm, parent_origin: &Vec3) { + if !vm.visible { + return; + } + if let Some((sprite, entry)) = vm.sprite_entry_pair() { + let mut rendering_state = vm.rendering_state.borrow_mut(); + if rendering_state.is_none() { + let instance_buffer = engine.device.create_buffer(&BufferDescriptor { + label: Some("instances"), + usage: BufferUsages::VERTEX | BufferUsages::COPY_DST, + mapped_at_creation: false, + size: std::mem::size_of::() as u64, + }); + + *rendering_state = Some(RenderingState { + instance_buffer: instance_buffer, + pipeline: self.new_pipeline(engine, vm), + }); + } + + let rendering_state = &rendering_state.as_ref().unwrap(); + + let anchor_offset = (sprite.size * vm.anchor_offset).extend(0.0); + let translation_mat = Mat4::from_translation(vm.position() - anchor_offset); + + let rest_mat = + Mat4::from_scale_rotation_translation((sprite.size * vm.scale()).extend(1.0), vm.rotation(), Vec3::ZERO); + + engine.queue.write_buffer( + &rendering_state.instance_buffer, + 0, + bytes_of(&Instance { + matrix: translation_mat * rest_mat, + sprite_uv: sprite.uvs + vm.scroll(), + color: vm.color().extend(vm.alpha()), + }), + ); + + pass.set_pipeline(&rendering_state.pipeline); + pass.set_bind_group(0, &entry.bind_group, &[]); + pass.set_bind_group(1, &self.render_bind_group, &[]); + pass.set_vertex_buffer(0, rendering_state.instance_buffer.slice(..)); + pass.draw(0..4, 0..1 as u32); + } + + // let origin_vec = parent_origin + vm.origin_vec; + for child in vm.children.iter() { + let child = child.borrow(); + self.render_vm(engine, pass, &child, &parent_origin); + } + } + + fn render_ui(&self, engine: &Engine, encoder: &mut wgpu::CommandEncoder, surface: &wgpu::Texture) { + engine.queue.write_buffer(&self.uniform_buffer, 0, bytes_of(&self.ui_uniform)); + let mut pass = encoder.begin_render_pass(&RenderPassDescriptor { + label: Some("anm"), + color_attachments: &[Some(RenderPassColorAttachment { + view: &surface.create_view(&Default::default()), + resolve_target: None, + ops: Operations { + load: LoadOp::Clear(Color { + r: 100. / 255., + g: 149. / 255., + b: 237. / 255., + a: 1.0, + }), + // load: LoadOp::Load, + ..Default::default() + }, + })], + ..Default::default() + }); + + self.render_vms(engine, &mut pass); + } + + pub fn render(&self, engine: &Engine, surface: &wgpu::Texture, encoder: &mut wgpu::CommandEncoder) { + if let Some(backbuffer_anm) = self.world_backbuffer_anm.upgrade() { + let mut pass = encoder.begin_render_pass(&RenderPassDescriptor { + label: Some("blit"), + color_attachments: &[Some(RenderPassColorAttachment { + view: &surface.create_view(&Default::default()), + resolve_target: None, + ops: Operations { + load: LoadOp::Clear(Color { + r: 100. / 255., + g: 149. / 255., + b: 0. / 255., + a: 1.0, + }), + ..Default::default() + }, + })], + ..Default::default() + }); + + pass.set_pipeline(&self.blit_pipeline); + pass.set_bind_group( + 0, + &backbuffer_anm.borrow().sprite_entry_pair().unwrap().1.bind_group, + &[], + ); + pass.set_bind_group(1, &self.render_bind_group, &[]); + pass.draw(0..4, 0..1); + } else { + // encoder.clear_texture(surface, &Default::default()); + } + + self.render_ui(engine, encoder, surface); + } +} diff --git a/src/game/anm/mod.rs b/src/game/anm/mod.rs new file mode 100644 index 0000000..ec567c1 --- /dev/null +++ b/src/game/anm/mod.rs @@ -0,0 +1,7 @@ +mod image; +mod loaded_file; +mod manager; +mod vm; + +pub use manager::{Manager, VmLocation, Vm}; +pub use vm::AnmVm; diff --git a/src/game/anm/render.wgsl b/src/game/anm/render.wgsl new file mode 100644 index 0000000..025f9f2 --- /dev/null +++ b/src/game/anm/render.wgsl @@ -0,0 +1,60 @@ +struct VertexOutput { + @builtin(position) clip_pos: vec4, + @location(0) texture_coords: vec2, + @location(1) color: vec4, +}; + +struct Sprite { + top_left: vec2, + bottom_right: vec2, +} + +fn rescale_to_sprite(pos: vec2, sprite_coords: vec4) -> vec2 { + let dir = (sprite_coords.zw - sprite_coords.xy); + + return sprite_coords.xy + (dir * pos); +} + +struct VmInstance { + @location(0) mtx_0: vec4, + @location(1) mtx_1: vec4, + @location(2) mtx_2: vec4, + @location(3) mtx_3: vec4, + @location(4) sprite: vec4, + @location(5) color: vec4, +} + +@group(1) @binding(1) +var proj_mtx: mat4x4; + +@vertex +fn vs_main( + @builtin(vertex_index) in_vertex_index: u32, + instance: VmInstance, +) -> VertexOutput { + var out: VertexOutput; + var vertex_pos = vec2( + f32(in_vertex_index & 1), + f32(in_vertex_index >> 1), + ); + var in_mtx = mat4x4( + instance.mtx_0, + instance.mtx_1, + instance.mtx_2, + instance.mtx_3, + ); + out.clip_pos = proj_mtx * in_mtx * vec4((vertex_pos.x), vertex_pos.y, 0.0, 1.0); + out.texture_coords = rescale_to_sprite(vertex_pos, instance.sprite); + out.color = instance.color; + return out; +} + +@group(0) @binding(0) +var t_diffuse: texture_2d; +@group(1) @binding(0) +var s_diffuse: sampler; + +@fragment +fn fs_main(in: VertexOutput) -> @location(0) vec4 { + return textureSample(t_diffuse, s_diffuse, in.texture_coords); +} diff --git a/src/game/anm/vm/execute.rs b/src/game/anm/vm/execute.rs new file mode 100644 index 0000000..945b7fa --- /dev/null +++ b/src/game/anm/vm/execute.rs @@ -0,0 +1,281 @@ +use glam::{Vec2, Vec3}; +use num_traits::{FloatConst, FromPrimitive}; +use rand::Rng; + +use crate::{ + game::anm::{manager::ManagerUpdate, VmLocation}, interp::Mode +}; + +use super::{ + opcodes::{Instruction, Op, Param, PrimOp, PrimSetOp}, AnmVm +}; + +impl AnmVm { + fn next_instruction(&mut self) -> Option { + let instructions = &self.script.instructions; + if self.pc >= instructions.len() { + return None; + } + let instruction = instructions[self.pc]; + if self.time < instruction.time { + return None; + } + + self.pc += 1; + Some(instruction) + } + + pub(super) fn advance_time(&mut self) { + if self.waiting.is_none() { + self.time += 1; + } + } + + fn store_int(&mut self, var: i32, value: i32) { + match var { + 10000..=10009 => self.gp_vars[var as usize - 10000] = value, + 10010..=10012 | 10022 => {} // rand + 10013..=10015 => {} + // 10013 => self.position.current().x = value as f32, + // 10014 => self.position.current().y = value as f32, + // 10015 => self.position.current().z = value as f32, + _ => unimplemented!("unimplemented variable {var}"), + } + } + + fn store_float(&mut self, var: i32, value: f32) { + match var { + 10000..=10009 => self.gp_vars[var as usize - 10000] = i32::from_ne_bytes(f32::to_ne_bytes(value)), + 10010..=10012 | 10022 => {} // rand + 10013..=10015 => {} + // 10013 => self.position.current().x = value as f32, + // 10014 => self.position.current().y = value as f32, + // 10015 => self.position.current().z = value as f32, + _ => unimplemented!("unimplemented variable {var}"), + } + } + + fn param_int(&self, param: Param) -> i32 { + match param { + Param::Variable(var) => match var { + 10000..=10009 => self.gp_vars[var as usize - 10000], + 10010 => rand::thread_rng().gen_range((-f32::PI() as i32)..(f32::PI() as i32)), + 10011 => rand::thread_rng().gen_range(0..1), + 10012 => rand::thread_rng().gen_range(-1..1), + 10013 => self.position_interpolator.current().x as i32, + 10014 => self.position_interpolator.current().y as i32, + 10015 => self.position_interpolator.current().z as i32, + 10016..=10021 => unimplemented!("global rocking vectors not implemented"), + 10022 => rand::thread_rng().gen::(), + _ => unimplemented!("unimplemented variable {var}"), + }, + Param::Value(value) => value, + } + } + + fn param_float(&self, param: Param) -> f32 { + match param { + Param::Variable(var) => { + match var { + 10000..=10009 => f32::from_ne_bytes(i32::to_ne_bytes(self.gp_vars[var as usize - 10000])), + 10010 => rand::thread_rng().gen_range(-f32::PI()..=f32::PI()), // rand + 10011 => rand::thread_rng().gen_range(0.0..=1.0), + 10012 => rand::thread_rng().gen_range(-1.0..=1.0), + 10013 => self.position_interpolator.current().x, + 10014 => self.position_interpolator.current().y, + 10015 => self.position_interpolator.current().z, + 10016..=10021 => unimplemented!("global rocking vectors not implemented"), + 10022 => rand::thread_rng().gen::() as f32, + _ => unimplemented!("unimplemented variable {var}"), + } + } + Param::Value(value) => value, + } + } + + pub(super) fn execute(&mut self, manager: &mut ManagerUpdate) { + while let Some(inst) = self.next_instruction() { + match inst.op { + Op::Nop => {} + Op::Delete => self.delete(), + Op::Sprite(sprite) => self.sprite = sprite, + Op::Jump { index, time } => { + self.pc = index; + self.time = time; + } + Op::IntOp { op, dest, input } => { + let op: fn(i32, i32) -> i32 = match op { + PrimOp::Set => |_, input| input, + PrimOp::Add => std::ops::Add::add, + PrimOp::Sub => std::ops::Sub::sub, + PrimOp::Mul => std::ops::Mul::mul, + PrimOp::Div => std::ops::Div::div, + PrimOp::Mod => std::ops::Rem::rem, + PrimOp::Rand => |_, end| rand::thread_rng().gen_range(0..end), + }; + + self.store_int(dest, op(self.param_int(Param::Variable(dest)), self.param_int(input))); + } + Op::FloatOp { op, dest, input } => { + let op: fn(f32, f32) -> f32 = match op { + PrimOp::Set => |_, input| input, + PrimOp::Add => std::ops::Add::add, + PrimOp::Sub => std::ops::Sub::sub, + PrimOp::Mul => std::ops::Mul::mul, + PrimOp::Div => std::ops::Div::div, + PrimOp::Mod => std::ops::Rem::rem, + PrimOp::Rand => |_, end| rand::thread_rng().gen_range(0.0..end), + }; + + self.store_float( + dest, + op(self.param_float(Param::Variable(dest)), self.param_float(input)), + ); + } + Op::IntSetOp { op, dest, left, right } => { + let op: fn(i32, i32) -> i32 = match op { + PrimSetOp::Add => std::ops::Add::add, + PrimSetOp::Sub => std::ops::Sub::sub, + PrimSetOp::Mul => std::ops::Mul::mul, + PrimSetOp::Div => std::ops::Div::div, + PrimSetOp::Mod => std::ops::Rem::rem, + }; + + self.store_int(dest, op(self.param_int(left), self.param_int(right))); + } + Op::FloatSetOp { op, dest, left, right } => { + let op: fn(f32, f32) -> f32 = match op { + PrimSetOp::Add => std::ops::Add::add, + PrimSetOp::Sub => std::ops::Sub::sub, + PrimSetOp::Mul => std::ops::Mul::mul, + PrimSetOp::Div => std::ops::Div::div, + PrimSetOp::Mod => std::ops::Rem::rem, + }; + + self.store_float(dest, op(self.param_float(left), self.param_float(right))); + } + Op::Pos { x, y, z } => self.position_interpolator.reset_immediate(Vec3::new( + self.param_float(x), + self.param_float(y), + self.param_float(z), + )), + Op::Rotate { x, y, z } => self.rotation_interpolator.reset_immediate(Vec3::new( + self.param_float(x), + self.param_float(y), + self.param_float(z), + )), + Op::Scale { x, y } => { + self.scale_interpolator.reset_immediate(Vec2::new(self.param_float(x), self.param_float(y))); + } + Op::Alpha(value) => self.alpha_interpolator.reset_immediate(self.param_int(value) as f32 / 255.0), + Op::Color { red, green, blue } => self.color_interpolator.reset_immediate(Vec3::new( + self.param_int(red) as f32, + self.param_int(green) as f32, + self.param_int(blue) as f32, + )), + Op::AngleVel { x, y, z } => { + self.rotation_interpolator.reset( + Mode::Constant, + i32::MAX, + Vec3::new(self.param_float(x), self.param_float(y), self.param_float(z)), + None, + None, + ); + } + Op::PosTime { time, mode, x, y, z } => { + let mode = Mode::from_i32(self.param_int(mode)).expect("bad mode passed"); + let pos = Vec3::new(self.param_float(x), self.param_float(y), self.param_float(z)); + // println!("mode set {mode:?} {pos} {}", self.position_interpolator.current()); + self.position_interpolator.reset( + mode, + self.param_int(time), + pos, + None, + None, + ) + } + Op::AlphaTime { time, mode, alpha } => self.alpha_interpolator.reset( + Mode::from_i32(self.param_int(mode)).expect("bad mode passed"), + self.param_int(time), + self.param_int(alpha) as f32, + None, + None, + ), + Op::ColorTime { + red, + green, + blue, + time, + mode, + } => self.color_interpolator.reset( + Mode::from_i32(self.param_int(mode)).expect("bad mode passed"), + self.param_int(time), + Vec3::new( + self.param_int(red) as f32, + self.param_int(green) as f32, + self.param_int(blue) as f32, + ), + None, + None, + ), + Op::Stop => self.waiting = Some(inst), + Op::InterruptLabel(_) => {} + Op::Anchor { horizontal, vertical } => { + let axis = |value: i16| match value { + 0 => 0.5, + 1 => 0.0, + 2 => 1.0, + _ => panic!("invalid anchor point"), + }; + + self.anchor_offset = Vec2::new(axis(horizontal), axis(vertical)) + } + Op::BlendMode { mode } => self.set_blend_mode(self.param_int(mode)), + Op::Type { mode } => { + // todo: rotation modes + self.sprite_mode = mode; + } + Op::Layer { layer } => self.layer = layer as u32, + Op::UnknownBitflag { .. } => {} + Op::RandMode { mode } => self.random_mode = mode, + Op::ScriptNew { script } => { + self.children.push(manager.new_vm( + self.file.clone(), + Some(self.position()), + true, + script as usize, + VmLocation::new_child(self.layer), + )); + } + Op::ScriptNewUI { script } => { + self.children.push(manager.new_vm( + self.file.clone(), + Some(self.position()), + true, + script as usize, + VmLocation::new_child_ui(self.layer), + )); + } + Op::ScriptNewFront { script } => { + self.children.push(manager.new_vm( + self.file.clone(), + Some(self.position()), + true, + script as usize, + VmLocation::new_child_front(self.layer), + )); + } + Op::ScriptNewUIFront { script } => { + self.children.push(manager.new_vm( + self.file.clone(), + Some(self.position()), + true, + script as usize, + VmLocation::new_child_ui_front(self.layer), + )); + } + op => unimplemented!("op not supported: {op:?}"), + } + } + } +} diff --git a/src/game/anm/vm/mod.rs b/src/game/anm/vm/mod.rs new file mode 100644 index 0000000..e0dc170 --- /dev/null +++ b/src/game/anm/vm/mod.rs @@ -0,0 +1,181 @@ +use std::{cell::RefCell, rc::Rc}; + +use glam::{Quat, Vec2, Vec3}; +use opcodes::{Instruction, SpriteType}; +use wgpu::{BlendComponent, BlendFactor, BlendOperation, BlendState, Buffer, RenderPipeline}; + +use crate::interp::{FloatInterpolator, Vec2Interpolator, Vec3Interpolator}; + +use super::{ + loaded_file::{LoadedEntry, LoadedFile, LoadedScript, LoadedSprite}, manager::ManagerUpdate, Vm +}; + +pub mod execute; +pub(super) mod opcodes; + +pub(super) struct RenderingState { + pub instance_buffer: Buffer, + pub pipeline: RenderPipeline, +} + +pub struct AnmVm { + pub(super) deleted: bool, + fully_static: bool, + frozen: bool, + pub(super) ticked_by_parent: bool, + + time: i32, + pc: usize, + pub(super) file: Rc, + script: Rc, + gp_vars: [i32; 10], + waiting: Option, + + origin: Option, + position_interpolator: Vec3Interpolator, + rotation_interpolator: Vec3Interpolator, + scale_interpolator: Vec2Interpolator, + color_interpolator: Vec3Interpolator, + alpha_interpolator: FloatInterpolator, + pub(super) anchor_offset: Vec2, + scroll_x: FloatInterpolator, + scroll_y: FloatInterpolator, + pub(super) visible: bool, + pub(super) sprite: Option, + pub(super) layer: u32, + random_mode: i32, + sprite_mode: SpriteType, + pub(super) blend_state: BlendState, + + pub(super) rendering_state: RefCell>, + + pub(super) children: Vec, +} + +impl AnmVm { + pub(super) fn new( + file: Rc, + origin: Option, + ticked_by_parent: bool, + script: usize, + default_layer: u32, + ) -> AnmVm { + AnmVm { + deleted: false, + fully_static: false, + frozen: false, + ticked_by_parent, + + time: 0, + pc: 0, + script: file.scripts[script].clone(), + file, + gp_vars: [Default::default(); 10], + waiting: None, + + origin, + position_interpolator: Vec3Interpolator::new(Vec3::ZERO), + rotation_interpolator: Vec3Interpolator::new(Vec3::ZERO), + scale_interpolator: Vec2Interpolator::new(Vec2::ONE), + color_interpolator: Vec3Interpolator::new(Vec3::ONE), + alpha_interpolator: FloatInterpolator::new(1.0), + anchor_offset: Vec2::new(0.5, 0.5), + scroll_x: FloatInterpolator::new(0.0), + scroll_y: FloatInterpolator::new(0.0), + visible: true, + sprite: None, + layer: default_layer, + sprite_mode: SpriteType::NoRotate, + blend_state: BlendState::ALPHA_BLENDING, + random_mode: 0, + + rendering_state: Default::default(), + + children: vec![], + } + } + + pub(super) fn sprite_entry_pair(&self) -> Option<(LoadedSprite, Rc)> { + if !self.visible { + return None; + } + self.sprite.and_then(|sprite| { + self.file.sprite_entries.get(&sprite).map(|(start, entry)| { + let sprite = sprite - start; + (entry.sprites[sprite as usize], entry.clone()) + }) + }) + } + + pub fn scale(&self) -> Vec2 { + self.scale_interpolator.current() + } + + pub fn rotation(&self) -> Quat { + let euler = self.rotation_interpolator.current(); + Quat::from_euler(glam::EulerRot::XYZ, euler.x, euler.y, euler.z) + } + + pub fn position(&self) -> Vec3 { + self.origin.unwrap_or(Vec3::ZERO) + self.position_interpolator.current() + } + + pub fn color(&self) -> Vec3 { + self.color_interpolator.current() / 255.0 + } + + pub fn alpha(&self) -> f32 { + self.alpha_interpolator.current() / 255.0 + } + + pub fn scroll(&self) -> Vec2 { + Vec2::new(self.scroll_x.current(), self.scroll_y.current()) + } + + fn tick_interpolators(&mut self) { + self.position_interpolator.tick(); + self.rotation_interpolator.tick(); + self.scale_interpolator.tick(); + self.color_interpolator.tick(); + self.alpha_interpolator.tick(); + } + + fn delete(&mut self) { + self.deleted = true; + self.visible = false; + } + + pub(super) fn tick(&mut self, manager: &mut ManagerUpdate) { + if self.deleted { + return; + } + if !self.fully_static && !self.frozen { + self.tick_interpolators(); + self.execute(manager); + self.advance_time(); + } + + for child in &self.children { + let mut child = child.borrow_mut(); + child.origin = Some(self.position()); + child.tick(manager); + } + } + + pub fn set_blend_mode(&mut self, mode: i32) { + let mode = match mode { + 0 => BlendState::ALPHA_BLENDING, + 1 => BlendState { + color: BlendComponent { + src_factor: BlendFactor::SrcAlpha, + dst_factor: BlendFactor::One, + operation: BlendOperation::Add, + }, + alpha: BlendComponent::OVER, + }, + _ => unimplemented!("blend mode {mode} not added"), + }; + + self.blend_state = mode; + } +} diff --git a/src/game/anm/vm/opcodes.rs b/src/game/anm/vm/opcodes.rs new file mode 100644 index 0000000..8055f49 --- /dev/null +++ b/src/game/anm/vm/opcodes.rs @@ -0,0 +1,741 @@ +use macros::decode_args; +use num_derive::FromPrimitive; +use num_traits::FromPrimitive; +use truth::llir::RawInstr; +use wgpu::naga::FastHashMap; + +#[derive(Debug, FromPrimitive)] +enum Opcode { + Nop = 0, + Delete = 1, + Static = 2, + Sprite = 3, + Jump = 4, + JumpDec = 5, + + IntSet = 6, + FloatSet = 7, + IntAdd = 8, + FloatAdd = 9, + IntSub = 10, + FloatSub = 11, + IntMul = 12, + FloatMul = 13, + IntDiv = 14, + FloatDiv = 15, + IntMod = 16, + FloatMod = 17, + IntSetAdd = 18, + FloatSetAdd = 19, + IntSetSub = 20, + FloatSetSub = 21, + IntSetMul = 22, + FloatSetMul = 23, + IntSetDiv = 24, + FloatSetDiv = 25, + IntSetMod = 26, + FloatSetMod = 27, + + IntJumpEq = 28, + FloatJumpEq = 29, + IntJumpNeq = 30, + FloatJumpNeq = 31, + IntJumpLess = 32, + FloatJumpLess = 33, + IntJumpLessEq = 34, + FloatJumpLessEq = 35, + IntJumpGreater = 36, + FloatJumpGreater = 37, + IntJumpGreaterEq = 38, + FloatJumpGreaterEq = 39, + + IntRand = 40, + FloatRand = 41, + Sin = 42, + Cos = 43, + Tan = 44, + ArcCos = 45, + ArcTan = 46, + ValidRad = 47, + + Pos = 48, + Rotate = 49, + Scale = 50, + Alpha = 51, + Color = 52, + AngleVel = 53, + ScaleGrowth = 54, + AlphaTimeLinear = 55, + PosTime = 56, + ColorTime = 57, + AlphaTime = 58, + RotateTime = 59, + ScaleTime = 60, + FlipX = 61, + FlipY = 62, + Stop = 63, + InterruptLabel = 64, + Anchor = 65, + BlendMode = 66, + Type = 67, + Layer = 68, + StopHide = 69, + ScrollX = 70, + ScrollY = 71, + Visible = 72, + ZWriteDisable = 73, + StdRelatedBitflag = 74, + Wait = 75, + Color2 = 76, + Alpha2 = 77, + Color2Time = 78, + Alpha2Time = 79, + ColorMode = 80, + CaseReturn = 81, + RotateAuto = 82, + Ins83CopyPos = 83, + TexCircle = 84, + UnknownBitflag = 85, + SlowdownImmune = 86, + RandMode = 87, + ScriptNew = 88, + ResampleMode = 89, + ScriptNewUI = 90, + ScriptNewFront = 91, + ScriptNewUIFront = 92, + ScrollXTime = 93, + ScrollYTime = 94, + ScriptNewRoot = 95, + ScriptNewPos = 96, + ScriptNewRootPos = 97, + MoveBezier = 100, + SpriteRand = 102, + DrawRect = 103, +} + +#[derive(Debug, Clone, Copy)] +pub enum PrimOp { + Set, + Add, + Sub, + Mul, + Div, + Mod, + Rand, +} + +#[derive(Debug, Clone, Copy)] +pub enum PrimSetOp { + Add, + Sub, + Mul, + Div, + Mod, +} + +#[derive(Debug, Clone, Copy)] +pub enum Compare { + Equal, + NotEqual, + Less, + LessEqual, + Greater, + GreaterEqual, +} + +#[derive(Debug, Clone, Copy)] +pub enum TrigFunction { + Sin, + Cos, + Tan, + ArcCos, + ArcTan, +} + +#[derive(Debug, Clone, Copy, FromPrimitive)] +pub enum SpriteType { + NoRotate = 0, + RotateZ = 1, + // like mode 0, but shifts the position by (-0.5, -0.5) pixels, + // making it appear ever-so-slightly larger and blurrier. + RotateZShifted = 2, + Rotate3D = 8, +} + +#[derive(Debug, Clone, Copy)] +pub enum Param { + Variable(i32), + Value(T), +} + +#[derive(Debug, Clone, Copy)] +pub enum Op { + Nop, + Delete, + Static, + Sprite(Option), + Jump { + index: usize, + time: i32, + }, + JumpDec { + var: i32, + index: usize, + time: i32, + }, + IntOp { + op: PrimOp, + dest: i32, + input: Param, + }, + FloatOp { + op: PrimOp, + dest: i32, + input: Param, + }, + IntSetOp { + op: PrimSetOp, + dest: i32, + left: Param, + right: Param, + }, + FloatSetOp { + op: PrimSetOp, + dest: i32, + left: Param, + right: Param, + }, + IntJumpCmp { + cmp_op: Compare, + left: Param, + right: Param, + offset: usize, + time: i32, + }, + FloatJumpCmp { + cmp_op: Compare, + left: Param, + right: Param, + offset: usize, + time: i32, + }, + Trig { + func: TrigFunction, + dest: i32, + input: Param, + }, + ValidRad { + var: i32, + }, + Pos { + x: Param, + y: Param, + z: Param, + }, + Rotate { + x: Param, + y: Param, + z: Param, + }, + Scale { + x: Param, + y: Param, + }, + Alpha(Param), + Color { + red: Param, + green: Param, + blue: Param, + }, + AngleVel { + x: Param, + y: Param, + z: Param, + }, + ScaleGrowth { + x: Param, + y: Param, + }, + PosTime { + time: Param, + mode: Param, + x: Param, + y: Param, + z: Param, + }, + ColorTime { + time: Param, + mode: Param, + red: Param, + green: Param, + blue: Param, + }, + AlphaTime { + time: Param, + mode: Param, + alpha: Param, + }, + RotateTime { + time: Param, + mode: Param, + x: Param, + y: Param, + z: Param, + }, + ScaleTime { + time: Param, + mode: Param, + x: Param, + y: Param, + }, + FlipX, + FlipY, + Stop, + InterruptLabel(i32), + Anchor { + horizontal: i16, + vertical: i16, + }, + BlendMode { + mode: Param, + }, + Type { + mode: SpriteType, + }, + Layer { + layer: i32, + }, + StopHide, + ScrollX { + value: f32, + }, + ScrollY { + value: f32, + }, + Visible { + value: i8, + }, + ZWriteDisable { + value: i32, + }, + StdRelatedBitflag { + enable: i32, + }, + Wait { + time: i32, + }, + CaseReturn, + UnknownBitflag { + enable: i32, + }, + RandMode { + mode: i32, + }, + ScriptNew { + script: i32, + }, + ResampleMode { + mode: i32, + }, + ScriptNewUI { + script: i32, + }, + ScriptNewFront { + script: i32, + }, + ScriptNewUIFront { + script: i32, + }, + ScrollXTime, +} + +#[derive(Debug, Clone, Copy)] +pub struct Instruction { + pub time: i32, + pub op: Op, +} + +impl Instruction { + pub fn from_raw(inst: RawInstr, instruction_offsets: &FastHashMap) -> Self { + let param_int = |value: i32, index: u16| { + if inst.param_mask & (1 << index) == 0 { + Param::Value(value) + } else if value < 10000 || value > 10022 { + Param::Value(value) + } else { + Param::Variable(value) + } + }; + let param_float = |value: f32, index: u16| { + if inst.param_mask & (1 << index) == 0 { + Param::Value(value) + } else if value != value.trunc() && value < 10000. || value > 10022. { + Param::Value(value) + } else { + Param::Variable(value as i32) + } + }; + let var_int = |value: i32, index: u16| { + assert!(inst.param_mask & (1 << index) != 0, "param must be a var"); + assert!(value >= 10000 && value <= 10022, "value must be a var"); + value + }; + let var_float = |value: f32, index: u16| { + assert!(inst.param_mask & (1 << index) != 0, "param must be a var"); + assert!( + value.trunc() == value && value >= 10000. && value <= 10022., + "value must be a var" + ); + value as i32 + }; + let offset_to_index = |value: i32| instruction_offsets[&(value as u32)]; + + let args = &inst.args_blob; + + let opcode_raw = inst.opcode; + let opcode = Opcode::from_u16(opcode_raw).expect("failed to convert opcode"); + + let op = match opcode { + Opcode::Nop => Op::Nop, + Opcode::Delete => Op::Delete, + Opcode::Static => Op::Static, + Opcode::Sprite => Op::Sprite({ + let sprite = decode_args!(args, "S"); + if sprite < 0 { + None + } else { + Some(sprite as u32) + } + }), + Opcode::Jump => { + let (offset, time) = decode_args!(args, "ot"); + Op::Jump { + index: offset_to_index(offset), + time, + } + } + Opcode::JumpDec => { + let (var, offset, time) = decode_args!(args, "Sot"); + Op::JumpDec { + var: var_int(var, 0), + index: offset_to_index(offset), + time, + } + } + opcode @ (Opcode::IntSet + | Opcode::IntAdd + | Opcode::IntSub + | Opcode::IntMul + | Opcode::IntDiv + | Opcode::IntMod + | Opcode::IntRand) => { + let (dest, input) = decode_args!(args, "SS"); + Op::IntOp { + op: match opcode { + Opcode::IntSet => PrimOp::Set, + Opcode::IntAdd => PrimOp::Add, + Opcode::IntSub => PrimOp::Sub, + Opcode::IntMul => PrimOp::Mul, + Opcode::IntDiv => PrimOp::Div, + Opcode::IntMod => PrimOp::Mod, + Opcode::IntRand => PrimOp::Rand, + _ => unreachable!(), + }, + dest: var_int(dest, 0), + input: param_int(input, 1), + } + } + opcode @ (Opcode::FloatSet + | Opcode::FloatAdd + | Opcode::FloatSub + | Opcode::FloatMul + | Opcode::FloatDiv + | Opcode::FloatMod + | Opcode::FloatRand) => { + let (dest, input) = decode_args!(args, "ff"); + Op::FloatOp { + op: match opcode { + Opcode::FloatSet => PrimOp::Set, + Opcode::FloatAdd => PrimOp::Add, + Opcode::FloatSub => PrimOp::Sub, + Opcode::FloatMul => PrimOp::Mul, + Opcode::FloatDiv => PrimOp::Div, + Opcode::FloatMod => PrimOp::Mod, + Opcode::FloatRand => PrimOp::Rand, + _ => unreachable!(), + }, + dest: var_float(dest, 0), + input: param_float(input, 1), + } + } + opcode @ (Opcode::IntSetAdd | Opcode::IntSetSub | Opcode::IntSetMul | Opcode::IntSetDiv | Opcode::IntSetMod) => { + let (dest, left, right) = decode_args!(args, "SSS"); + Op::IntSetOp { + op: match opcode { + Opcode::IntSetAdd => PrimSetOp::Add, + Opcode::IntSetSub => PrimSetOp::Sub, + Opcode::IntSetMul => PrimSetOp::Mul, + Opcode::IntSetDiv => PrimSetOp::Div, + Opcode::IntSetMod => PrimSetOp::Mod, + _ => unreachable!(), + }, + dest: var_int(dest, 0), + left: param_int(left, 1), + right: param_int(right, 2), + } + } + opcode @ (Opcode::FloatSetAdd + | Opcode::FloatSetSub + | Opcode::FloatSetMul + | Opcode::FloatSetDiv + | Opcode::FloatSetMod) => { + let (dest, left, right) = decode_args!(args, "fff"); + Op::FloatSetOp { + op: match opcode { + Opcode::FloatSetAdd => PrimSetOp::Add, + Opcode::FloatSetSub => PrimSetOp::Sub, + Opcode::FloatSetMul => PrimSetOp::Mul, + Opcode::FloatSetDiv => PrimSetOp::Div, + Opcode::FloatSetMod => PrimSetOp::Mod, + _ => unreachable!(), + }, + dest: var_float(dest, 0), + left: param_float(left, 1), + right: param_float(right, 2), + } + } + opcode @ (Opcode::IntJumpEq + | Opcode::IntJumpNeq + | Opcode::IntJumpLess + | Opcode::IntJumpLessEq + | Opcode::IntJumpGreater + | Opcode::IntJumpGreaterEq) => { + let (left, right, offset, time) = decode_args!(args, "SSot"); + Op::IntJumpCmp { + cmp_op: match opcode { + Opcode::IntJumpEq => Compare::Equal, + Opcode::IntJumpNeq => Compare::NotEqual, + Opcode::IntJumpLess => Compare::Less, + Opcode::IntJumpLessEq => Compare::LessEqual, + Opcode::IntJumpGreater => Compare::Greater, + Opcode::IntJumpGreaterEq => Compare::GreaterEqual, + _ => unreachable!(), + }, + left: param_int(left, 0), + right: param_int(right, 1), + offset: offset_to_index(offset), + time, + } + } + opcode @ (Opcode::FloatJumpEq + | Opcode::FloatJumpNeq + | Opcode::FloatJumpLess + | Opcode::FloatJumpLessEq + | Opcode::FloatJumpGreater + | Opcode::FloatJumpGreaterEq) => { + let (left, right, offset, time) = decode_args!(args, "ffot"); + Op::FloatJumpCmp { + cmp_op: match opcode { + Opcode::FloatJumpEq => Compare::Equal, + Opcode::FloatJumpNeq => Compare::NotEqual, + Opcode::FloatJumpLess => Compare::Less, + Opcode::FloatJumpLessEq => Compare::LessEqual, + Opcode::FloatJumpGreater => Compare::Greater, + Opcode::FloatJumpGreaterEq => Compare::GreaterEqual, + _ => unreachable!(), + }, + left: param_float(left, 0), + right: param_float(right, 1), + offset: offset_to_index(offset), + time, + } + } + opcode @ (Opcode::Sin | Opcode::Cos | Opcode::Tan | Opcode::ArcCos | Opcode::ArcTan) => { + let (dest, input) = decode_args!(args, "ff"); + Op::Trig { + func: match opcode { + Opcode::Sin => TrigFunction::Sin, + Opcode::Cos => TrigFunction::Cos, + Opcode::Tan => TrigFunction::Tan, + Opcode::ArcCos => TrigFunction::ArcCos, + Opcode::ArcTan => TrigFunction::ArcTan, + _ => unreachable!(), + }, + dest: var_float(dest, 0), + input: param_float(input, 1), + } + } + Opcode::ValidRad => { + let var = decode_args!(args, "f"); + Op::ValidRad { var: var_float(var, 0) } + } + Opcode::Pos => { + let (x, y, z) = decode_args!(args, "fff"); + Op::Pos { + x: param_float(x, 0), + y: param_float(y, 1), + z: param_float(z, 2), + } + } + Opcode::Rotate => { + let (x, y, z) = decode_args!(args, "fff"); + Op::Rotate { + x: param_float(x, 0), + y: param_float(y, 1), + z: param_float(z, 2), + } + } + Opcode::Scale => { + let (x, y) = decode_args!(args, "ff"); + Op::Scale { + x: param_float(x, 0), + y: param_float(y, 1), + } + } + Opcode::Alpha => { + let alpha = decode_args!(args, "S"); + Op::Alpha(param_int(alpha, 0)) + } + Opcode::Color => { + let (x, y, z) = decode_args!(args, "SSS"); + Op::Color { + red: param_int(x, 0), + green: param_int(y, 1), + blue: param_int(z, 2), + } + } + Opcode::AngleVel => { + let (x, y, z) = decode_args!(args, "fff"); + Op::AngleVel { + x: param_float(x, 0), + y: param_float(y, 1), + z: param_float(z, 2), + } + } + Opcode::ScaleGrowth => { + let (x, y) = decode_args!(args, "ff"); + Op::ScaleGrowth { + x: param_float(x, 0), + y: param_float(y, 1), + } + } + Opcode::PosTime => { + let (time, mode, x, y, z) = decode_args!(args, "SSfff"); + Op::PosTime { + time: param_int(time, 0), + mode: param_int(mode, 1), + x: param_float(x, 2), + y: param_float(y, 3), + z: param_float(z, 4), + } + } + Opcode::ColorTime => { + let (time, mode, red, green, blue) = decode_args!(args, "SSSSS"); + Op::ColorTime { + time: param_int(time, 0), + mode: param_int(mode, 1), + red: param_int(red, 2), + green: param_int(green, 3), + blue: param_int(blue, 4), + } + } + Opcode::AlphaTime => { + let (time, mode, alpha) = decode_args!(args, "SSS"); + Op::AlphaTime { + time: param_int(time, 0), + mode: param_int(mode, 1), + alpha: param_int(alpha, 2), + } + } + Opcode::RotateTime => { + let (time, mode, x, y, z) = decode_args!(args, "SSfff"); + Op::RotateTime { + time: param_int(time, 0), + mode: param_int(mode, 1), + x: param_float(x, 2), + y: param_float(y, 3), + z: param_float(z, 4), + } + } + Opcode::ScaleTime => { + let (time, mode, x, y) = decode_args!(args, "SSff"); + Op::ScaleTime { + time: param_int(time, 0), + mode: param_int(mode, 1), + x: param_float(x, 2), + y: param_float(y, 3), + } + } + Opcode::FlipX => Op::FlipX, + Opcode::FlipY => Op::FlipY, + Opcode::Stop => Op::Stop, + Opcode::InterruptLabel => { + let label = decode_args!(args, "S"); + + Op::InterruptLabel(label) + } + Opcode::Anchor => { + let (horizontal, vertical) = decode_args!(args, "ss"); + + Op::Anchor { horizontal, vertical } + } + Opcode::BlendMode => { + let mode = decode_args!(args, "S"); + + Op::BlendMode { + mode: param_int(mode, 0), + } + } + Opcode::Type => { + let r#type = decode_args!(args, "S"); + + Op::Type { + mode: SpriteType::from_i32(r#type).expect("unexpected type"), + } + } + Opcode::Layer => { + let layer = decode_args!(args, "S"); + Op::Layer { layer } + } + Opcode::StopHide => Op::StopHide, + Opcode::UnknownBitflag => { + let enable = decode_args!(args, "S"); + + Op::UnknownBitflag { enable } + } + Opcode::Wait => { + let time = decode_args!(args, "S"); + Op::Wait { time } + } + Opcode::CaseReturn => Op::CaseReturn, + Opcode::RandMode => { + let mode = decode_args!(args, "S"); + + Op::RandMode { mode } + } + Opcode::ScriptNew => { + let script = decode_args!(args, "S"); + Op::ScriptNew { script } + } + Opcode::ResampleMode => { + let mode = decode_args!(args, "S"); + Op::ResampleMode { mode } + } + Opcode::ScriptNewUI => { + let script = decode_args!(args, "S"); + Op::ScriptNewUI { script } + } + Opcode::ScriptNewFront => { + let script = decode_args!(args, "S"); + Op::ScriptNewFront { script } + } + Opcode::ScriptNewUIFront => { + let script = decode_args!(args, "S"); + Op::ScriptNewUIFront { script } + } + opcode => panic!("unsupported instruction {opcode:?} ({opcode_raw})"), + }; + + Instruction { time: inst.time, op } + } +} diff --git a/src/game/loading.rs b/src/game/loading.rs new file mode 100644 index 0000000..fadd2ab --- /dev/null +++ b/src/game/loading.rs @@ -0,0 +1,51 @@ +use glam::Vec3; +use num_traits::FloatConst; +use rand::Rng; +use winit::keyboard::KeyCode; + +use super::{ + anm::{Vm, VmLocation}, GameInitContext, GameState +}; + +pub struct LoadingState { + sig: Vm, + ascii_loading: Vm, +} + +impl LoadingState { + pub fn new(context: &mut GameInitContext) -> LoadingState { + let ascii = context.anm_manager.load_anm( + &context.engine.device, + &context.engine.queue, + &context.engine.window, + "ascii.anm", + ); + let sig_anm = context.anm_manager.load_anm( + &context.engine.device, + &context.engine.queue, + &context.engine.window, + "sig.anm", + ); + let sig = context.anm_manager.new_vm(sig_anm, None, false, 0, VmLocation::new_ui()); + let ascii_loading = context.anm_manager.new_vm( + ascii, + Some(Vec3::new(480.0, 392.0, 0.0)), + false, + 18, + VmLocation::new_ui(), + ); + + LoadingState { sig, ascii_loading } + } +} + +impl GameState for LoadingState { + fn update(&mut self, _context: &super::GameUpdateContext) { + if _context.engine.keys.was_key_pressed(KeyCode::Space) { + println!( + "{}", + rand::thread_rng().gen_range((-f32::PI() as i32)..(f32::PI() as i32)) + ) + } + } +} diff --git a/src/game/title.rs b/src/game/title.rs new file mode 100644 index 0000000..ff2b67e --- /dev/null +++ b/src/game/title.rs @@ -0,0 +1,7 @@ +use super::GameInitContext; + +pub struct TitleState {} + +impl TitleState { + pub fn new(context: &GameInitContext) {} +} diff --git a/src/interp.rs b/src/interp.rs new file mode 100644 index 0000000..1b7bef5 --- /dev/null +++ b/src/interp.rs @@ -0,0 +1,228 @@ +use std::fmt::Display; + +use glam::{Vec2, Vec3}; +use num_derive::FromPrimitive; + +pub trait Interpolable: Default + Copy { + fn from_components(components: [f32; N]) -> Self; + fn components(&self) -> [f32; N]; +} + +impl Interpolable<1> for f32 { + fn from_components(components: [f32; 1]) -> Self { + components[0] + } + fn components(&self) -> [f32; 1] { + [self.clone()] + } +} + +impl Interpolable<2> for Vec2 { + fn from_components(components: [f32; 2]) -> Self + where + Self: Sized, + { + Self::from_array(components) + } + fn components(&self) -> [f32; 2] + where + Self: Sized, + { + self.to_array() + } +} + +impl Interpolable<3> for Vec3 { + fn from_components(components: [f32; 3]) -> Self + where + Self: Sized, + { + Self::from_array(components) + } + fn components(&self) -> [f32; 3] + where + Self: Sized, + { + self.to_array() + } +} + +pub struct Interpolator + Display, const N: usize> { + initial: I, + goal: I, + extra_1: I, + extra_2: I, + current: I, + time: i32, + end_time: i32, + mode: Mode, +} + +pub type FloatInterpolator = Interpolator; +pub type Vec2Interpolator = Interpolator; +pub type Vec3Interpolator = Interpolator; + +#[derive(Debug, Clone, Copy, FromPrimitive)] +pub enum Mode { + Linear = 0, + EaseIn = 1, + EaseInCubic = 2, + EaseInQuartic = 3, + EaseOut = 4, + EaseOutCubic = 5, + EaseOutQuartic = 6, + Constant = 7, + Bezier = 8, + EaseInOut = 9, + EaseInOutCubic = 10, + EaseInOutQuartic = 11, + EaseOutIn = 12, + EaseOutInCubic = 13, + EaseOutInQuartic = 14, + DelayedChange = 15, + Immediate = 16, + ConstantAcceleration = 17, +} + +impl + Display, const N: usize> Interpolator { + pub fn new(start: I) -> Interpolator { + Self { + initial: start, + goal: start, + extra_1: Default::default(), + extra_2: Default::default(), + current: start, + time: 0, + end_time: 0, + mode: Mode::Constant, + } + } + + pub fn reset(&mut self, mode: Mode, end_time: i32, goal: I, extra_1: Option, extra_2: Option) { + self.initial = self.current; + self.time = 0; + self.end_time = end_time; + self.mode = mode; + self.goal = goal; + self.extra_1 = extra_1.unwrap_or_default(); + self.extra_2 = extra_2.unwrap_or_default(); + } + + pub fn reset_immediate(&mut self, goal: I) { + self.reset(Mode::Immediate, 0, goal, None, None); + } + + pub fn current(&self) -> I { + self.current + } + + pub fn tick(&mut self) { + if self.end_time < self.time { + self.current = self.goal; + return; + }; + + let (mut initial, goal, extra_1, mut extra_2) = ( + self.initial.components(), + self.goal.components(), + self.extra_1.components(), + self.extra_2.components(), + ); + + let components = std::array::from_fn(|i| { + let result = self.interpolate_component(initial[i], goal[i], extra_1[i], extra_2[i]); + + if let Some(new_initial) = result.initial { + initial[i] = new_initial; + if let Some(new_extra_2) = result.extra_2 { + extra_2[i] = new_extra_2; + } + } + + result.current + }); + + self.current = I::from_components(components); + self.initial = I::from_components(initial); + self.extra_2 = I::from_components(extra_2); + self.time += 1; + if self.time == self.end_time { + // println!("ended {} {}", self.current, self.initial); + } + } + + fn interpolate_component(&self, initial: f32, goal: f32, extra_1: f32, extra_2: f32) -> Interp { + if self.end_time == 0 { + return Interp::simple(goal); + } // prevent divide by zero + + let (time, end_time) = (self.time as f32, self.end_time as f32); + let t = time / end_time; + + // helpers + let lerp = |a: f32, b: f32, t: f32| a + t.clamp(0.0, 1.0) * (b - a); + let lerp_input = |t: f32| lerp(initial, goal, t); + let invert = |a: f32| 1.0 - a; + + match self.mode { + Mode::Constant => Interp::velocity(initial + goal), + Mode::Bezier => { + let _ = (extra_1, extra_2); + todo!() + } + Mode::DelayedChange => Interp::simple(if t == 1.0 { 1.0 } else { 0.0 }), + Mode::Immediate => Interp::simple(goal), + Mode::ConstantAcceleration => Interp::acceleration(initial + extra_2, extra_2 + goal), + _ => Interp::simple(lerp_input(match self.mode { + Mode::Linear => t, + Mode::EaseIn => t.powf(2.0), + Mode::EaseInCubic => t.powf(3.0), + Mode::EaseInQuartic => t.powf(4.0), + Mode::EaseOut => invert(invert(t).powf(2.0)), + Mode::EaseOutCubic => invert(invert(t).powf(3.0)), + Mode::EaseOutQuartic => invert(invert(t).powf(4.0)), + Mode::EaseInOut => lerp(t.powf(2.0), invert(invert(t).powf(2.0)), t), + Mode::EaseInOutCubic => todo!(), + Mode::EaseInOutQuartic => todo!(), + Mode::EaseOutIn => todo!(), + Mode::EaseOutInCubic => todo!(), + Mode::EaseOutInQuartic => todo!(), + Mode::Constant | Mode::Bezier | Mode::DelayedChange | Mode::Immediate | Mode::ConstantAcceleration => { + unreachable!() + } + })), + } + } +} + +struct Interp { + initial: Option, + extra_2: Option, + current: f32, +} + +impl Interp { + fn simple(value: f32) -> Self { + Interp { + initial: None, + extra_2: None, + current: value, + } + } + + fn velocity(value: f32) -> Self { + Interp { + initial: Some(value), + extra_2: None, + current: value, + } + } + + fn acceleration(initial: f32, extra_2: f32) -> Self { + Interp { + initial: Some(initial), + extra_2: Some(extra_2), + current: initial, + } + } +} diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..2018a76 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,105 @@ +pub mod engine; +pub mod game; +pub mod interp; + +use std::{ + sync::Arc, time::{Duration, Instant} +}; + +use engine::Engine; +use wgpu::SurfaceError; +use winit::{ + application::ApplicationHandler, dpi::PhysicalSize, event::{ElementState, KeyEvent, StartCause, WindowEvent}, event_loop::EventLoop, keyboard::{KeyCode, PhysicalKey}, window::Window +}; + +#[derive(Default)] +struct App<'a> { + window: Option>, + state: Option>, +} + +impl<'a> ApplicationHandler for App<'a> { + fn resumed(&mut self, event_loop: &winit::event_loop::ActiveEventLoop) { + let window = event_loop + .create_window( + Window::default_attributes() + .with_inner_size(PhysicalSize { + width: 640, + height: 480, + }) + .with_title("touhou"), + ) + .expect("failed to create window :("); + window.set_visible(true); + window.request_redraw(); + self.window = Some(Arc::new(window)); + self.state = Some(Engine::new(self.window.clone().unwrap())); + } + + fn exiting(&mut self, _: &winit::event_loop::ActiveEventLoop) { + std::process::exit(0); + } + + fn about_to_wait(&mut self, event_loop: &winit::event_loop::ActiveEventLoop) { + // self.window.as_ref().unwrap().request_redraw(); + } + + fn new_events(&mut self, event_loop: &winit::event_loop::ActiveEventLoop, cause: winit::event::StartCause) { + if let StartCause::ResumeTimeReached { .. } = cause { + self.window.as_ref().unwrap().request_redraw(); + } + } + + fn window_event( + &mut self, + event_loop: &winit::event_loop::ActiveEventLoop, + _window_id: winit::window::WindowId, + event: WindowEvent, + ) { + match event { + WindowEvent::CloseRequested + | WindowEvent::KeyboardInput { + event: + KeyEvent { + state: ElementState::Pressed, + physical_key: PhysicalKey::Code(KeyCode::Escape), + .. + }, + .. + } => event_loop.exit(), + WindowEvent::Resized(new_size) => { + self.state.as_mut().unwrap().resize(new_size); + } + WindowEvent::RedrawRequested => { + self.state.as_mut().unwrap().update(); + match self.state.as_ref().unwrap().render() { + Ok(_) => {} + Err(SurfaceError::Lost) => { + self.state.as_mut().unwrap().resize(self.window.as_ref().unwrap().inner_size()); + } + Err(SurfaceError::OutOfMemory) => { + log::error!("ran out of memory"); + event_loop.exit(); + } + Err(error) => { + log::error!("render error: {error:?}") + } + }; + + event_loop.set_control_flow(winit::event_loop::ControlFlow::wait_duration(Duration::from_millis( + ((1.0 / 60.0) * 1000.0) as u64, + ))); + } + _ => { + self.state.as_mut().unwrap().handle_event(&event); + } + } + } +} + +fn main() { + env_logger::init(); + + let event_loop = EventLoop::new().unwrap(); + event_loop.run_app(&mut App::default()).unwrap(); +} diff --git a/utils/th095.stdm b/utils/th095.stdm new file mode 100644 index 0000000..f44b073 --- /dev/null +++ b/utils/th095.stdm @@ -0,0 +1,24 @@ +!stdmap + +# STD - TH095 to TH13 + +!ins_names +0 stop +1 jmp +2 pos +3 posTime +4 facing +5 facingTime +6 up +7 fov +8 fog +9 fogTime +10 posBezier +11 facingBezier +12 rockingMode +13 bgColor +14 sprite +# 15 might be a nop +16 interruptLabel +17 distortion # distorts bottom of screen +18 upTime diff --git a/utils/th11.eclm b/utils/th11.eclm new file mode 100644 index 0000000..25c8c72 --- /dev/null +++ b/utils/th11.eclm @@ -0,0 +1,366 @@ +!eclmap +!ins_names +0 nop +1 delete +10 ret +11 call +12 jmp +13 jmpEq +14 jmpNeq +15 callAsync +16 callAsyncId +17 killAsync +21 killAllAsync +22 debug22 +27 unknown27 +30 unknown30 +31 unknown31 +40 stackAlloc +42 pushi +43 seti +44 pushf +45 setf +50 addi +51 addf +52 subi +53 subf +54 muli +55 mulf +56 divi +57 divf +58 modi +59 eqi +60 eqf +61 neqi +62 neqf +63 lessi +64 lessf +65 leqi +66 leqf +67 greateri +68 greaterf +69 geqi +70 geqf +71 noti +72 notf +73 or +74 and +75 xor +76 bit_or +77 bit_and +78 deci +79 stackSin +80 stackCos +81 circlePos +82 validRad +83 wait +84 negi +85 negf +86 squareSum +87 getAngle +88 stackSqrt +89 linearFunc +90 pointRotate +91 floatTime +92 math92 +93 math93 + +256 enmCreate +257 enmCreateA +258 anmSelect +259 anmSetSprite +260 enmCreateM +261 enmCreateAM +262 anmSetMain +263 anmPlay +264 anmPlayAbs +265 enmCreateF +266 enmCreateAF +267 enmCreateMF +268 enmCreateAMF +269 anmSelectedPlay +270 enmCreate270 +271 enmCreate271 +272 anmPlayHigh +273 anmPlayRotate +274 anmOnEt +275 anmSwitch +276 anmReset + +280 movePos +281 movePosTime +282 movePosRel +283 movePosRelTime +284 moveVel +285 moveVelTime +286 moveVelRel +287 moveVelRelTime +288 moveCircle +289 moveCircleTime +290 moveCircleRel +291 moveCircleRelTime +292 moveRand +293 moveRandRel +294 moveBoss +295 moveBossRel +296 movePos3d +297 movePos3dRel +298 moveAdd +299 moveAddRel +300 moveEllipse +301 moveEllipseTime +302 moveEllipseRel +303 moveEllipseRelTime +304 moveSetMirror +305 moveBezier +306 moveBezierRel +307 moveReset + +320 setHurtbox +321 setHitbox +322 flagSet +323 flagClear +324 moveLimit +325 moveLimitReset +326 dropClear +327 dropExtra +328 dropArea +329 dropItems +330 dropMain +331 lifeSet +332 setBoss +333 timerReset +334 setInterrupt +335 setInvuln +336 playSound +337 setScreenShake +338 dialogRead +339 dialogWait +340 deathWait +341 setTimeout +342 spellEx +343 spellEnd +344 setChapter +345 enmKillAll +346 etProtectRange +347 lifeMarker +348 spellUnused +349 rankF3 +350 rankF5 +351 rankF2 +352 rankI3 +353 rankI5 +354 rankI2 +355 diffI +356 diffF +357 spell +358 spell2 +359 spell3 +360 stars +361 unknown361 +362 spellTimeout +363 unknown363 +364 unknown364 +365 laserCancel +366 bombShield +367 gameSpeed +368 diffWait +369 unknown369 +370 unknown370 + +400 etNew +401 etOn +402 etSprite +403 etOffset +404 etAngle +405 etSpeed +406 etCount +407 etAim +408 etSound +409 etEx +410 etClearAll +411 etCopy +412 laserOnA +413 laserStOn +414 laserUnknown414 +415 laserUnknown415 +416 laserUnknown416 +417 laserUnknown417 +418 laserUnknown418 +419 laserUnknown419 +420 etCancel +421 etClear +422 etSpeedR3 +423 etSpeedR5 +424 etSpeedR2 +425 etCountR3 +426 etCountR5 +427 etCountR2 +428 laserOn +429 laserStOn2 +430 laserUnknown430 +431 laserOnA2 +432 laserStOn3 +433 laserOn3 +434 laserStOn4 +435 etSpeedD +436 etCountD +437 etOffsetRad +438 etDist +439 etOffsetAbs +440 fog +441 callSTD +442 lifeHide +443 funcSet +444 unknown444 +445 unknown445 +446 etCancel2 +447 etClear2 +448 unknown448 +449 funcCall +450 unknown450 + +!gvar_names +-10000 RAND +-9999 RANDF +-9998 RANDRAD +-9997 FINAL_X +-9996 FINAL_Y +-9995 ABS_X +-9994 ABS_Y +-9993 REL_X +-9992 REL_Y +-9991 PLAYER_X +-9990 PLAYER_Y +-9989 ANGLE_PLAYER +-9988 TIME +-9987 RANDF2 +-9986 TIMEOUT +-9985 I0 +-9984 I1 +-9983 I2 +-9982 I3 +-9981 F0 +-9980 F1 +-9979 F2 +-9978 F3 +-9977 FINAL_X2 +-9976 FINAL_Y2 +-9975 ABS_X2 +-9974 ABS_Y2 +-9973 REL_X2 +-9972 REL_Y2 +-9971 ABS_ANGLE +-9970 REL_ANGLE +-9969 ABS_SPEED +-9968 REL_SPEED +-9967 ABS_ORIGIN_DIST +-9966 REL_ORIGIN_DIST +-9965 PLAYER_X2 +-9964 PLAYER_Y2 +-9963 BOSS_X +-9962 BOSS_Y +-9961 UNKNOWN61 +-9960 RANK +-9959 DIFF +-9958 FINAL_ANGLE +-9957 TRUE +-9956 ABS_ANGLE_PLAYER +-9955 REL_ANGLE_PLAYER +-9954 LIFE +-9953 EASY +-9952 NORMAL +-9951 HARD +-9950 LUNATIC +-9949 MISS_COUNT +-9948 BOMB_COUNT +-9947 CAPTURE +-9946 ENM_CNT_REAL +-9945 SHOTTYPE +-9944 DIST_PLAYER +-9943 BI0 +-9942 BI1 +-9941 BI2 +-9940 BI3 +-9939 BF0 +-9938 BF1 +-9937 BF2 +-9936 BF3 +-9935 F4 +-9934 F5 +-9933 F6 +-9932 F7 +-9931 LAST_ENM_ID +-9930 POWER +!gvar_types +-9953 $ +-9949 $ +-9982 $ +-9970 % +-9983 $ +-9931 $ +-9992 % +-9936 % +-9994 % +-9942 $ +-9987 % +-9981 % +-9996 % +-9971 % +-9991 % +-9965 % +-9985 $ +-9978 % +-9941 $ +-9955 % +-9945 $ +-9947 $ +-9930 $ +-9932 % +-9940 $ +-9951 $ +-9935 % +-9952 $ +-9967 % +-9998 % +-9995 % +-9962 % +-9969 % +-9963 % +-9986 $ +-9999 % +-9943 $ +-9958 % +-9990 % +-10000 $ +-9933 % +-9972 % +-9980 % +-9948 $ +-9977 % +-9988 $ +-9957 $ +-9950 $ +-9934 % +-9938 % +-9993 % +-9959 $ +-9956 % +-9984 $ +-9989 % +-9960 $ +-9997 % +-9944 % +-9937 % +-9964 % +-9939 % +-9961 % +-9976 % +-9973 % +-9966 % +-9946 $ +-9974 % +-9954 $ +-9979 % +-9968 % +-9975 % diff --git a/utils/v4.anmm b/utils/v4.anmm new file mode 100644 index 0000000..39d900c --- /dev/null +++ b/utils/v4.anmm @@ -0,0 +1,161 @@ +!anmmap + +# v4.anmm - for version 4: StB, Mof +# - and version 7: SA, UFO, DS, GFW + +!ins_names +0 nop +1 delete +2 static +3 sprite +4 jmp +5 jmpDec + +6 iset +7 fset +8 iadd +9 fadd +10 isub +11 fsub +12 imul +13 fmul +14 idiv +15 fdiv +16 imod +17 fmod +18 isetAdd +19 fsetAdd +20 isetSub +21 fsetSub +22 isetMul +23 fsetMul +24 isetDiv +25 fsetDiv +26 isetMod +27 fsetMod + +28 ije +29 fje +30 ijne +31 fjne +32 ijl +33 fjl +34 ijle +35 fjle +36 ijg +37 fjg +38 ijge +39 fjge + +40 isetRand +41 fsetRand +42 fsin +43 fcos +44 ftan +45 facos +46 fatan +47 validRad + +48 pos +49 rotate +50 scale +51 alpha +52 color +53 angleVel +54 scaleGrowth +55 alphaTimeLinear +56 posTime +57 colorTime +58 alphaTime +59 rotateTime +60 scaleTime +61 flipX +62 flipY +63 stop +64 interruptLabel +65 anchor +66 blendMode +67 type +68 layer +69 stopHide +70 scrollX +71 scrollY +72 visible +73 zWriteDisable +# 74: v8 ins 306?? # VERIFY +75 wait +76 color2 +77 alpha2 +78 color2Time +79 alpha2Time + +80 colorMode +81 caseReturn +# 82: unknown flag +# 83: v8 ins 422 +84 texCircle +# 85: unknown flag +# 86: unknown flag +87 randMode + +88 scriptNew +89 resampleMode +90 scriptNewUI +91 scriptNewFront +92 scriptNewUIFront + +93 scrollXTime +94 scrollYTime + +95 scriptNewRoot +96 scriptNewPos +97 scriptNewRootPos + +# 98: v8 ins 418 +# 99: v8 ins 419?? # VERIFY +100 moveBezier +# 101: unidentified member of texCircle family +102 spriteRand +103 drawRect +104 drawPoly +105 drawPolyBorder +106 zoomOut +107 zoomOutTime +108 drawRectGrad +109 drawRectRot +110 drawRectRotGrad + +# === TH 12.5+ === +# 111: unknown biflag +# 112: v8 ins 507?? # VERIFY + +# === TH 12.8+ === +113 rotateTime2D +# 114: unidentified member of texCircle family + +!gvar_names +10000 I0 +10001 I1 +10002 I2 +10003 I3 + +10004 F0 +10005 F1 +10006 F2 +10007 F3 + +10008 I4 +10009 I5 + +10010 RANDRAD +10011 RANDF +10012 RANDF2 + +10013 POS_X +10014 POS_Y +10015 POS_Z + +# 10016-10018 is related to background camera position but still a mystery +# 10019-10021 may be normalized direction that the background camera is facing? + +10022 RAND