punks 0.3.1 → 0.3.4
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/Manifest.txt +6 -1
- data/README.md +2 -2
- data/Rakefile +1 -1
- data/config/punks-24x24.csv +903 -822
- data/config/punks-24x24.png +0 -0
- data/config/punks-32x32.csv +36 -0
- data/config/punks-32x32.png +0 -0
- data/config/saudis-24x24.csv +66 -64
- data/config/saudis-24x24.png +0 -0
- data/lib/punks/bodies_32.rb +131 -0
- data/lib/punks/bodies_40.rb +107 -0
- data/lib/punks/philips.rb +1 -1
- data/lib/punks/pixelart/generator.rb +134 -0
- data/lib/punks/{generator.rb → pixelart/spritesheet.rb} +280 -337
- data/lib/punks/punks.rb +38 -30
- data/lib/punks/version.rb +1 -1
- data/lib/punks.rb +6 -2
- metadata +14 -7
data/lib/punks/punks.rb
CHANGED
@@ -1,15 +1,45 @@
|
|
1
1
|
|
2
|
-
|
3
2
|
module Punk
|
4
3
|
|
4
|
+
class Spritesheet
|
5
|
+
def self.builtin
|
6
|
+
@builtin ||= SpritesheetEx.read( "#{Pixelart::Module::Punks.root}/config/punks-24x24.png",
|
7
|
+
"#{Pixelart::Module::Punks.root}/config/punks-24x24.csv",
|
8
|
+
width: 24,
|
9
|
+
height: 24 )
|
10
|
+
end
|
11
|
+
|
12
|
+
## note: for now class used for "namespace" only
|
13
|
+
def self.find_by( name:, gender: nil, size: nil, warn: true ) ## return archetype/attribute image by name
|
14
|
+
# note: pass along name as q (query string)
|
15
|
+
builtin.find_by( name: name,
|
16
|
+
gender: gender,
|
17
|
+
size: size,
|
18
|
+
warn: warn )
|
19
|
+
end
|
20
|
+
def self.find( name, gender: nil, size: nil ) ## return archetype/attribute image by name
|
21
|
+
puts "!!! [WARN] deprecated method call Punk::Spritesheet.find use find_by( name: ) !!!!"
|
22
|
+
builtin.find_by( name: name,
|
23
|
+
gender: gender,
|
24
|
+
size: size )
|
25
|
+
end
|
26
|
+
## helpers
|
27
|
+
def self.normalize_key( str ) Pixelart::SpritesheetEx.normalize_key( str ); end
|
28
|
+
end # class Spritesheet
|
29
|
+
|
30
|
+
|
31
|
+
## add convenience (alternate spelling) alias - why? why not?
|
32
|
+
SpriteSheet = Spritesheet
|
33
|
+
Sheet = Spritesheet
|
34
|
+
Sprite = Spritesheet
|
35
|
+
|
36
|
+
|
37
|
+
|
5
38
|
class Image < Pixelart::Image
|
6
39
|
def self.generator
|
7
|
-
|
8
|
-
@generator ||= Generator.new( "#{Pixelart::Module::Punks.root}/config/punks-24x24.png",
|
9
|
-
"#{Pixelart::Module::Punks.root}/config/punks-24x24.csv", image_class: Image )
|
40
|
+
@generator ||= GeneratorEx.use( Sheet.builtin, image_class: Image )
|
10
41
|
end
|
11
42
|
|
12
|
-
|
13
43
|
def self.generate( *values, style: nil, patch: nil )
|
14
44
|
|
15
45
|
if values[0].is_a?( String )
|
@@ -31,7 +61,7 @@ module Punk
|
|
31
61
|
## Eyes => Eyes B&W
|
32
62
|
## Smile => Smile B&W
|
33
63
|
## ....
|
34
|
-
archetype_key =
|
64
|
+
archetype_key = Sheet.normalize_key( values[0] )
|
35
65
|
if archetype_key.end_with?( 'bw' ) || ## e.g. B&W
|
36
66
|
archetype_key.end_with?( '1bit') ## e.g. 1-Bit or 1Bit
|
37
67
|
|
@@ -39,7 +69,7 @@ module Punk
|
|
39
69
|
if attribute.is_a?( Pixelart::Image )
|
40
70
|
attribute
|
41
71
|
else
|
42
|
-
attribute_key =
|
72
|
+
attribute_key = Sheet.normalize_key( attribute )
|
43
73
|
if ['wildhair'].include?( attribute_key ) ## pass through known b&w attributes by "default"
|
44
74
|
attribute
|
45
75
|
elsif attribute_key.index( "black" )
|
@@ -73,7 +103,7 @@ module Punk
|
|
73
103
|
if attribute.is_a?( Pixelart::Image )
|
74
104
|
attribute
|
75
105
|
else
|
76
|
-
attribute_key =
|
106
|
+
attribute_key = Sheet.normalize_key( attribute )
|
77
107
|
|
78
108
|
if attribute_key == 'smile' || attribute_key == 'frown'
|
79
109
|
attribute += if archetype_key.index( 'zombiefemale' ) then ' Zombie'
|
@@ -96,28 +126,6 @@ module Punk
|
|
96
126
|
generator.generate( *values, style: style, patch: patch )
|
97
127
|
end # method Image.generate
|
98
128
|
end # class Image
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
class Spritesheet
|
103
|
-
def self.builtin
|
104
|
-
## for now get spritesheet via generator
|
105
|
-
Image.generator
|
106
|
-
end
|
107
|
-
## note: for now class used for "namespace" only
|
108
|
-
def self.find_by( name:, gender: nil, size: nil ) ## return archetype/attribute image by name
|
109
|
-
# note: pass along name as q (query string)
|
110
|
-
builtin.find( name,
|
111
|
-
gender: gender,
|
112
|
-
size: size )
|
113
|
-
end
|
114
|
-
end # class Spritesheet
|
115
|
-
## add convenience (alternate spelling) alias - why? why not?
|
116
|
-
SpriteSheet = Spritesheet
|
117
|
-
Sheet = Spritesheet
|
118
|
-
Sprite = Spritesheet
|
119
129
|
end # module Punk
|
120
130
|
|
121
131
|
|
122
|
-
|
123
|
-
|
data/lib/punks/version.rb
CHANGED
data/lib/punks.rb
CHANGED
@@ -7,7 +7,9 @@ require 'artfactory/base'
|
|
7
7
|
## our own code
|
8
8
|
require 'punks/version' # note: let version always go first
|
9
9
|
|
10
|
-
|
10
|
+
|
11
|
+
require 'punks/pixelart/spritesheet'
|
12
|
+
require 'punks/pixelart/generator'
|
11
13
|
|
12
14
|
|
13
15
|
## --- 24x24 series
|
@@ -18,7 +20,9 @@ require 'punks/philips'
|
|
18
20
|
require 'punks/saudis'
|
19
21
|
## --- 32x32 series
|
20
22
|
require 'punks/punks_xl'
|
21
|
-
|
23
|
+
require 'punks/bodies_32'
|
24
|
+
## --- 40x40 series
|
25
|
+
require 'punks/bodies_40'
|
22
26
|
|
23
27
|
|
24
28
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: punks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-07-
|
11
|
+
date: 2022-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pixelart
|
@@ -87,8 +87,9 @@ dependencies:
|
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '3.23'
|
89
89
|
description: punks - generate your own 24×24 (or 32×32) punk, phunk, philip, marilyn,
|
90
|
-
saudi/sheik 'n' more (pixel) avatar / character images (off
|
91
|
-
(via built-in spritesheet); incl. 2x/4x/8x zoom for
|
90
|
+
saudi/sheik, man in black, hottie 'n' more (pixel) avatar / character images (off
|
91
|
+
chain) from text attributes (via built-in spritesheet); incl. 2x/4x/8x zoom for
|
92
|
+
bigger sizes and more
|
92
93
|
email: wwwmake@googlegroups.com
|
93
94
|
executables: []
|
94
95
|
extensions: []
|
@@ -104,15 +105,20 @@ files:
|
|
104
105
|
- config/philip-24x24.png
|
105
106
|
- config/punks-24x24.csv
|
106
107
|
- config/punks-24x24.png
|
108
|
+
- config/punks-32x32.csv
|
109
|
+
- config/punks-32x32.png
|
107
110
|
- config/punks_xl-32x32.csv
|
108
111
|
- config/punks_xl-32x32.png
|
109
112
|
- config/saudis-24x24.csv
|
110
113
|
- config/saudis-24x24.png
|
111
114
|
- lib/punks.rb
|
112
|
-
- lib/punks/
|
115
|
+
- lib/punks/bodies_32.rb
|
116
|
+
- lib/punks/bodies_40.rb
|
113
117
|
- lib/punks/marilyns.rb
|
114
118
|
- lib/punks/philips.rb
|
115
119
|
- lib/punks/phunks.rb
|
120
|
+
- lib/punks/pixelart/generator.rb
|
121
|
+
- lib/punks/pixelart/spritesheet.rb
|
116
122
|
- lib/punks/punks.rb
|
117
123
|
- lib/punks/punks_xl.rb
|
118
124
|
- lib/punks/saudis.rb
|
@@ -142,6 +148,7 @@ rubygems_version: 3.3.7
|
|
142
148
|
signing_key:
|
143
149
|
specification_version: 4
|
144
150
|
summary: punks - generate your own 24×24 (or 32×32) punk, phunk, philip, marilyn,
|
145
|
-
saudi/sheik 'n' more (pixel) avatar / character images (off
|
146
|
-
(via built-in spritesheet); incl. 2x/4x/8x zoom for
|
151
|
+
saudi/sheik, man in black, hottie 'n' more (pixel) avatar / character images (off
|
152
|
+
chain) from text attributes (via built-in spritesheet); incl. 2x/4x/8x zoom for
|
153
|
+
bigger sizes and more
|
147
154
|
test_files: []
|