///|
pub struct EngineProfile {
name : String
target : RuntimeTarget
max_texture : Int
max_frames : Int
padding : Int
scale : Int
power_of_two : Bool
} derive(Debug, Eq, ToJson, FromJson)
///|
pub fn EngineProfile::options(self : EngineProfile) -> AtlasOptions {
{ max_width: self.max_texture, padding: self.padding }
}
///|
pub fn EngineProfile::adapter(self : EngineProfile) -> RuntimeAdapter {
RuntimeAdapter::for_target(self.target)
}
///|
pub fn EngineProfile::usable_for(
self : EngineProfile,
sheet : SpriteSheet,
) -> Bool {
sheet.frames.length() <= self.max_frames
}
///|
pub fn EngineProfile::to_json_string(
self : EngineProfile,
indent? : Int = 2,
) -> String {
self.to_json().stringify(indent~)
}
///|
pub fn engine_profiles() -> Array[EngineProfile] {
[
{
name: "profile_1",
target: if 1 % 3 == 0 {
Godot
} else if 1 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_2",
target: if 2 % 3 == 0 {
Godot
} else if 2 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_3",
target: if 3 % 3 == 0 {
Godot
} else if 3 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_4",
target: if 4 % 3 == 0 {
Godot
} else if 4 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_5",
target: if 5 % 3 == 0 {
Godot
} else if 5 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_6",
target: if 6 % 3 == 0 {
Godot
} else if 6 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_7",
target: if 7 % 3 == 0 {
Godot
} else if 7 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_8",
target: if 8 % 3 == 0 {
Godot
} else if 8 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_9",
target: if 9 % 3 == 0 {
Godot
} else if 9 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_10",
target: if 10 % 3 == 0 {
Godot
} else if 10 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_11",
target: if 11 % 3 == 0 {
Godot
} else if 11 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_12",
target: if 12 % 3 == 0 {
Godot
} else if 12 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_13",
target: if 13 % 3 == 0 {
Godot
} else if 13 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_14",
target: if 14 % 3 == 0 {
Godot
} else if 14 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_15",
target: if 15 % 3 == 0 {
Godot
} else if 15 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_16",
target: if 16 % 3 == 0 {
Godot
} else if 16 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_17",
target: if 17 % 3 == 0 {
Godot
} else if 17 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_18",
target: if 18 % 3 == 0 {
Godot
} else if 18 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_19",
target: if 19 % 3 == 0 {
Godot
} else if 19 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_20",
target: if 20 % 3 == 0 {
Godot
} else if 20 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_21",
target: if 21 % 3 == 0 {
Godot
} else if 21 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_22",
target: if 22 % 3 == 0 {
Godot
} else if 22 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_23",
target: if 23 % 3 == 0 {
Godot
} else if 23 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_24",
target: if 24 % 3 == 0 {
Godot
} else if 24 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_25",
target: if 25 % 3 == 0 {
Godot
} else if 25 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_26",
target: if 26 % 3 == 0 {
Godot
} else if 26 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_27",
target: if 27 % 3 == 0 {
Godot
} else if 27 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_28",
target: if 28 % 3 == 0 {
Godot
} else if 28 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_29",
target: if 29 % 3 == 0 {
Godot
} else if 29 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_30",
target: if 30 % 3 == 0 {
Godot
} else if 30 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_31",
target: if 31 % 3 == 0 {
Godot
} else if 31 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_32",
target: if 32 % 3 == 0 {
Godot
} else if 32 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_33",
target: if 33 % 3 == 0 {
Godot
} else if 33 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_34",
target: if 34 % 3 == 0 {
Godot
} else if 34 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_35",
target: if 35 % 3 == 0 {
Godot
} else if 35 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_36",
target: if 36 % 3 == 0 {
Godot
} else if 36 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_37",
target: if 37 % 3 == 0 {
Godot
} else if 37 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_38",
target: if 38 % 3 == 0 {
Godot
} else if 38 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_39",
target: if 39 % 3 == 0 {
Godot
} else if 39 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_40",
target: if 40 % 3 == 0 {
Godot
} else if 40 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_41",
target: if 41 % 3 == 0 {
Godot
} else if 41 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_42",
target: if 42 % 3 == 0 {
Godot
} else if 42 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_43",
target: if 43 % 3 == 0 {
Godot
} else if 43 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_44",
target: if 44 % 3 == 0 {
Godot
} else if 44 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_45",
target: if 45 % 3 == 0 {
Godot
} else if 45 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_46",
target: if 46 % 3 == 0 {
Godot
} else if 46 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_47",
target: if 47 % 3 == 0 {
Godot
} else if 47 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_48",
target: if 48 % 3 == 0 {
Godot
} else if 48 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_49",
target: if 49 % 3 == 0 {
Godot
} else if 49 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_50",
target: if 50 % 3 == 0 {
Godot
} else if 50 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_51",
target: if 51 % 3 == 0 {
Godot
} else if 51 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_52",
target: if 52 % 3 == 0 {
Godot
} else if 52 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_53",
target: if 53 % 3 == 0 {
Godot
} else if 53 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_54",
target: if 54 % 3 == 0 {
Godot
} else if 54 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_55",
target: if 55 % 3 == 0 {
Godot
} else if 55 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_56",
target: if 56 % 3 == 0 {
Godot
} else if 56 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_57",
target: if 57 % 3 == 0 {
Godot
} else if 57 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_58",
target: if 58 % 3 == 0 {
Godot
} else if 58 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_59",
target: if 59 % 3 == 0 {
Godot
} else if 59 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_60",
target: if 60 % 3 == 0 {
Godot
} else if 60 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_61",
target: if 61 % 3 == 0 {
Godot
} else if 61 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_62",
target: if 62 % 3 == 0 {
Godot
} else if 62 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_63",
target: if 63 % 3 == 0 {
Godot
} else if 63 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_64",
target: if 64 % 3 == 0 {
Godot
} else if 64 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_65",
target: if 65 % 3 == 0 {
Godot
} else if 65 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_66",
target: if 66 % 3 == 0 {
Godot
} else if 66 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_67",
target: if 67 % 3 == 0 {
Godot
} else if 67 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_68",
target: if 68 % 3 == 0 {
Godot
} else if 68 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_69",
target: if 69 % 3 == 0 {
Godot
} else if 69 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_70",
target: if 70 % 3 == 0 {
Godot
} else if 70 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_71",
target: if 71 % 3 == 0 {
Godot
} else if 71 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_72",
target: if 72 % 3 == 0 {
Godot
} else if 72 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_73",
target: if 73 % 3 == 0 {
Godot
} else if 73 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_74",
target: if 74 % 3 == 0 {
Godot
} else if 74 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_75",
target: if 75 % 3 == 0 {
Godot
} else if 75 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_76",
target: if 76 % 3 == 0 {
Godot
} else if 76 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_77",
target: if 77 % 3 == 0 {
Godot
} else if 77 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_78",
target: if 78 % 3 == 0 {
Godot
} else if 78 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_79",
target: if 79 % 3 == 0 {
Godot
} else if 79 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_80",
target: if 80 % 3 == 0 {
Godot
} else if 80 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_81",
target: if 81 % 3 == 0 {
Godot
} else if 81 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_82",
target: if 82 % 3 == 0 {
Godot
} else if 82 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_83",
target: if 83 % 3 == 0 {
Godot
} else if 83 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_84",
target: if 84 % 3 == 0 {
Godot
} else if 84 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_85",
target: if 85 % 3 == 0 {
Godot
} else if 85 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_86",
target: if 86 % 3 == 0 {
Godot
} else if 86 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_87",
target: if 87 % 3 == 0 {
Godot
} else if 87 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_88",
target: if 88 % 3 == 0 {
Godot
} else if 88 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_89",
target: if 89 % 3 == 0 {
Godot
} else if 89 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_90",
target: if 90 % 3 == 0 {
Godot
} else if 90 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_91",
target: if 91 % 3 == 0 {
Godot
} else if 91 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_92",
target: if 92 % 3 == 0 {
Godot
} else if 92 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_93",
target: if 93 % 3 == 0 {
Godot
} else if 93 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_94",
target: if 94 % 3 == 0 {
Godot
} else if 94 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_95",
target: if 95 % 3 == 0 {
Godot
} else if 95 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_96",
target: if 96 % 3 == 0 {
Godot
} else if 96 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_97",
target: if 97 % 3 == 0 {
Godot
} else if 97 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_98",
target: if 98 % 3 == 0 {
Godot
} else if 98 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_99",
target: if 99 % 3 == 0 {
Godot
} else if 99 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_100",
target: if 100 % 3 == 0 {
Godot
} else if 100 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_101",
target: if 101 % 3 == 0 {
Godot
} else if 101 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_102",
target: if 102 % 3 == 0 {
Godot
} else if 102 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_103",
target: if 103 % 3 == 0 {
Godot
} else if 103 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_104",
target: if 104 % 3 == 0 {
Godot
} else if 104 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_105",
target: if 105 % 3 == 0 {
Godot
} else if 105 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_106",
target: if 106 % 3 == 0 {
Godot
} else if 106 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_107",
target: if 107 % 3 == 0 {
Godot
} else if 107 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_108",
target: if 108 % 3 == 0 {
Godot
} else if 108 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_109",
target: if 109 % 3 == 0 {
Godot
} else if 109 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_110",
target: if 110 % 3 == 0 {
Godot
} else if 110 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_111",
target: if 111 % 3 == 0 {
Godot
} else if 111 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_112",
target: if 112 % 3 == 0 {
Godot
} else if 112 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_113",
target: if 113 % 3 == 0 {
Godot
} else if 113 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_114",
target: if 114 % 3 == 0 {
Godot
} else if 114 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_115",
target: if 115 % 3 == 0 {
Godot
} else if 115 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_116",
target: if 116 % 3 == 0 {
Godot
} else if 116 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_117",
target: if 117 % 3 == 0 {
Godot
} else if 117 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_118",
target: if 118 % 3 == 0 {
Godot
} else if 118 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_119",
target: if 119 % 3 == 0 {
Godot
} else if 119 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_120",
target: if 120 % 3 == 0 {
Godot
} else if 120 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_121",
target: if 121 % 3 == 0 {
Godot
} else if 121 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_122",
target: if 122 % 3 == 0 {
Godot
} else if 122 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_123",
target: if 123 % 3 == 0 {
Godot
} else if 123 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_124",
target: if 124 % 3 == 0 {
Godot
} else if 124 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_125",
target: if 125 % 3 == 0 {
Godot
} else if 125 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_126",
target: if 126 % 3 == 0 {
Godot
} else if 126 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_127",
target: if 127 % 3 == 0 {
Godot
} else if 127 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_128",
target: if 128 % 3 == 0 {
Godot
} else if 128 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_129",
target: if 129 % 3 == 0 {
Godot
} else if 129 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_130",
target: if 130 % 3 == 0 {
Godot
} else if 130 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_131",
target: if 131 % 3 == 0 {
Godot
} else if 131 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_132",
target: if 132 % 3 == 0 {
Godot
} else if 132 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_133",
target: if 133 % 3 == 0 {
Godot
} else if 133 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_134",
target: if 134 % 3 == 0 {
Godot
} else if 134 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_135",
target: if 135 % 3 == 0 {
Godot
} else if 135 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_136",
target: if 136 % 3 == 0 {
Godot
} else if 136 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_137",
target: if 137 % 3 == 0 {
Godot
} else if 137 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_138",
target: if 138 % 3 == 0 {
Godot
} else if 138 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_139",
target: if 139 % 3 == 0 {
Godot
} else if 139 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_140",
target: if 140 % 3 == 0 {
Godot
} else if 140 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_141",
target: if 141 % 3 == 0 {
Godot
} else if 141 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_142",
target: if 142 % 3 == 0 {
Godot
} else if 142 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_143",
target: if 143 % 3 == 0 {
Godot
} else if 143 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_144",
target: if 144 % 3 == 0 {
Godot
} else if 144 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_145",
target: if 145 % 3 == 0 {
Godot
} else if 145 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_146",
target: if 146 % 3 == 0 {
Godot
} else if 146 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_147",
target: if 147 % 3 == 0 {
Godot
} else if 147 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_148",
target: if 148 % 3 == 0 {
Godot
} else if 148 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_149",
target: if 149 % 3 == 0 {
Godot
} else if 149 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_150",
target: if 150 % 3 == 0 {
Godot
} else if 150 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_151",
target: if 151 % 3 == 0 {
Godot
} else if 151 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_152",
target: if 152 % 3 == 0 {
Godot
} else if 152 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_153",
target: if 153 % 3 == 0 {
Godot
} else if 153 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_154",
target: if 154 % 3 == 0 {
Godot
} else if 154 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_155",
target: if 155 % 3 == 0 {
Godot
} else if 155 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_156",
target: if 156 % 3 == 0 {
Godot
} else if 156 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_157",
target: if 157 % 3 == 0 {
Godot
} else if 157 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_158",
target: if 158 % 3 == 0 {
Godot
} else if 158 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_159",
target: if 159 % 3 == 0 {
Godot
} else if 159 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_160",
target: if 160 % 3 == 0 {
Godot
} else if 160 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_161",
target: if 161 % 3 == 0 {
Godot
} else if 161 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_162",
target: if 162 % 3 == 0 {
Godot
} else if 162 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_163",
target: if 163 % 3 == 0 {
Godot
} else if 163 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_164",
target: if 164 % 3 == 0 {
Godot
} else if 164 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_165",
target: if 165 % 3 == 0 {
Godot
} else if 165 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_166",
target: if 166 % 3 == 0 {
Godot
} else if 166 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_167",
target: if 167 % 3 == 0 {
Godot
} else if 167 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_168",
target: if 168 % 3 == 0 {
Godot
} else if 168 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_169",
target: if 169 % 3 == 0 {
Godot
} else if 169 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 24,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_170",
target: if 170 % 3 == 0 {
Godot
} else if 170 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 32,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_171",
target: if 171 % 3 == 0 {
Godot
} else if 171 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 40,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_172",
target: if 172 % 3 == 0 {
Godot
} else if 172 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 48,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_173",
target: if 173 % 3 == 0 {
Godot
} else if 173 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1536,
max_frames: 56,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_174",
target: if 174 % 3 == 0 {
Godot
} else if 174 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1792,
max_frames: 64,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_175",
target: if 175 % 3 == 0 {
Godot
} else if 175 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 2048,
max_frames: 72,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_176",
target: if 176 % 3 == 0 {
Godot
} else if 176 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 256,
max_frames: 80,
padding: 0,
scale: 1,
power_of_two: true,
},
{
name: "profile_177",
target: if 177 % 3 == 0 {
Godot
} else if 177 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 512,
max_frames: 88,
padding: 1,
scale: 2,
power_of_two: false,
},
{
name: "profile_178",
target: if 178 % 3 == 0 {
Godot
} else if 178 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 768,
max_frames: 96,
padding: 2,
scale: 3,
power_of_two: true,
},
{
name: "profile_179",
target: if 179 % 3 == 0 {
Godot
} else if 179 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1024,
max_frames: 104,
padding: 3,
scale: 4,
power_of_two: false,
},
{
name: "profile_180",
target: if 180 % 3 == 0 {
Godot
} else if 180 % 3 == 1 {
Phaser
} else {
MoonBit
},
max_texture: 1280,
max_frames: 16,
padding: 0,
scale: 1,
power_of_two: true,
},
]
}
///|
pub fn engine_profile_named(name : String) -> EngineProfile? {
match engine_profiles().search_by(fn(profile) { profile.name == name }) {
Some(index) => Some(engine_profiles()[index])
None => None
}
}
///|
pub fn engine_profiles_for(target : RuntimeTarget) -> Array[EngineProfile] {
engine_profiles().filter(fn(profile) { profile.target == target })
}
///|
pub fn engine_profiles_supporting(sheet : SpriteSheet) -> Array[EngineProfile] {
engine_profiles().filter(fn(profile) { profile.usable_for(sheet) })
}
///|
pub fn best_engine_profile(
sheet : SpriteSheet,
target : RuntimeTarget,
) -> EngineProfile? {
let profiles = engine_profiles_for(target).filter(fn(profile) {
profile.usable_for(sheet)
})
match profiles.get(0) {
None => None
Some(first) => {
let mut best = first
for profile in profiles[1:] {
if profile.max_texture < best.max_texture {
best = profile
}
}
Some(best)
}
}
}
///|
pub fn engine_profile_count() -> Int {
engine_profiles().length()
}
///|
pub fn engine_profile_names() -> Array[String] {
engine_profiles().map(fn(profile) { profile.name })
}
///|
pub fn engine_profile_json(indent? : Int = 2) -> String {
engine_profiles().to_json().stringify(indent~)
}