touhou-reimpl/research/stage07.tstd

354 lines
11 KiB
Plaintext

#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
}
}