sscharter 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/sscharter/chart.rb +3 -1
- data/lib/sscharter/version.rb +1 -1
- data/lib/sscharter.rb +6 -1
- data/tutorial/tutorial.md +24 -21
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a943768e6ccb1b3d49ea613906e43cb2f67754163452b40ddca1a2bc79931ed
|
4
|
+
data.tar.gz: d2d6e47744b310cf86dca899136d26a7ed36b6322a663354be26b06c81de573e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9895ab04396393eee863bb0cb8af4631e27af7c7c7f1b154dcac4da796a691dcaf35cba80ece174b1cda9332f245c8a7ad4ac23c8159888fb29cd677d52f802
|
7
|
+
data.tar.gz: 2104bc67acc80130c885388b495f89fd3ce3c23d75a82d2f82d8829f51f47e669c5ef1541616b82fb987eede8f5a39b52484ef6e12d9764371a1d815f6447fe8
|
data/lib/sscharter/chart.rb
CHANGED
@@ -7,7 +7,7 @@ class Sunniesnow::Chart
|
|
7
7
|
using Sunniesnow::Utils
|
8
8
|
|
9
9
|
attr_accessor :title, :artist, :charter
|
10
|
-
attr_accessor :difficulty_name, :difficulty_color, :difficulty
|
10
|
+
attr_accessor :difficulty_name, :difficulty_color, :difficulty, :difficulty_sup
|
11
11
|
attr_reader :events
|
12
12
|
|
13
13
|
def initialize
|
@@ -17,6 +17,7 @@ class Sunniesnow::Chart
|
|
17
17
|
@difficulty_name = ''
|
18
18
|
@difficulty_color = '#000000'
|
19
19
|
@difficulty = ''
|
20
|
+
@difficulty_sup = ''
|
20
21
|
@events = []
|
21
22
|
end
|
22
23
|
|
@@ -28,6 +29,7 @@ class Sunniesnow::Chart
|
|
28
29
|
difficultyName: @difficulty_name,
|
29
30
|
difficultyColor: @difficulty_color,
|
30
31
|
difficulty: @difficulty,
|
32
|
+
difficultySup: @difficulty_sup,
|
31
33
|
events: @events
|
32
34
|
}.to_json
|
33
35
|
end
|
data/lib/sscharter/version.rb
CHANGED
data/lib/sscharter.rb
CHANGED
@@ -363,6 +363,10 @@ class Sunniesnow::Charter
|
|
363
363
|
@difficulty = difficulty.to_s
|
364
364
|
end
|
365
365
|
|
366
|
+
def difficulty_sup difficulty_sup
|
367
|
+
@difficulty_sup = difficulty_sup.to_s
|
368
|
+
end
|
369
|
+
|
366
370
|
def offset offset
|
367
371
|
raise ArgumentError, 'offset must be a number' unless offset.is_a? Numeric
|
368
372
|
@current_offset = offset.to_f
|
@@ -591,7 +595,7 @@ class Sunniesnow::Charter
|
|
591
595
|
event :big_text, duration_beats.to_r, text: text.to_s
|
592
596
|
end
|
593
597
|
|
594
|
-
%i[grid hexagon checkerboard diamond_grid pentagon turntable].each do |method_name|
|
598
|
+
%i[grid hexagon checkerboard diamond_grid pentagon turntable hexagram].each do |method_name|
|
595
599
|
define_method method_name do |duration_beats = 0|
|
596
600
|
unless duration_beats.is_a? Numeric
|
597
601
|
raise ArgumentError, 'duration_beats must be a number'
|
@@ -614,6 +618,7 @@ class Sunniesnow::Charter
|
|
614
618
|
result.difficulty_name = @difficulty_name
|
615
619
|
result.difficulty_color = @difficulty_color
|
616
620
|
result.difficulty = @difficulty
|
621
|
+
result.difficulty_sup = @difficulty_sup
|
617
622
|
@events.each { result.events.push _1.to_sunniesnow }
|
618
623
|
result
|
619
624
|
end
|
data/tutorial/tutorial.md
CHANGED
@@ -563,6 +563,7 @@ There are totally 7 different kinds of background patterns:
|
|
563
563
|
| diamond grid | `diamond_grid duration_beats=0` |
|
564
564
|
| pentagon | `pentagon duration_beats=0` |
|
565
565
|
| turntable | `turntable duration_beats=0` |
|
566
|
+
| hexagram | `hexagram duration_beats=0` |
|
566
567
|
|
567
568
|
Most of them only has one optional argument, specifying the duration.
|
568
569
|
The big text is different in that it needs an additional required argument,
|
@@ -669,13 +670,14 @@ The transformation is done like this:
|
|
669
670
|
> y'=\mathtt{yx}\cdot x+\mathtt{yy}\cdot y.
|
670
671
|
> ```
|
671
672
|
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
673
|
+
> [!NOTE]
|
674
|
+
> When doing spatial transformations,
|
675
|
+
> you do not need to worry about the direction of flick notes.
|
676
|
+
> They are taken care of as well.
|
677
|
+
>
|
678
|
+
> For background patterns,
|
679
|
+
> they are ignored when doing spatial transformations.
|
680
|
+
> They are still affected by temporal transformations, though.
|
679
681
|
|
680
682
|
Therefore, you can also apply, say, a horizontal flip on the duplicated notes like this:
|
681
683
|
|
@@ -789,9 +791,10 @@ end
|
|
789
791
|
|
790
792
|
### BPM changes
|
791
793
|
|
792
|
-
|
793
|
-
|
794
|
-
|
794
|
+
> [!NOTE]
|
795
|
+
> Because *Big-D* does not have BPM changes,
|
796
|
+
> this part of the tutorial will not be used in the actual chart of *Big-D*.
|
797
|
+
> You may still try it out, though.
|
795
798
|
|
796
799
|
You can use `bpm` to set the BPM starting at the current beat.
|
797
800
|
|
@@ -918,7 +921,7 @@ For example, in the expression
|
|
918
921
|
> ```
|
919
922
|
>
|
920
923
|
> the argument `speed:` is a keyword argument in the call of `tp_chain`.
|
921
|
-
The value of the keyword argument is `100`.
|
924
|
+
> The value of the keyword argument is `100`.
|
922
925
|
|
923
926
|
Knowing how to specify the position and time of the spawning of a tip point,
|
924
927
|
then creating tip points is just as easy as filling events in the code block
|
@@ -958,16 +961,16 @@ transform duplicate notes do
|
|
958
961
|
end
|
959
962
|
```
|
960
963
|
|
961
|
-
|
962
|
-
Just like `group`, `tip_point_chain` and `tip_point_drop`
|
963
|
-
may also not preserve beat.
|
964
|
-
You can let them not preserve beat by specifying the keyword argument `preserve_beat: false`:
|
965
|
-
|
966
|
-
```ruby
|
967
|
-
tp_chain 0, 100, speed: 100, preserve_beat: false do
|
968
|
-
|
969
|
-
end
|
970
|
-
```
|
964
|
+
> [!NOTE]
|
965
|
+
> Just like `group`, `tip_point_chain` and `tip_point_drop`
|
966
|
+
> may also not preserve beat.
|
967
|
+
> You can let them not preserve beat by specifying the keyword argument `preserve_beat: false`:
|
968
|
+
>
|
969
|
+
> ```ruby
|
970
|
+
> tp_chain 0, 100, speed: 100, preserve_beat: false do
|
971
|
+
> # notes...
|
972
|
+
> end
|
973
|
+
> ```
|
971
974
|
|
972
975
|
Now, the whole source codes file should look like this:
|
973
976
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sscharter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ulysses Zhan
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
135
|
- !ruby/object:Gem::Version
|
136
136
|
version: '0'
|
137
137
|
requirements: []
|
138
|
-
rubygems_version: 3.4.
|
138
|
+
rubygems_version: 3.4.22
|
139
139
|
signing_key:
|
140
140
|
specification_version: 4
|
141
141
|
summary: A Ruby DSL for writing Sunniesnow charts
|