sscharter 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/sscharter/cli.rb +4 -3
- data/lib/sscharter/version.rb +1 -1
- data/lib/sscharter.rb +13 -4
- data/tutorial/tutorial.md +12 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e26848981238d761f60a4786887aa548f502cd3368ac7eb1f7519ce3de0c45c4
|
4
|
+
data.tar.gz: 7cc0a9f86404d13634c0cdd5c693efd70bc25da2f6683b70c8f51c304ea4254e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f63c492ff1d26eeba0b259f1e644fd5c848f1a578624198f085a142242094211d89ab91e2087466f8ee7a74093e311a73ba4d076d427830bbeffad43dbdc153
|
7
|
+
data.tar.gz: 6f80c45d548c2ad1509fd0854226343f4da2bca7f407019c517c525244b9d1ba7b0d0890bbf94938e92ecc55728dd500db828003c3668bcca80e6c1bbeca6745
|
data/Gemfile.lock
CHANGED
data/lib/sscharter/cli.rb
CHANGED
@@ -176,10 +176,11 @@ module Sunniesnow::Charter::CLI
|
|
176
176
|
port = port.to_i
|
177
177
|
config = self.config
|
178
178
|
server = WEBrick::HTTPServer.new Port: port, DocumentRoot: config[:build_dir]
|
179
|
-
server.
|
180
|
-
|
179
|
+
def server.service request, response
|
180
|
+
super
|
181
181
|
response['Access-Control-Allow-Origin'] = '*'
|
182
|
-
response
|
182
|
+
response['Cache-Control'] = 'no-cache'
|
183
|
+
response['Content-Type'] = 'application/zip' if request.path.end_with? '.ssc'
|
183
184
|
end
|
184
185
|
url = CGI.escape "http://localhost:#{port}/#{config[:project_name]}.ssc"
|
185
186
|
filewatcher = Filewatcher.new [config[:files_dir], config[:sources_dir], *config[:include]]
|
data/lib/sscharter/version.rb
CHANGED
data/lib/sscharter.rb
CHANGED
@@ -496,16 +496,17 @@ class Sunniesnow::Charter
|
|
496
496
|
events.each { transform.apply _1 }
|
497
497
|
end
|
498
498
|
|
499
|
-
def duplicate events
|
499
|
+
def duplicate events, new_tip_points: true
|
500
500
|
result = []
|
501
501
|
events.each do |event|
|
502
|
+
next if event.type == :placeholder && !new_tip_points
|
502
503
|
result.push event = event.dup
|
503
|
-
if event[:tip_point]
|
504
|
+
if event[:tip_point] && new_tip_points
|
504
505
|
event[:tip_point] = "#@current_duplicate #{event[:tip_point]}"
|
505
506
|
end
|
506
507
|
@groups.each { _1.push event }
|
507
508
|
end
|
508
|
-
@current_duplicate += 1
|
509
|
+
@current_duplicate += 1 if new_tip_points
|
509
510
|
result
|
510
511
|
end
|
511
512
|
|
@@ -556,7 +557,15 @@ class Sunniesnow::Charter
|
|
556
557
|
end
|
557
558
|
alias f flick
|
558
559
|
|
559
|
-
def bg_note x, y, duration_beats = 0, text =
|
560
|
+
def bg_note x, y, duration_beats = 0, text = nil
|
561
|
+
if text.nil?
|
562
|
+
if duration_beats.is_a? String
|
563
|
+
text = duration_beats
|
564
|
+
duration_beats = 0
|
565
|
+
else
|
566
|
+
text = ''
|
567
|
+
end
|
568
|
+
end
|
560
569
|
if !x.is_a?(Numeric) || !y.is_a?(Numeric) || !duration_beats.is_a?(Numeric)
|
561
570
|
raise ArgumentError, 'x, y, and duration_beats must be numbers'
|
562
571
|
end
|
data/tutorial/tutorial.md
CHANGED
@@ -1009,11 +1009,21 @@ You may build the level file and play it on Sunniesnow to see what you have done
|
|
1009
1009
|
|
1010
1010
|
![Second chart](https://i.imgur.com/ksu5sVW.png)
|
1011
1011
|
|
1012
|
-
*Notice*:
|
1013
1012
|
When duplicating tip-pointed events,
|
1014
1013
|
the duplicated events are not connected by the same tip point as the original events.
|
1015
1014
|
However, if two original events are connected by the same tip point,
|
1016
1015
|
their duplicates are also connected by the same tip point, too.
|
1016
|
+
If you want the duplicated events to be connected by the same tip point as the original events,
|
1017
|
+
you can add set the keyword argument `new_tip_points:` to `false` in the call of `duplicate`:
|
1018
|
+
|
1019
|
+
```ruby
|
1020
|
+
notes = tp_chain 0, 100, speed: 100 do
|
1021
|
+
# notes...
|
1022
|
+
end
|
1023
|
+
transform duplicate notes, new_tip_points: false do
|
1024
|
+
# transforms...
|
1025
|
+
end
|
1026
|
+
```
|
1017
1027
|
|
1018
1028
|
## Advanced charting techniques
|
1019
1029
|
|
@@ -1027,7 +1037,7 @@ TODO.
|
|
1027
1037
|
|
1028
1038
|
### Tip points and placeholders
|
1029
1039
|
|
1030
|
-
### Multiple offsets
|
1040
|
+
### Multiple offsets and timing tweaking
|
1031
1041
|
|
1032
1042
|
### JSON post-processing
|
1033
1043
|
|
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.4.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-09-
|
11
|
+
date: 2023-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|