# HG changeset patch # User Thibaut Girka # Date 1315597013 -7200 # Node ID 1bc0ad774ed42c324a1df6d89704f09d685dedfb # Parent 4300a832f0337ecf16c2c8e2bc153b48b2d38daa More impressive data, use a wider range of things, and document things! diff --git a/data/ST/Makefile b/data/ST/Makefile --- a/data/ST/Makefile +++ b/data/ST/Makefile @@ -1,4 +1,4 @@ -all: stg1bg.png stg1bg.anm stage1.std face03a.anm face03b.anm face42.png eff01.png eff01.anm stg1enm2.anm ecldata1.ecl stg1enm.png stg1enm.anm stg1enm2.anm msg1.dat etama3.anm etama3.png +all: stg1bg.png stg1bg.anm stage1.std face03a.anm face03b.anm face42.png eff01.png eff01.anm stg1enm2.anm ecldata1.ecl stg1enm.png stg1enm.anm stg1enm2.anm msg1.dat etama3.anm etama3.png etama4.anm etama4.png face42.png: face.svg inkscape -e face42.png face.svg @@ -40,10 +40,18 @@ etama3.anm: etama3.script thanm c etama3.anm etama3.script +etama4.anm: etama4.script + thanm c etama4.anm etama4.script + + etama3.png: etama3.svg inkscape -e etama3.png etama3.svg +etama4.png: etama4.svg + inkscape -e etama4.png etama4.svg + + stg1enm2.anm: stg1enm2.script thanm c stg1enm2.anm stg1enm2.script @@ -61,6 +69,6 @@ msg1.dat: msg1.script clean: - rm -f stg1bg.png stg1bg.anm stage1.std face03a.anm face03b.anm face42.png eff01.png eff01.anm stg1enm2.anm ecldata1.ecl stg1enm.png stg1enm.anm stg1enm2.anm msg1.dat etama3.anm etama3.png + rm -f stg1bg.png stg1bg.anm stage1.std face03a.anm face03b.anm face42.png eff01.png eff01.anm stg1enm2.anm ecldata1.ecl stg1enm.png stg1enm.anm stg1enm2.anm msg1.dat etama3.anm etama3.png etama4.anm etama4.png .PHONY: all clean diff --git a/data/ST/eff01.script b/data/ST/eff01.script --- a/data/ST/eff01.script +++ b/data/ST/eff01.script @@ -8,5 +8,7 @@ Sprite: 0 384*448+0+0 Script: 0 Instruction: 0 0 1 0 +Instruction: 0 0 17 32.0f 16.0f 0.0f # Translation. Why is it needed? +Instruction: 0 0 23 Instruction: 0 0 15 diff --git a/data/ST/eff01.svg b/data/ST/eff01.svg --- a/data/ST/eff01.svg +++ b/data/ST/eff01.svg @@ -14,15 +14,15 @@ id="svg2" version="1.1" inkscape:version="0.48.1 r9760" - sodipodi:docname="Nouveau document 1"> + sodipodi:docname="eff01.svg"> image/svg+xml - + @@ -51,14 +51,5 @@ inkscape:label="Calque 1" inkscape:groupmode="layer" id="layer1" - transform="translate(0,-796.36218)"> - - + transform="translate(0,-796.36218)" /> diff --git a/data/ST/etama3.script b/data/ST/etama3.script --- a/data/ST/etama3.script +++ b/data/ST/etama3.script @@ -13,122 +13,222 @@ Sprite: 4 16*16+64+32 # Full power item Sprite: 5 16*16+80+32 # Life item Sprite: 6 16*16+96+32 # Star item -Sprite: 7 8*16+112+32 # HARDOCDED: Power item indicator -Sprite: 8 8*16+128+32 # HARDOCDED: Point item indicator -Sprite: 9 8*16+144+32 # HARDOCDED: Big power item indicator -Sprite: 10 8*16+160+32 # HARDOCDED: Bomb item indicator -Sprite: 11 8*16+176+32 # HARDOCDED: Full power indicator -Sprite: 12 8*16+192+32 # HARDOCDED: Life item indicator -Sprite: 13 8*16+208+32 # HARDOCDED: Star item indicator +Sprite: 7 16*16+112+32 # HARDCODED: Power item indicator +Sprite: 8 16*16+128+32 # HARDCODED: Point item indicator +Sprite: 9 16*16+144+32 # HARDCODED: Big power item indicator +Sprite: 10 16*16+160+32 # HARDCODED: Bomb item indicator +Sprite: 11 16*16+176+32 # HARDCODED: Full power indicator +Sprite: 12 16*16+192+32 # HARDCODED: Life item indicator +Sprite: 13 16*16+208+32 # HARDCODED: Star item indicator -# Bullets +# Energy bullets Sprite: 14 16*16+0+0 Sprite: 15 16*16+16+0 Sprite: 16 16*16+32+0 Sprite: 17 16*16+48+0 Sprite: 18 16*16+64+0 Sprite: 29 16*16+80+0 -Sprite: 20 16*16+96+0 +Sprite: 30 16*16+96+0 +Sprite: 31 16*16+112+0 +Sprite: 32 16*16+128+0 +Sprite: 33 16*16+144+0 +Sprite: 34 16*16+160+0 +Sprite: 35 16*16+176+0 +Sprite: 36 16*16+192+0 +Sprite: 37 16*16+208+0 +Sprite: 38 16*16+224+0 +Sprite: 39 16*16+240+0 + +# "focused" things +Sprite: 40 8*16+4+16 +Sprite: 41 8*16+20+16 +Sprite: 42 8*16+36+16 +Sprite: 43 8*16+52+16 +Sprite: 44 8*16+68+16 +Sprite: 45 8*16+84+16 +Sprite: 46 8*16+100+16 +Sprite: 47 8*16+116+16 +Sprite: 48 8*16+132+16 +Sprite: 49 8*16+148+16 +Sprite: 50 8*16+164+16 +Sprite: 51 8*16+180+16 +Sprite: 52 8*16+196+16 +Sprite: 53 8*16+212+16 +Sprite: 54 8*16+228+16 +Sprite: 55 8*16+244+16 -Sprite: 21 16*16+4+16 -Sprite: 22 16*16+20+16 -Sprite: 23 16*16+36+16 -Sprite: 24 16*16+52+16 -Sprite: 25 16*16+68+16 -Sprite: 26 16*16+84+16 -Sprite: 27 16*16+100+16 +# Numbered bullets +Sprite: 56 16*16+0+48 # 0 +Sprite: 57 16*16+16+48 # 1 +Sprite: 58 16*16+32+48 # 2 +Sprite: 59 16*16+48+48 # 3 +Sprite: 60 16*16+64+48 # 4 +Sprite: 61 16*16+80+48 # 5 +Sprite: 62 16*16+96+48 # 6 +Sprite: 63 16*16+112+48 # 7 +Sprite: 64 16*16+128+48 # 8 +Sprite: 65 16*16+144+48 # ⑨ +Sprite: 66 16*16+160+48 # 10 (A) +Sprite: 67 16*16+176+48 # 11 (B) +Sprite: 68 16*16+192+48 # 12 (C) +Sprite: 69 16*16+208+48 # 13 (D) +Sprite: 70 16*16+224+48 # 14 (E) +Sprite: 71 16*16+240+48 # 15 (F) + +# Lasers +Sprite: 72 16*16+0+64 +Sprite: 73 16*16+16+64 +Sprite: 74 16*16+32+64 +Sprite: 75 16*16+48+64 +Sprite: 76 16*16+64+64 +Sprite: 77 16*16+80+64 +Sprite: 78 16*16+96+64 +Sprite: 79 16*16+112+64 +Sprite: 80 16*16+128+64 +Sprite: 81 16*16+144+64 +Sprite: 82 16*16+160+64 +Sprite: 83 16*16+176+64 +Sprite: 84 16*16+192+64 +Sprite: 85 16*16+208+64 +Sprite: 86 16*16+224+64 +Sprite: 87 16*16+240+64 + +# Lasers type 2 +Sprite: 88 16*16+0+80 +Sprite: 89 16*16+16+80 +Sprite: 90 16*16+32+80 +Sprite: 91 16*16+48+80 +Sprite: 92 16*16+64+80 +Sprite: 93 16*16+80+80 +Sprite: 94 16*16+96+80 +Sprite: 95 16*16+112+80 +Sprite: 96 16*16+128+80 +Sprite: 97 16*16+144+80 +Sprite: 98 16*16+160+80 +Sprite: 99 16*16+176+80 +Sprite: 100 16*16+192+80 +Sprite: 101 16*16+208+80 +Sprite: 102 16*16+224+80 +Sprite: 103 16*16+240+80 + +# HARDCODED laser ends +Sprite: 140 16*16+0+81 +Sprite: 141 16*16+32+81 +Sprite: 142 16*16+64+81 +Sprite: 143 16*16+96+81 +Sprite: 144 16*16+128+81 +Sprite: 145 16*16+160+81 + # Scripts: some are hardcoded in the game +# HARDCODED: Bullet type 0 +Script: 0 # Numeroted balls +Instruction: 0 0 1 56 +Instruction: 0 0 15 + +# HARDCODED: Bullet type 1 Script: 1 # Energy balls Instruction: 0 0 1 14 Instruction: 0 0 15 - +# HARDCODED: Bullet type 2 Script: 2 # Focused things -Instruction: 0 0 1 21 +Instruction: 0 0 1 40 Instruction: 0 0 26 1 Instruction: 0 0 15 - -# Hardcoded scripts - -Script: 0 -Instruction: 0 0 1 0 -Instruction: 0 0 15 - +# HARDCODED: Bullet type 3 Script: 3 Instruction: 0 0 1 0 Instruction: 0 0 15 +# HARDCODED: Bullet type 4 Script: 4 Instruction: 0 0 1 0 Instruction: 0 0 15 +# HARDCODED: Bullet type 5 Script: 5 Instruction: 0 0 1 0 Instruction: 0 0 15 +# HARDCODED: Bullet type 6 Script: 6 Instruction: 0 0 1 0 Instruction: 0 0 15 +# HARDCODED: Bullet type 7 Script: 7 Instruction: 0 0 1 0 Instruction: 0 0 15 +# HARDCODED: Bullet type 8 Script: 8 Instruction: 0 0 1 0 Instruction: 0 0 15 - +# HARDCODED: Laser type 0 Script: 9 -Instruction: 0 0 1 0 -Instruction: 0 0 15 - -Script: 10 -Instruction: 0 0 1 0 +Instruction: 0 0 1 72 +Instruction: 0 0 13 Instruction: 0 0 15 -Script: 11 -Instruction: 0 0 1 0 -Instruction: 0 0 15 - -Script: 12 -Instruction: 0 0 1 0 -Instruction: 0 0 15 - -Script: 13 -Instruction: 0 0 1 0 +# HARDCODED: Laser type 1 +Script: 10 +Instruction: 0 0 1 88 +Instruction: 0 0 13 Instruction: 0 0 15 +# ARDCODED: cancel anim for bullet type 0 +Script: 11 +Instruction: 0 0 1 56 +Instruction: 0 0 0 + +# HARDCODED: cancel anim for bullet type 1, 2, 3, 4, 5 +Script: 12 +Instruction: 0 0 1 56 +Instruction: 0 0 0 + +# HARDCODED: cancel anim for bullet type 6, 7, 8 +Script: 13 +Instruction: 0 0 1 56 +Instruction: 0 0 0 + +# HARDCODED: launch anim for bullet type 0, flag 2 Script: 14 -Instruction: 0 0 1 0 -Instruction: 0 0 15 +Instruction: 0 0 1 56 +Instruction: 20 0 0 +# HARDCODED: launch anim for bullet type 0, flag 4 Script: 15 -Instruction: 0 0 1 0 -Instruction: 0 0 15 +Instruction: 0 0 1 56 +Instruction: 200 0 0 +# HARDCODED: launch anim for bullet type 0, flag 8 Script: 16 -Instruction: 0 0 1 0 -Instruction: 0 0 15 +Instruction: 0 0 1 56 +Instruction: 200 0 0 +# HARDCODED: launch anim for bullet type (1, 2, 3, 4, 5), flag 2 Script: 17 -Instruction: 0 0 1 0 -Instruction: 0 0 15 +Instruction: 0 0 1 56 +Instruction: 200 0 0 +# HARDCODED: launch anim for bullet type (1, 2, 3, 4, 5), flag 4 Script: 18 -Instruction: 0 0 1 0 -Instruction: 0 0 15 +Instruction: 0 0 1 56 +Instruction: 200 0 0 +# HARDCODED: launch anim for bullet type (1, 2, 3, 4, 5), flag 8 Script: 19 -Instruction: 0 0 1 0 -Instruction: 0 0 15 +Instruction: 0 0 1 56 +Instruction: 200 0 0 +# HARDCODED: launch anim for bullet type (6, 7, 8), flag (2, 4, 8) Script: 20 -Instruction: 0 0 1 0 -Instruction: 0 0 15 +Instruction: 0 0 1 56 +Instruction: 200 0 0 # HARDCODED: Power item Script: 21 diff --git a/data/ST/etama3.svg b/data/ST/etama3.svg --- a/data/ST/etama3.svg +++ b/data/ST/etama3.svg @@ -19,6 +19,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + inkscape:window-maximized="1" + objecttolerance="10000" /> @@ -584,7 +1864,7 @@ image/svg+xml - + @@ -1264,5 +2544,947 @@ d="m 104.125,47.39768 c -0.006,0 -0.8889,-4.288187 -0.89414,-4.291996 -0.005,-0.0038 -4.356239,0.48208 -4.358241,0.475918 -0.002,-0.0062 3.803621,-2.170519 3.805621,-2.176681 0.002,-0.0062 -1.80463,-3.994055 -1.79939,-3.997863 0.005,-0.0038 3.23967,2.946733 3.24615,2.946733 0.006,0 3.24091,-2.950542 3.24615,-2.946733 0.005,0.0038 -1.8014,3.9917 -1.79939,3.997862 0.002,0.0062 3.80762,2.17052 3.80562,2.176682 -0.002,0.0062 -4.35299,-0.479726 -4.35824,-0.475918 -0.005,0.0038 -0.88766,4.291996 -0.89414,4.291996 z" transform="matrix(0.70553948,0.40734341,-0.40734341,0.70553948,69.104591,760.33789)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + A + + + + B + + + + C + + + + D + + + + E + + + + F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/ST/etama4.script b/data/ST/etama4.script new file mode 100644 --- /dev/null +++ b/data/ST/etama4.script @@ -0,0 +1,165 @@ +ENTRY 0 +Name: data/etama/etama4.png +Format: 1 +Width: 256 +Height: 256 + +# Large bullets +Sprite: 0 64*64+0+0 +Sprite: 1 64*64+64+0 +Sprite: 2 64*64+128+0 +Sprite: 3 64*64+192+0 + +# Large numbers +Sprite: 4 64*64+0+64 +Sprite: 5 64*64+64+64 +Sprite: 6 64*64+128+64 +Sprite: 7 64*64+192+64 + +# Effects +Sprite: 8 64*64+0+128 # Large effect +Sprite: 9 32*32+64+160 # Small effect +Sprite: 10 32*32+96+160 # Small warp-shaped effect +Sprite: 11 32*32+128+160 # Small effect +Sprite: 12 32*32+160+160 # Small square + +# Small numbers +Sprite: 13 16*16+0+240 +Sprite: 14 16*16+16+240 +Sprite: 15 16*16+32+240 +Sprite: 16 16*16+48+240 +Sprite: 17 16*16+64+240 +Sprite: 18 16*16+80+240 +Sprite: 19 16*16+96+240 +Sprite: 20 16*16+112+240 +Sprite: 21 16*16+128+240 +Sprite: 22 16*16+144+240 +Sprite: 23 16*16+160+240 +Sprite: 24 16*16+176+240 +Sprite: 25 16*16+192+240 +Sprite: 26 16*16+208+240 +Sprite: 27 16*16+224+240 +Sprite: 28 16*16+240+240 + + +# HARDCODED: Bullet type 9 +Script: 0 +Instruction: 0 0 1 0 +Instruction: 0 0 13 +Instruction: 0 0 15 + +# HARDCODED: cancel anim for bullet type 9 +Script: 1 +Instruction: 0 0 1 0 +Instruction: 0 0 15 + +# HARDCODED: launch anim for bullet type 9, flag 2, 4, 8 +Script: 2 +Instruction: 0 0 1 0 +Instruction: 0 0 15 + +# HARDCODED: explosion (ECL instruction 118) effect type 0, also used as default death anim +Script: 3 +Instruction: 0 0 1 10 +Instruction: 0 0 13 +Instruction: 0 0 11 0.1f 0.1f +Instruction: 0 0 12 0 30 +Instruction: 0 0 10 0.0f 0.0f 0.15f +Instruction: 30 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 1 +Script: 4 +Instruction: 0 0 1 0 +Instruction: 0 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 2 +Script: 5 +Instruction: 0 0 1 0 +Instruction: 0 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 3, also used as death (bomb) particles +Script: 6 +Instruction: 0 0 1 13 +Instruction: 0 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 17 +Script: 7 +Instruction: 0 0 1 0 +Instruction: 420 0 0 + +# TODO: ??? Used in stage 6 +Script: 8 +Instruction: 0 0 1 0 +Instruction: 420 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 4, also used as death particles +Script: 9 +Instruction: 0 0 1 0 +Instruction: 0 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 5, also used as hit particles +Script: 10 +Instruction: 0 0 1 0 +Instruction: 0 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 6, also used as bomb effects +Script: 11 +Instruction: 0 0 1 0 +Instruction: 0 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 7 +#TODO: check that it doesn't change anything with vanilla data +Script: 12 +Instruction: 0 0 1 0 +Instruction: 0 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 8, also used as grazing effect +Script: 13 +Instruction: 0 0 1 13 +Instruction: 0 0 13 +Instruction: 40 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 9 +#TODO: check that it doesn't change anything with vanilla data +Script: 14 +Instruction: 0 0 1 0 +Instruction: 0 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 10 +#TODO: check that it doesn't change anything with vanilla data +Script: 15 +Instruction: 0 0 1 0 +Instruction: 0 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 11 +#TODO: check that it doesn't change anything with vanilla data +Script: 16 +Instruction: 0 0 1 0 +Instruction: 0 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type 12, also used as hit/player death anim, also used with (some?) ECL 121 functions +Script: 17 +Instruction: 0 0 1 8 +Instruction: 0 0 13 +Instruction: 0 0 12 0 40 +Instruction: 0 0 11 0.2f 0.2f +Instruction: 200 0 0 + +# HARDCODED: explosion (ECL instruction 118) effect type (13, 14, 15), also used as "square effect" (ECL instruction 102) +Script: 18 +Instruction: 0 0 1 12 +Instruction: 0 0 2 0.5f 0.5f +Instruction: 0 0 10 0.0f 0.0f 0.1f +Instruction: 0 0 13 +Instruction: 4000 0 0 + +# TODO +Script: 19 +Instruction: 0 0 1 0 +Instruction: 420 0 0 + +# TODO +Script: 20 +Instruction: 0 0 1 0 +Instruction: 420 0 0 + diff --git a/data/ST/etama4.svg b/data/ST/etama4.svg new file mode 100644 --- /dev/null +++ b/data/ST/etama4.svg @@ -0,0 +1,950 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + 1 + + + + 2 + + + + 3 + + + + + + + + + + + + + + + + + + + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 7 + + + + 8 + + + + 9 + + + + A + + + + 6 + + + + B + + + + C + + + + D + + + + E + + + + F + + + diff --git a/data/ST/face.svg b/data/ST/face.svg --- a/data/ST/face.svg +++ b/data/ST/face.svg @@ -43,7 +43,7 @@ image/svg+xml - + @@ -53,82 +53,88 @@ id="layer1" transform="translate(0,-796.36218)"> - - - - - + id="g3016" + transform="translate(170,-34.57143)"> + + + + + + + + - - - - - + transform="translate(298,-34.57143)" + id="g3026"> + + + + + + + + diff --git a/data/ST/make_ecl.py b/data/ST/make_ecl.py --- a/data/ST/make_ecl.py +++ b/data/ST/make_ecl.py @@ -2,11 +2,11 @@ from pytouhou.formats.ecl import ECL from math import pi # Frame, sub, opcode, args -main = [(120, 0, 0, (-30.0, 80.0, 0.0, 16, 0, 0, 0)), - (140, 0, 0, (-30.0, 130.0, 0.0, 16, 0, 0, 0)), +main = [(120, 0, 0, (-30.0, 80.0, 0.0, 160, 0, 0, 0)), + (140, 0, 0, (-30.0, 130.0, 0.0, 160, 0, 0, 0)), - (160, 0, 2, (192*2+30.0, 80.0, 0.0, 16, 0, 0, 0)), - (180, 0, 2, (192*2+30.0, 130.0, 0.0, 16, 0, 0, 0)), + (160, 0, 2, (192*2+30.0, 80.0, 0.0, 160, 0, 0, 0)), + (180, 0, 2, (192*2+30.0, 130.0, 0.0, 160, 0, 0, 0)), (220, 0, 0, (-30.0, 80.0, 0.0, 16, 0, 0, 0)), (220, 0, 0, (-30.0, 130.0, 0.0, 16, 0, 0, 0)), @@ -18,7 +18,9 @@ main = [(120, 0, 0, (-30.0, 80.0, 0.0, 1 (780, 2, 0, (0, -10, 0.0, 120, 0, 0, 0)), (900, 2, 0, (0, -10, 0.0, 120, 0, 0, 0)), - (1500, 3, 0, (192, -10, 0.0, 300, 0, 0, 0))] + (1500, 3, 0, (192, -10, 0.0, 2000, 0, 0, 0)), + + (2100, 4, 0, (-30.0, 80.0, 0.0, 6500, 0, 0, 0))] subs = [ @@ -59,7 +61,70 @@ subs = [ (0, 57, 0xff00, 256, (60, 192.0, 80.0, 0.0)), (60, 82, 0xff00, 256, (40, 15, -1, -1, 0.0, 6.0, -1, -1)), (60, 75, 0xff00, 256, (1, 3, 20, 1, 3.0, 6.0, -pi, pi, 1| 128)), - (60, 76, 0xff00, 256, (110,))] + (60, 76, 0xff00, 256, (110,))], + + [(0, 97, 0xff00, 256, (0,)), + (0, 105, 0xff00, 256, (0,)), # Set damageable: False + (0, 126, 0xff00, 256, (0,)), # One life + + # Set callback + (0, 113, 0xff00, 256, (1000,)), + (0, 114, 0xff00, 256, (5,)), + + (0, 111, 0xff00, 256, (6000,)), + (0, 101, 0xff00, 256, (0,)), + (0, 57, 0xff00, 256, (60, 192.0, 80.0, 0.0)), + (60, 102, 0xff00, 256, (10, -0.3, 0.7, 0.3, 48.0)), # Nice little effect + (80, 105, 0xff00, 256, (1,)), # Set damageable: True + (80, 119, 0xff00, 256, (10,)), # Drop bonus :) + + (80, 82, 0xff00, 256, (800, 1, -1, -1, 0.02, 0.02, 0.0, 0.0)), + (80, 70, 0xff00, 256, (2, 2, 30, 4, 0.1, 4.1, 0.0, 0.0, 1|32)), + (80, 82, 0xff00, 256, (800, 1, -1, -1, 0.02, -0.02, 0.0, 0.0)), + (80, 70, 0xff00, 256, (2, 6, 30, 4, 0.6, 4.6, 0.0, 0.0, 1|32)), + + (120, 67, 0xff00, 256, (2, 4, 3, 30, 1.0, 5.0, 0.0, 4.0, 0)), + + (200, 2, 0xff00, 256, (80, 11)) + ], + + [(0, 93, 0xff00, 256, (2, 0, "THE END ~")), + + (20, 81, 0xff00, 256, (-100.0-20, 50.0, 0.0)), + (20, 85, 0xff00, 256, (0, 6, 0.0, 0, 0.0, 60.0, 60.0, 16.0, 90, 120, 16, 70, 14, 0)), + (20, 85, 0xff00, 256, (0, 6, pi / 2., 0, 0.0, 40.0, 40.0, 16.0, 90, 120, 16, 70, 14, 0)), + (20, 81, 0xff00, 256, (-100.0-20, 100.0, 0.0)), + (20, 85, 0xff00, 256, (0, 6, 0.0, 0, 0.0, 60.0, 60.0, 16.0, 90, 120, 16, 70, 14, 0)), + (20, 85, 0xff00, 256, (0, 6, pi / 2., 0, 0.0, 40.0, 40.0, 16.0, 90, 120, 16, 70, 14, 0)), + (20, 81, 0xff00, 256, (-100.0-20, 150.0, 0.0)), + (20, 85, 0xff00, 256, (0, 6, 0.0, 0, 0.0, 60.0, 60.0, 16.0, 90, 120, 16, 70, 14, 0)), + + (20, 81, 0xff00, 256, (0.0-20, 20+50.0, 0.0)), + (20, 85, 0xff00, 256, (0, 6, pi / 2., 0, 0.0, 80.0, 80.0, 16.0, 90, 120, 16, 70, 14, 0)), + (20, 85, 0xff00, 256, (0, 6, pi / 4., 0, 0.0, 100.0, 100.0, 16.0, 90, 120, 16, 70, 14, 0)), + (20, 81, 0xff00, 256, (80.0-20, 20+80+50.0, 0.0)), + (20, 85, 0xff00, 256, (0, 6, -pi / 2., 0, 0.0, 80.0, 80.0, 16.0, 90, 120, 16, 70, 14, 0)), + + (20, 81, 0xff00, 256, (120.0-20, 20+50.0, 0.0)), + (20, 85, 0xff00, 256, (0, 6, pi / 2., 0, 0.0, 80.0, 80.0, 16.0, 90, 120, 16, 70, 14, 0)), + (20, 85, 0xff00, 256, (0, 6, pi / 4., 0, 0.0, 60.0, 60.0, 16.0, 90, 120, 16, 70, 14, 0)), + (20, 81, 0xff00, 256, (120.0-20, 20+50.0+80.0, 0.0)), + (20, 85, 0xff00, 256, (0, 6, -pi / 4., 0, 0.0, 60.0, 60.0, 16.0, 90, 120, 16, 70, 14, 0)), + + (40, 81, 0xff00, 256, (0, 0, 0)), + (40, 75, 0xff00, 256, (9, 1, 8, 1, 0.5, 3.0, -pi, pi, 0)), + (40, 76, 0xff00, 256, (40,)), + + (120, 4, 0xff00, 256, (-10001, 314)), + + (120, 87, 0xff00, 256, (1,)), + (120, 85, 0xff00, 256, (0, 2, 0.0, 0, 0.0, 500.0, 500.0, 32.0, 90, 400, 16, 70, 14, 0)), + + (122, 88, 0xff00, 256, (1, 0.01)), + (123, 3, 0xff00, 256, (122, 25, -10001)), + + (200, 94, 0xff00, 256, ()), + ] ] ecl = ECL() diff --git a/data/ST/make_stage.py b/data/ST/make_stage.py --- a/data/ST/make_stage.py +++ b/data/ST/make_stage.py @@ -30,6 +30,8 @@ instances = [(0, 0.0, -46*3*-1, 0.0), (0, 0.0, -46*3*6, 0.0), (0, 0.0, -46*3*7, 0.0), (0, 0.0, -46*3*8, 0.0), + (0, 0.0, -46*3*9, 0.0), + (0, 0.0, -46*3*10, 0.0), #Trees (1, 40.0, -46*3*1, -50.0), (1, 40.0, -46*3*2, -50.0), @@ -37,6 +39,8 @@ instances = [(0, 0.0, -46*3*-1, 0.0), (1, 40.0, -46*3*4, -50.0), (1, 40.0, -46*3*5, -50.0), (1, 40.0, -46*3*6, -50.0), + (1, 40.0, -46*3*7, -50.0), + (1, 40.0, -46*3*8, -50.0), (1, 40.0+40, -46*3*1-20, -50.0), (1, 40.0+40, -46*3*2-20, -50.0), @@ -44,6 +48,8 @@ instances = [(0, 0.0, -46*3*-1, 0.0), (1, 40.0+40, -46*3*4-20, -50.0), (1, 40.0+40, -46*3*5-20, -50.0), (1, 40.0+40, -46*3*6-20, -50.0), + (1, 40.0+40, -46*3*7-20, -50.0), + (1, 40.0+40, -46*3*8-20, -50.0), (2, 192*2-30-40.0, -46*3*1, -50.0), (2, 192*2-30-40.0, -46*3*2, -50.0), @@ -51,13 +57,17 @@ instances = [(0, 0.0, -46*3*-1, 0.0), (2, 192*2-30-40.0, -46*3*4, -50.0), (2, 192*2-30-40.0, -46*3*5, -50.0), (2, 192*2-30-40.0, -46*3*6, -50.0), + (2, 192*2-30-40.0, -46*3*7, -50.0), + (2, 192*2-30-40.0, -46*3*8, -50.0), (2, 192*2-30-40.0-50.0, -46*3*1-20, -50.0), (2, 192*2-30-40.0-50.0, -46*3*2-20, -50.0), (2, 192*2-30-40.0-50.0, -46*3*3-20, -50.0), (2, 192*2-30-40.0-50.0, -46*3*4-20, -50.0), (2, 192*2-30-40.0-50.0, -46*3*5-20, -50.0), - (2, 192*2-30-40.0-50.0, -46*3*6-20, -50.0)] + (2, 192*2-30-40.0-50.0, -46*3*6-20, -50.0), + (2, 192*2-30-40.0-50.0, -46*3*7-20, -50.0), + (2, 192*2-30-40.0-50.0, -46*3*8-20, -50.0)] # Bounding boxes @@ -83,8 +93,9 @@ stage.object_instances = instances stage.script = [(0, 1, (50, 0, 50, 300.0, 800.0)), (0, 2, (0.0, 400.0, 0.3)), (0, 0, (0.0, 0.0, 0.0)), - (1600, 0, (0.0, -600.0, 0.0)), - (6500, 0, (0.0, -600.0, 0.0))] + (2100, 0, (0.0, -800.0, 0.0)), + (3200, 0, (0.0, 0.0, 0.0)), + (6500, 0, (0.0, 0.0, 0.0))] with open('stage1.std', 'wb') as file: stage.write(file)