barbershop 0.0.1 → 0.1.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/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
|
- - ">="
|