barbershop 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -0
- data/Rakefile +1 -2
- data/lib/barbershop/version.rb +2 -2
- data/lib/barbershop.rb +13 -98
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e4c7cf0e3654ce629ee2e53ac955fcdc1e413a53364552841f8ff7ca4cda6ed
|
4
|
+
data.tar.gz: a00b8c25d80ae8713e84571c5a53277ded4958c5bccb4957ad190dd2c409cdd4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3740540399b33cdc2ec4304c05b092667d919bc3ddad6a6802239b4fa48a45dbc89ecf269c56f413d7c398971b2239584d74f93d5cc0e314d193d0713598e30
|
7
|
+
data.tar.gz: 288116a4f8571f7374d8bd39617722db2b46b147a02229d753e0f246de9b3f8179b00ccb0e1057cf0e8d73eb094b2e02ba4ffa7e216cdc6708089058efff60bc
|
data/CHANGELOG.md
CHANGED
data/Rakefile
CHANGED
data/lib/barbershop/version.rb
CHANGED
data/lib/barbershop.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
require '
|
2
|
-
require 'spritesheet'
|
1
|
+
require 'punkmaker'
|
3
2
|
|
4
3
|
|
5
4
|
# our code
|
@@ -9,105 +8,21 @@ require_relative 'barbershop/version' # let version go first
|
|
9
8
|
|
10
9
|
module Barbershop
|
11
10
|
module Hair
|
12
|
-
|
13
|
-
@
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
height: 24 )
|
18
|
-
end
|
19
|
-
def self.find_by( name: ) sheet.find_by( name: name ); end
|
20
|
-
|
21
|
-
def self.colors
|
22
|
-
@colors ||= begin
|
23
|
-
{
|
24
|
-
'black' => '000000',
|
25
|
-
|
26
|
-
'brown' => '51360c', # (darker) brown
|
27
|
-
'brunette' => 'a66e2c', # lighter brown
|
28
|
-
|
29
|
-
'orange' => 'e65700',
|
30
|
-
'red' => 'e22626',
|
31
|
-
'pink' => 'ff8ebe',
|
32
|
-
'purple' => '710cc7',
|
33
|
-
|
34
|
-
'green' => '28b143',
|
35
|
-
|
36
|
-
'blonde' => 'fff68e',
|
37
|
-
'silver' => 'e0e0e0',
|
38
|
-
'white' => 'FFFFFF',
|
39
|
-
}.reduce( {} ) do |h, (name, color_hex)|
|
40
|
-
h[ name ] = Color.from_hex( color_hex )
|
41
|
-
h
|
42
|
-
end
|
43
|
-
end
|
44
|
-
@colors
|
11
|
+
def self.maker
|
12
|
+
@maker ||= Punk::Hair::Maker.read( "#{Pixelart::Module::Barbershop.root}/config/spritesheet-hair.png",
|
13
|
+
"#{Pixelart::Module::Barbershop.root}/config/spritesheet-hair.csv",
|
14
|
+
width: 24, height: 24,
|
15
|
+
colors: Punk::Hair.colors )
|
45
16
|
end
|
46
|
-
|
47
|
-
def self.
|
48
|
-
h,s,v = Color.to_hsv( color, include_alpha: false )
|
49
|
-
h = h % 360 ## make sure h(ue) is always positive!!!
|
50
|
-
puts " #{[h,s,v].inspect}"
|
51
|
-
|
52
|
-
# lighter - #2a2aff / rgb( 42 42 255) - hsl(240° 100% 58%) - hsv(240° 84% 100%)
|
53
|
-
# - used in hair( frumpy, f/pigtails3, f/straight3, f/wild4, f/wild5 )
|
54
|
-
|
55
|
-
# lightest - #5454ff / rgb( 84 84 255) - hsl(240° 100% 66%) - hsv(240° 67% 100%)
|
56
|
-
# - used in hair(mohawk thin)
|
57
|
-
|
58
|
-
# darker - #0000dd / rgb( 0 0 221) - hsl(240° 100% 43%) - hsv(240° 100% 87%)
|
59
|
-
# - used in hair(mohawk)
|
60
|
-
|
61
|
-
## todo/fix: make lighter/darker formula more "robust"/ better!!!
|
62
|
-
if color == 0x000000ff # black
|
63
|
-
# hsv( 0° 0% 0%)
|
64
|
-
lighter = Color.from_hsv( h, 0.0, 0.16 )
|
65
|
-
lightest = Color.from_hsv( h, 0.0, 0.33 )
|
66
|
-
darker = Color.from_hsv( h, 0.0, 0.0 ) ## darker than black not possible ;-)
|
67
|
-
elsif color == 0xe0e0e0ff # silver
|
68
|
-
# hsv( 0° 0% 88%)
|
69
|
-
lighter = Color.from_hsv( h, 0.0, 1.0 ) # white
|
70
|
-
lightest = Color.from_hsv( h, 0.0, 1.0 ) # white
|
71
|
-
darker = Color.from_hsv( h, 0.0, [0.0, v-0.13].max )
|
72
|
-
elsif color == 0xffffffff # white
|
73
|
-
# hsv( 0° 0% 100%)
|
74
|
-
lighter = Color.from_hsv( h, 0.0, [0.0, v-0.11].max ) # note: make darker
|
75
|
-
lightest = Color.from_hsv( h, 0.0, 1.0 )
|
76
|
-
darker = Color.from_hsv( h, 0.0, [0.0, v-0.16].max )
|
77
|
-
else
|
78
|
-
lighter = Color.from_hsv( h, [0.0, s-0.16].max, v )
|
79
|
-
lightest = Color.from_hsv( h, [0.0, s-0.33].max, v )
|
80
|
-
darker = Color.from_hsv( h, s, [0.0, v-0.13].max )
|
81
|
-
end
|
82
|
-
|
83
|
-
hair.change_colors( {
|
84
|
-
'0000ffff' => color,
|
85
|
-
'2a2affff' => lighter,
|
86
|
-
'5454ffff' => lightest,
|
87
|
-
'0000ddff' => darker,
|
88
|
-
})
|
89
|
-
end # method self.colorize
|
90
|
-
|
17
|
+
def self.sheet() maker.sheet; end
|
18
|
+
def self.colors() maker.colors; end
|
91
19
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
if hair.nil?
|
96
|
-
puts "!! ERROR - unknow hair style >#{style}<; sorry"
|
97
|
-
exit 1
|
98
|
-
end
|
99
|
-
|
100
|
-
color_key = color.downcase.gsub(' ','')
|
101
|
-
rgba = colors[ color_key ]
|
102
|
-
if rgba.nil?
|
103
|
-
puts "!! ERROR - unknow hair color >#{style}<; sorry"
|
104
|
-
exit 1
|
105
|
-
end
|
106
|
-
|
107
|
-
colorize( hair, color: rgba )
|
108
|
-
end
|
109
|
-
|
20
|
+
def self.make( style, color: 'black' )
|
21
|
+
maker.make( style, color: color )
|
22
|
+
end
|
110
23
|
|
24
|
+
## "low-level" convenience helper/wrapper/forwarder
|
25
|
+
def self.colorize( hair, color: ) Punk::Hair.colorize( hair, color: color ); end
|
111
26
|
end # module Hair
|
112
27
|
end # module Barbershop
|
113
28
|
|
metadata
CHANGED
@@ -1,31 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: barbershop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-08-
|
11
|
+
date: 2023-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: spritesheet
|
14
|
+
name: punkmaker
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
30
16
|
requirements:
|
31
17
|
- - ">="
|