112 lines
3.3 KiB
Plaintext
112 lines
3.3 KiB
Plaintext
#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="");
|
|
}
|