[add] Added new song Cranky - VLSI [short edit].

This commit is contained in:
falsycat 2019-10-13 00:00:00 +00:00
parent 70f150f820
commit 7af750c131
7 changed files with 33 additions and 8 deletions

Binary file not shown.

View File

4
.bin/songs/README.md Normal file
View File

@ -0,0 +1,4 @@
SONGS
====
- [Cranky-VLSI_short](https://soundcloud.com/felinegroove/vlsi-short-edit)

View File

@ -10,5 +10,17 @@
"bg-inner-color": [0.8, 0.8, 0.8, 1], "bg-inner-color": [0.8, 0.8, 0.8, 1],
"bg-outer-color": [0.1, 0.1, 0.1, 1] "bg-outer-color": [0.1, 0.1, 0.1, 1]
} }
},
{
"name": "Cranky - V.L.S.I.",
"bpm": 60,
"music": "Cranky-VLSI_short.ogg",
"script": "Cranky-VLSI_short.sj",
"preview": {
"play-offset": 38000,
"bg-inner-color": [0.6, 0.6, 0.7, 1],
"bg-outer-color": [0.1, 0.1, 0.1, 1]
}
} }
] ]

View File

@ -219,7 +219,7 @@ private class SongAppearState : AbstractSceneState {
const song = owner.songs_[song_index_]; const song = owner.songs_[song_index_];
with (owner.text_) { with (owner.text_) {
const w = LoadGlyphs(vec2i(256, 64), const w = LoadGlyphs(vec2i(1024, 64),
song.name.to!dstring, vec2i(TitleTextSize, 0), owner.fonts_.gothic); song.name.to!dstring, vec2i(TitleTextSize, 0), owner.fonts_.gothic);
matrix.scale = TitleTextScale; matrix.scale = TitleTextScale;
matrix.translation = TitleTextTranslation + vec3(-w/2*matrix.scale.x, 0, 0); matrix.translation = TitleTextTranslation + vec3(-w/2*matrix.scale.x, 0, 0);
@ -306,16 +306,21 @@ private class SongWaitState : AbstractSceneState {
} }
} }
if (input.right) {
song.StopPlaying();
song_appear_state_.Initialize(++song_index_%owner.songs_.length);
return CreateResult(song_appear_state_);
}
if (input.up) { if (input.up) {
song.StopPlaying(); song.StopPlaying();
owner.title_scene_.Initialize(); owner.title_scene_.Initialize();
return CreateResult(owner.title_scene_); return CreateResult(owner.title_scene_);
} }
if (input.left && song_index_ != 0) {
song.StopPlaying();
song_appear_state_.Initialize(song_index_-1);
return CreateResult(song_appear_state_);
}
if (input.right && song_index_+1 < owner.songs_.length) {
song.StopPlaying();
song_appear_state_.Initialize(song_index_+1);
return CreateResult(song_appear_state_);
}
++frame_; ++frame_;
return CreateResult(this); return CreateResult(this);

View File

@ -47,6 +47,8 @@ class Text {
model_width_ = 0; model_width_ = 0;
int bmp_width; int bmp_width;
foreach (c; text) { foreach (c; text) {
if (c == ' ') continue;
with (gloader) { with (gloader) {
character = c; character = c;
Load(face).enforce; Load(face).enforce;

View File

@ -62,12 +62,14 @@ class TextProgram {
float vx = vert_.x / model_width; float vx = vert_.x / model_width;
vec2 uv = uv_; vec2 uv = uv_;
uv.y = choose(3, frame%4, uv.y,
choose(0, vx, 0.25, clamp(uv.y, 0, 0.4), uv.y));
uv.y = choose(15, frame%18, uv.y, uv.y = choose(15, frame%18, uv.y,
choose(0.1, vx, 0.2, clamp(uv.y, 0, 0.6), uv.y)); choose(0.1, vx, 0.2, clamp(uv.y, 0.6, 1), uv.y));
uv.y = choose(8, frame%14, uv.y, uv.y = choose(8, frame%14, uv.y,
choose(0.1, vx, 0.6, clamp(uv.y, 0, 0.8), uv.y)); choose(0.1, vx, 0.6, clamp(uv.y, 0, 0.8), uv.y));
uv.y = choose(21, frame%29, uv.y, uv.y = choose(21, frame%29, uv.y,
choose(0.2, vx, 0.3, clamp(uv.y, 0.1, 1), uv.y)); choose(0.2, vx, 0.3, clamp(uv.y, 0.3, 1), uv.y));
uv.y = choose(20, frame%23, uv.y, uv.y = choose(20, frame%23, uv.y,
choose(0.4, vx, 0.6, clamp(uv.y, 0.4, 1), uv.y)); choose(0.4, vx, 0.6, clamp(uv.y, 0.4, 1), uv.y));
uv.y = choose(5, frame%6, uv.y, uv.y = choose(5, frame%6, uv.y,