Module: Cryptopunks

Defined in:
lib/cryptopunks.rb,
lib/cryptopunks.rb,
lib/cryptopunks.rb,
lib/cryptopunks.rb,
lib/cryptopunks/tool.rb,
lib/cryptopunks/image.rb,
lib/cryptopunks/dataset.rb,
lib/cryptopunks/structs.rb,
lib/cryptopunks/version.rb,
lib/cryptopunks/composite.rb,
lib/cryptopunks/generator.rb,
lib/cryptopunks/attributes.rb

Overview

add tool convenience helper

Defined Under Namespace

Modules: Dataset Classes: Generator, Image, ImageComposite, Metadata, Opts, Spritesheet, Tool, Toolii

Constant Summary collapse

SpriteSheet =

add convenience (alternate spelling) alias - why? why not?

Spritesheet
Sheet =
Spritesheet
Sprite =
Spritesheet
MAJOR =
2
MINOR =
1
PATCH =
0
VERSION =
[MAJOR,MINOR,PATCH].join('.')
TYPES =

5 punk types

[
 { name: 'Alien',  limit: 9 },
 { name: 'Ape',    limit: 24 },
 { name: 'Zombie', limit: 88 },
 { name: 'Female', limit: 3840 },
 { name: 'Male',   limit: 6039 },
]
ACCESSORY_TYPES =
[
 { name: 'Mouth',  accessories: [ { name: 'Cigarette',    limit: 961 },
                                  { name: 'Pipe',         limit: 317 },
                                  { name: 'Vape',         limit: 272 },
                                  { name: 'Medical Mask', limit: 175 }]
 },
 { name: 'Nose',   accessories: [ { name: 'Clown Nose', limit: 212 }]
 },
 {
   name: 'Hair',
   accessories: [ { name: 'Wild Blonde',      limit: 144 },
                  { name: 'Wild Hair',        limit: 447 },
                  { name: 'Dark Hair',        limit: 157 },
                  { name: 'Stringy Hair',     limit: 463 },
                  { name: 'Crazy Hair',       limit: 414 },
                  { name: 'Messy Hair',       limit: 460 },
                  { name: 'Mohawk',           limit: 441 },
                  { name: 'Mohawk Thin',      limit: 441 },
                  { name: 'Mohawk Dark',      limit: 429 },
                  { name: 'Peak Spike',       limit: 303 },
                  { name: 'Frumpy Hair',      limit: 442 },
                  { name: 'Clown Hair Green', limit: 148 },
                  { name: 'Shaved Head',      limit: 300 },
                  { name: 'Vampire Hair',     limit: 147 },
                  { name: 'Red Mohawk',       limit: 147 },
                  { name: 'Blonde Bob',       limit: 147 },
                  { name: 'Straight Hair Dark', limit: 148 },
                  { name: 'Straight Hair',    limit: 151 },
                  { name: 'Purple Hair',      limit: 165 },
                  { name: 'Straight Hair Blonde', limit: 144 },
                  { name: 'Wild White Hair',  limit: 136 },
                  { name: 'Half Shaved',      limit: 147 },
                  { name: 'Pigtails',         limit: 94 },
                  { name: 'Orange Side',      limit: 68 },
                  { name: 'Do-rag',           limit: 300 },
                  { name: 'Tiara',            limit: 55 },
                  { name: 'Blonde Short',     limit: 129 },
                  { name: 'Pink With Hat',    limit: 95 },
                  { name: 'Beanie',           limit: 44 },
                  { name: 'Headband', limit: 406 },
                  { name: 'Bandana', limit: 481 },
                  { name: 'Hoodie', limit: 259 },
                  { name: 'Top Hat', limit: 115 },
                  { name: 'Tassle Hat', limit: 178 },
                  { name: 'Cap', limit: 351 },
                  { name: 'Knitted Cap', limit: 419 },
                  { name: 'Cap Forward', limit: 254 },
                  { name: 'Police Cap', limit: 203 },
                  { name: 'Fedora', limit: 186 },
                  { name: 'Pilot Helmet', limit: 54 },
                  { name: 'Cowboy Hat', limit: 142 }]
  },
  {
    name: 'Beard',
    accessories: [{ name: 'Normal Beard', limit: 292 },
                  { name: 'Normal Beard Black', limit: 289 },
                  { name: 'Front Beard Dark', limit: 260 },
                  { name: 'Front Beard', limit: 273 },
                  { name: 'Shadow Beard', limit: 526 },
                  { name: 'Luxurious Beard', limit: 286 },
                  { name: 'Big Beard', limit: 146 },
                  { name: 'Chinstrap', limit: 282 },
                  { name: 'Mustache', limit: 288 },
                  { name: 'Muttonchops', limit: 303 },
                  { name: 'Handlebars', limit: 263 },
                  { name: 'Goat', limit: 295 }]
  },
  {
    name: 'Ears',
    accessories: [{ name: 'Earring', limit: 2459 }]
  },
  {
    name: 'Eyes',
    accessories: [{ name: 'Blue Eye Shadow', limit: 266 },
                  { name: 'Purple Eye Shadow', limit: 262 },
                  { name: 'Green Eye Shadow', limit: 271 },
                  { name: 'Welding Goggles', limit: 86 },
                  { name: 'VR', limit: 332 },
                  { name: '3D Glasses', limit: 286 },
                  { name: 'Clown Eyes Blue', limit: 384 },
                  { name: 'Clown Eyes Green', limit: 382 },
                  { name: 'Small Shades', limit: 378 },
                  { name: 'Regular Shades', limit: 527 },
                  { name: 'Big Shades', limit: 535 },
                  { name: 'Classic Shades', limit: 502 },
                  { name: 'Nerd Glasses', limit: 572 },
                  { name: 'Horned Rim Glasses', limit: 535 },
                  { name: 'Eye Mask', limit: 293 },
                  { name: 'Eye Patch', limit: 461 }]
  },
  {
    name: 'Lips',
    accessories: [{ name: 'Purple Lipstick', limit: 655 },
                  { name: 'Black Lipstick', limit: 617 },
                  { name: 'Hot Lipstick', limit: 696 } ]
  },
  {
    name: 'Face',
    accessories: [{ name: 'Spots', limit: 124 },
                  { name: 'Mole',  limit: 644 }]
  },
  {
    name: 'Neck',
    accessories: [{ name: 'Choker', limit: 48 },
                  { name: 'Silver Chain', limit: 156 },
                  { name: 'Gold Chain', limit: 169 }]
  },
  { name: 'Cheeks', accessories: [{ name: 'Rosy Cheeks', limit: 128 }]
  },
  { name: 'Teeth',  accessories: [{ name: 'Buck Teeth', limit: 78 }]
  },
  { name: 'Emotion', accessories: [{ name: 'Frown', limit: 261 },
                                   { name: 'Smile', limit: 238 }]
  }
]

Class Method Summary collapse

Class Method Details



14
15
16
# File 'lib/cryptopunks/version.rb', line 14

def self.banner
  "cryptopunks/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}] in (#{root})"
end

.generatorObject



47
48
49
50
# File 'lib/cryptopunks.rb', line 47

def self.generator
  @generator ||= Generator.new(  "#{root}/config/spritesheet.png",
                                 "#{root}/config/spritesheet.csv" )
end

.main(args = ARGV) ⇒ Object



170
# File 'lib/cryptopunks.rb', line 170

def self.main( args=ARGV ) Tool.new.run( args ); end

.rootObject



18
19
20
# File 'lib/cryptopunks/version.rb', line 18

def self.root
  File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )
end

.versionObject



10
11
12
# File 'lib/cryptopunks/version.rb', line 10

def self.version
  VERSION
end