[][src]Struct bloke::Bloke

pub struct Bloke {
    pub version: u16,
    pub height_arch: u16,
    pub height_leg: u16,
    pub height_body: u16,
    pub height_neck: u16,
    pub height_head: u16,
    pub height_hair: u16,
    pub length_foot: u16,
    pub length_toes: u16,
    pub size_legs: u16,
    pub size_knee: u16,
    pub size_calf: u16,
    pub size_hamstring: u16,
    pub size_butt: u16,
    pub size_body: u16,
    pub size_belly: u16,
    pub size_chest: u16,
    pub size_spine: u16,
    pub size_hunch: u16,
    pub size_shoulder: u16,
    pub size_arm_muscle: u16,
    pub size_arm_fat: u16,
    pub size_elbow: u16,
    pub size_hand: u16,
    pub size_finger: u16,
    pub size_head: u16,
    pub size_nose: u16,
    pub size_nosepoint: u16,
    pub size_nostril: u16,
    pub size_mouth: u16,
    pub size_lips: u16,
    pub size_eyes: u16,
    pub size_eyelid: u16,
    pub size_eyearea: u16,
    pub size_eyelash: u16,
    pub size_eyelashcurve: u16,
    pub size_ear: u16,
    pub size_chin: u16,
    pub size_face: u16,
    pub size_forehead: u16,
    pub size_cheek: u16,
    pub size_mustache: u16,
    pub size_beard: u16,
    pub size_sidehair: u16,
    pub size_bodyhair: u16,
    pub size_chinextend: u16,
    pub size_backhead: u16,
    pub size_longhair: u16,
    pub size_hips: u16,
    pub size_waist: u16,
    pub size_ankle: u16,
    pub size_foothair: u16,
    pub size_armpithair: u16,
    pub size_nosehair: u16,
    pub thickness_eyebrow: u16,
    pub width_eyebrow: u16,
    pub roundness_body: u16,
    pub roundness_finger: u16,
    pub roundness_head: u16,
    pub roundness_ear: u16,
    pub len_nail: u16,
    pub len_arm: u16,
    pub dist_eye: u16,
    pub skin: u16,
    pub has_freckles: u16,
    pub has_teeth: u16,
    pub color_teeth: u16,
    pub color_lip: u16,
    pub color_skinhue: u16,
    pub color_skinshade: u16,
    pub color_headhair1: u32,
    pub color_headhair2: u32,
    pub color_headhair3: u32,
    pub color_bodyhair: u32,
    pub color_mustache: u32,
    pub color_beard: u32,
    pub color_foothair: u32,
    pub color_armpithair: u32,
    pub color_eyelash: u32,
    pub color_eyebrow: u32,
    pub color_eye: u32,
    pub color_fingertoenail: u32,
    pub voice_pitch: u16,
    pub voice_waveform: u16,
}

A Bloke (from a *.bloke file).

A Bloke File stores your Bloke (*.bloke). Games may render the Bloke according to their own style, and don't have to read all of the fields. For creating your Bloke, their will be a public domain standard bloke renderer, that does read all of the fields and adjust rendering appropriately. The file is a simple format of listing shorts (integers 0-65535) which specify how much of an attribute the Bloke has.

The file format is always 192 bytes uncompressed. It describes a human-like figure by attributes that are measured on 16-bit continuums. It does not store a binary bit for gender. It also does not include clothing or jewelery (video games often have their own in game as items). What is included are other stylistic choices like hair dye and nail polish. Video games may also apply this format to other imaginary life forms in game, which are not human (example: a game where you play as an alien).

Fields

version: u16

Version must be 1

height_arch: u16

Default: 32768 (65535 = tall arch, 0 = flat feet)

height_leg: u16

Default: 32768 (65535 = tall legs, 0 = short legs)

height_body: u16

Default: 32768 (65535 = tall body, 0 = short body)

height_neck: u16

Default: 32768 (65535 = long neck, 0 = short neck)

height_head: u16

Default: 32768 (65535 = tall head, 0 = short head)

height_hair: u16

Default: 32768 (65535 = tall/thick hair, 0 = bald)

length_foot: u16

Default: 32768 (65535 = big feet, 0 = small feet)

length_toes: u16

Default: 32768 (65535 = long toes, 0 = short toes)

size_legs: u16

Default: 32768 (65535 = fat leg, 0 = no-fat leg)

size_knee: u16

Default: 32768 (65535 = big knee, 0 = no visible knee)

size_calf: u16

Default: 32768 (65535 = muscular lower leg, 0 = no-muscles lower leg)

size_hamstring: u16

Default: 32768 (65535 = muscular upper leg, 0 = no-muscles upper leg)

size_butt: u16

Default: 32768 (65535 = big butt, 0 = small butt)

size_body: u16

Default: 32768 (65535 = wide body, 0 = thin body)

size_belly: u16

Default: 32768 (65535 = beer gut, 0 = flat stomach)

size_chest: u16

Default: 32768 (65535 = has chest, 0 = flat chest)

size_spine: u16

Default: 32768 (65535 = big arch spine, 0 = straight spine)

size_hunch: u16

Default: 32768 (65535 = hunched over spine, 0 = straight spine)

size_shoulder: u16

Default: 32768 (65535 = sloped shoulder, 0 = flat shoulder)

size_arm_muscle: u16

Default: 32768 (65535 = muscular arms, 0 = no-muscle arms)

size_arm_fat: u16

Default: 32768 (65535 = fat arms, 0 = no-fat arms)

size_elbow: u16

Default: 32768 (65535 = big elbow, 0 = no visible elbow)

size_hand: u16

Default: 32768 (65535 = big hands, 0 = small hands)

size_finger: u16

Default: 32768 (65535 = long fingers, 0 = short fingers)

size_head: u16

Default: 32768 (65535 = big head, 0 = small head)

size_nose: u16

Default: 32768 (65535 = big nose, 0 = small nose)

size_nosepoint: u16

Default: 32768 (65535 = pointy nose, 0 = flat nose)

size_nostril: u16

Default: 32768 (65535 = big nostrils, 0 = small nostrils)

size_mouth: u16

Default: 32768 (65535 = wide mouth, 0 = small mouth)

size_lips: u16

Default: 32768 (65535 = big lips, 0 = no lips)

size_eyes: u16

Default: 32768 (65535 = big eyes, 0 = small eyes)

size_eyelid: u16

Default: 32768 (65535 = eyes rest mostly closed, 0 = eyes rest mostly open)

size_eyearea: u16

Default: 32768 (65535 = concave/deep around eyes, 0 = eyes as far out as forehead)

size_eyelash: u16

Default: 32768u16 (65535 = long eyelashes, 0 = short eyelashes)

size_eyelashcurve: u16

Default: 32768u16 (65535 = curved upwards, 0 = curved downwards)

size_ear: u16

Default: 32768u16 (65535 = ears stick out, 0 = flat ears)

size_chin: u16

Default: 32768u16 (65535 = double chin, 0 = mouth very close to chin)

size_face: u16

Default: 32768u16 (65535 = spaced out face, 0 = compact face)

size_forehead: u16

Default: 32768u16 (65535 = tall forehead, 0 = short forehead)

size_cheek: u16

Default: 32768u16 (65535 = convex/chipmunk cheeks, 0 = concave/bony cheeks)

size_mustache: u16

Default: 0u16 (65535 = long mustache (extends off face), 0 = no mustache)

size_beard: u16

Default: 0u16 (65535 = long beard (down to knees), 0 = no beard)

size_sidehair: u16

Default: 32768u16 (65535 = thick/long hair on sides, 0 = shaved on sides hair)

size_bodyhair: u16

Default: 32768u16 (65535 = long hair, 0 = shaved)

size_chinextend: u16

Default: 32768u16 (65535 = protruding bottom of chin, 0 = rounded bottom of chin)

size_backhead: u16

Default: 32768u16 (65535 = back of head extends, 0 = back of head is flat with neck)

size_longhair: u16

Default: 32768u16 (65535 = hair down to ankles, 0 = hair to top of ears)

size_hips: u16

Default: 32768u16 (65535 = wide hips, 0 = small hips)

size_waist: u16

Default: 32768u16 (65535 = wide waist, 0 = small waist)

size_ankle: u16

Default: 32768u16 (65535 = wide ankles, 0 = small ankles)

size_foothair: u16

Default: 32768u16 (65535 = long foot hair, 0 = no foot hair)

size_armpithair: u16

Default: 32768u16 (65535 = long armpit hair, 0 = no armpit hair)

size_nosehair: u16

Default: 32768u16 (65535 = long nose hair, 0 = no nose hair)

thickness_eyebrow: u16

Default: 32768u16 (65535 = thick eyebrows, 0 = thin eyebrows)

width_eyebrow: u16

Default: 32768u16 (65535 = unibrow, 0 = no eyebrows)

roundness_body: u16

Default: 32768 (65535 = round body, 0 = straight body)

roundness_finger: u16

Default: 32768u16 (65535 = finger rounded edges, 0 = finger right angles)

roundness_head: u16

Default: 32768u16 (65535 = round head, 0 = almost-cubelike-head)

roundness_ear: u16

Default: 32768u16 (65535 = round ear, 0 = pointy ear)

len_nail: u16

Default: 32768u16 (65535 = long fingernails, 0 = short fingernails)

len_arm: u16

Default: 32768u16 (65535 = long, 0 = short)

dist_eye: u16

Default: 32768u16 (65535 = eyes far apart, 0 = eyes close to each other)

skin: u16

Default: 32768u16 (65535 = wrinkly skin, 32768 = rough skin, 0 = shiny smooth skin)

has_freckles: u16

Default: 32768 (65535 = face & limb freckles, 32768 = limb freckles, 0 = no freckles)

has_teeth: u16

Default: 0b1111_1111_1111_1111 (4 bit = 4 teeth, top left, right, bottom left, right)

color_teeth: u16

Default: 0 (65535 = yellow, 0 = white)

color_lip: u16

Default: 32768u16 (65535 = light red, 0 = light blue)

color_skinhue: u16

Default: 32768u16 (65535 = more brown-red color, 0 = more brown-blue color)

color_skinshade: u16

Default: 32768u16 (65535 = dark (black) skin, 0 = light (white) skin)

color_headhair1: u32

Default: (32 bit RGBA)

color_headhair2: u32

Default: (32 bit RGBA)

color_headhair3: u32

Default: (32 bit RGBA)

color_bodyhair: u32

Default: (32 bit RGBA)

color_mustache: u32

Default: (32 bit RGBA)

color_beard: u32

Default: (32 bit RGBA)

color_foothair: u32

Default: (32 bit RGBA)

color_armpithair: u32

Default: (32 bit RGBA)

color_eyelash: u32

Default: (32 bit RGBA)

color_eyebrow: u32

Default: (32 bit RGBA)

color_eye: u32

Default: (32 bit RGBA)

color_fingertoenail: u32

Default: (32 bit RGBA)

voice_pitch: u16

Default: 32768u16 (65535 = high pitched, 0 = low pitched)

voice_waveform: u16

Default: 0u16 (TODO)

Methods

impl Bloke[src]

pub fn save(&self) -> Vec<u8>[src]

pub fn load(data: &[u8]) -> Bloke[src]

Trait Implementations

impl PartialEq<Bloke> for Bloke[src]

impl Debug for Bloke[src]

impl Serialize for Bloke[src]

impl<'de> Deserialize<'de> for Bloke[src]

Auto Trait Implementations

impl Send for Bloke

impl Sync for Bloke

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]