TapestryEngine

A 2D Platformer Game Engine
Log | Files | Refs

46c61cb83a236ce6c452d6358dc83cb03e55fafe.svn-base (19812B)


      1 {
      2 	"loading":
      3 	{
      4 		"splash" : "Loading.bmp"
      5 	},
      6 	
      7 	"level": 
      8 	{
      9 		"world": 
     10 		{
     11 			"world_h": 900,
     12 			"world_w": 4095,
     13 			"terrain" : "arid_land\\arid land_colmap.bmp",
     14 			"backgrounds" : 
     15 			[
     16 			{"back" : "arid_land\\arid land_back_0.bmp"       , "parallax_factor" : 1, "alpha" : 0  },
     17 			{"back" : "arid_land\\arid land_back_1.bmp"       , "parallax_factor" : 1, "alpha" : 0  },
     18 			{"back" : "arid_land\\arid land_back_2.bmp"       , "parallax_factor" : 1, "alpha" : 0  },
     19 			{"back" : "arid_land\\arid land_back_transp_3.bmp", "parallax_factor" : 1, "alpha" : 75},
     20 			{"back" : "arid_land\\arid land_back_4.bmp"       , "parallax_factor" : 1, "alpha" : 0  }
     21 			],
     22 			"foregrounds" : 
     23 			[
     24 			{"fore" : "arid_land\\arid land_fore_0.bmp", "alpha" : 0},
     25 			{"fore" : "arid_land\\arid land_fore_1.bmp", "alpha" : 0},
     26 			{"fore" : "arid_land\\arid land_fore_2.bmp", "alpha" : 0},
     27 			{"fore" : "arid_land\\arid land_fore_3.bmp", "alpha" : 0}
     28 			],
     29 			"overlays" : 
     30 			[
     31 			{"over" : "arid_land\\arid land_over_transp_0.bmp", "parallax_factor" : 1, "alpha" : 125},
     32 			{"over" : "arid_land\\arid land_over_transp_1.bmp", "parallax_factor" : 1, "alpha" : 55}
     33 			]
     34 		},
     35 
     36 		"camera": 
     37 		{
     38 			"h": 252,
     39 			"w": 448,
     40 			"x": 0,
     41 			"y": 0,
     42 			"blockers" :
     43 			[
     44 			{"h" : 1, "w" : 4095, "x" : 0, "y" : 780}
     45 			]
     46 		},
     47 
     48 		"sounds":
     49 		[
     50 		{"filename" : "Dhaka.mp3"       , "name" : "dhaka"       , "vol" : 12 },
     51 		{"filename" : "splash_sound.wav", "name" : "splash_sound", "vol" : 64},
     52 		{"filename" : "footstep.wav"    , "name" : "footstep"    , "vol" : 128},
     53 		{"filename" : "door.wav"        , "name" : "door_open"   , "vol" : 128},
     54 		{"filename" : "draw.wav"        , "name" : "draw_sword"  , "vol" : 128}
     55 		],
     56 
     57 		"sound_regions":
     58 		[
     59 			{
     60 				"x" : 0, "y" : 0, "h" : 900, "w" : 2000,
     61 				"tracks" : 
     62 				[
     63 				"dhaka"
     64 				]
     65 			}
     66 		],
     67 
     68 		"animations" : 
     69 		[
     70 			{
     71 				"pack_name" : "splash", 
     72 				"frame_size" : {"h" : 4, "w" : 20}, 
     73 				"col_data"   : {"off_x" : 0, "off_y" : 0, "col_h" : 4, "col_w" : 20},
     74 				"anim_set":
     75 				[
     76 				{"filename" : "water_ripple.bmp", "frame_count" : 6 , "frame_rate" : 25, "id" : "PARTICLE" }
     77 				],
     78 				"loop_ids" :
     79 				[
     80 					"PARTICLE"
     81 				],
     82 				"transition_ids" :
     83 				[
     84 				],
     85 				"anim_graph": 
     86 				[
     87 					{
     88 						"loop_name": "PARTICLE",
     89 						"transitions": ["NONE"]
     90 					}
     91 				]
     92 			},
     93 				{
     94 				"pack_name" : "haze", 
     95 				"frame_size" : {"h" : 284, "w" : 4095}, 
     96 				"col_data"   : {"off_x" : 0, "off_y" : 0, "col_h" : 284, "col_w" : 4095},
     97 				"anim_set":
     98 				[
     99 				{"filename" : "haze.bmp", "frame_count" : 1 , "frame_rate" : 250, "id" : "PARTICLE" }
    100 				],
    101 				"loop_ids" :
    102 				[
    103 					"PARTICLE"
    104 				],
    105 				"transition_ids" :
    106 				[
    107 				],
    108 				"anim_graph": 
    109 				[
    110 					{
    111 						"loop_name": "PARTICLE",
    112 						"transitions": ["NONE"]
    113 					}
    114 				]
    115 			},
    116 			{
    117 				"pack_name"  : "player_pack",
    118 				"frame_size" : {"h" : 23, "w" : 14}, 
    119 				"col_data"   : {"off_x" : -5, "off_y" : 0, "col_h" : 23, "col_w" : 6},
    120 				"anim_set":
    121 				[
    122 				{"filename" : "player\\player_idle_begin.bmp"       , "frame_count" : 2 , "frame_rate" : 250, "id" : "IDLE_BEGIN"  },
    123 				{"filename" : "player\\player_idle.bmp"             , "frame_count" : 6 , "frame_rate" : 275, "id" : "IDLE"        },
    124 				{"filename" : "player\\player_jump.bmp"             , "frame_count" : 1 , "frame_rate" : 100, "id" : "JUMP"        },
    125 				{"filename" : "player\\player_jump_to_fall.bmp"     , "frame_count" : 1 , "frame_rate" : 100, "id" : "JUMP_TO_FALL"},
    126 				{"filename" : "player\\player_fall.bmp"             , "frame_count" : 5 , "frame_rate" : 75,  "id" : "FALL"        },
    127 				{"filename" : "player\\player_run.bmp"              , "frame_count" : 15, "frame_rate" : 20 , "id" : "RUN"         },
    128 				{"filename" : "player\\player_run_drawn.bmp"        , "frame_count" : 15, "frame_rate" : 20 , "id" : "RUN_DRAWN"   },
    129 				{"filename" : "player\\player_swim.bmp"             , "frame_count" : 6,  "frame_rate" : 50 , "id" : "SWIM"        },
    130 				{"filename" : "player\\player_swim_tread.bmp"       , "frame_count" : 6,  "frame_rate" : 80 , "id" : "TREAD"       }
    131 				],
    132 				"loop_ids" :
    133 				[
    134 					"IDLE",
    135 					"JUMP",
    136 					"FALL",
    137 					"RUN",
    138 					"RUN_DRAWN",
    139 					"SWIM",
    140 					"TREAD"
    141 				],
    142 				"transition_ids" :
    143 				[
    144 					"IDLE_BEGIN",
    145 					"JUMP_TO_FALL"
    146 				],
    147 				"anim_graph": 
    148 				[
    149 					{
    150 						"loop_name": "IDLE",
    151 						"transitions": ["NONE"      , "NONE", "NONE"        , "NONE", "NONE", "NONE", "NONE"]
    152 					},
    153 					{
    154 						"loop_name": "JUMP",
    155 						"transitions": ["NONE"      , "NONE", "JUMP_TO_FALL", "NONE", "NONE", "NONE", "NONE"]
    156 					},
    157 					{
    158 						"loop_name": "FALL",
    159 						"transitions": ["NONE"      , "NONE", "NONE"        , "NONE", "NONE", "NONE", "NONE"]
    160 					},
    161 					{
    162 						"loop_name": "RUN",
    163 						"transitions": ["IDLE_BEGIN", "NONE", "NONE"        , "NONE", "NONE", "NONE", "NONE"]
    164 					},
    165 					{
    166 						"loop_name": "RUN_DRAWN",
    167 						"transitions": ["IDLE_BEGIN", "NONE", "NONE"        , "NONE", "NONE", "NONE", "NONE"]
    168 					},
    169 					{
    170 						"loop_name": "SWIM",
    171 						"transitions": ["NONE"      , "NONE", "NONE"        , "NONE", "NONE", "NONE", "NONE"]
    172 					},
    173 					{
    174 						"loop_name": "TREAD",
    175 						"transitions": ["NONE"      , "NONE", "NONE"        , "NONE", "NONE", "NONE", "NONE"]
    176 					}
    177 				]
    178 			},
    179 			{
    180 				"pack_name"  : "sword",
    181 				"frame_size" : {"h" : 23, "w" : 14}, 
    182 				"col_data"   : {"off_x" : 0, "off_y" : 0, "col_h" : 23, "col_w" : 14},
    183 				"anim_set":
    184 				[
    185 				{"filename" : "player\\sword\\sword_idle_begin.bmp"       , "frame_count" : 2 , "frame_rate" : 250 , "id" : "IDLE_BEGIN"  },
    186 				{"filename" : "player\\sword\\sword_idle.bmp"             , "frame_count" : 6 , "frame_rate" : 275, "id" : "IDLE"        },
    187 				{"filename" : "player\\sword\\sword_jump.bmp"             , "frame_count" : 1 , "frame_rate" : 100, "id" : "JUMP"        },
    188 				{"filename" : "player\\sword\\sword_jump_to_fall.bmp"     , "frame_count" : 1 , "frame_rate" : 100, "id" : "JUMP_TO_FALL"},
    189 				{"filename" : "player\\sword\\sword_fall.bmp"             , "frame_count" : 5 , "frame_rate" : 75,  "id" : "FALL"        },
    190 				{"filename" : "player\\sword\\sword_run.bmp"              , "frame_count" : 15, "frame_rate" : 20 , "id" : "RUN"         },
    191 				{"filename" : "player\\sword\\sword_run_drawn.bmp"        , "frame_count" : 15, "frame_rate" : 20 , "id" : "RUN_DRAWN"   },
    192 				{"filename" : "player\\sword\\sword_swim.bmp"             , "frame_count" : 6,  "frame_rate" : 50 , "id" : "SWIM"        },
    193 				{"filename" : "player\\sword\\sword_swim_tread.bmp"       , "frame_count" : 6,  "frame_rate" : 80 , "id" : "TREAD"       }
    194 				],
    195 				"loop_ids" :
    196 				[
    197 					"IDLE",
    198 					"JUMP",
    199 					"FALL",
    200 					"RUN",
    201 					"RUN_DRAWN",
    202 					"SWIM",
    203 					"TREAD"
    204 				],
    205 				"transition_ids" :
    206 				[
    207 					"IDLE_BEGIN",
    208 					"JUMP_TO_FALL"
    209 				],
    210 				"anim_graph": 
    211 				[
    212 					{
    213 						"loop_name": "IDLE",
    214 						"transitions": ["NONE"      , "NONE", "NONE"        , "NONE", "NONE", "NONE", "NONE"]
    215 					},
    216 					{
    217 						"loop_name": "JUMP",
    218 						"transitions": ["NONE"      , "NONE", "JUMP_TO_FALL", "NONE", "NONE", "NONE", "NONE"]
    219 					},
    220 					{
    221 						"loop_name": "FALL",
    222 						"transitions": ["NONE"      , "NONE", "NONE"        , "NONE", "NONE", "NONE", "NONE"]
    223 					},
    224 					{
    225 						"loop_name": "RUN",
    226 						"transitions": ["IDLE_BEGIN", "NONE", "NONE"        , "NONE", "NONE", "NONE", "NONE"]
    227 					},
    228 					{
    229 						"loop_name": "RUN_DRAWN",
    230 						"transitions": ["IDLE_BEGIN", "NONE", "NONE"        , "NONE", "NONE", "NONE", "NONE"]
    231 					},
    232 					{
    233 						"loop_name": "SWIM",
    234 						"transitions": ["NONE"      , "NONE", "NONE"        , "NONE", "NONE", "NONE", "NONE"]
    235 					},
    236 					{
    237 						"loop_name": "TREAD",
    238 						"transitions": ["NONE"      , "NONE", "NONE"        , "NONE", "NONE", "NONE", "NONE"]
    239 					}
    240 				]
    241 			},
    242 			{
    243 				"pack_name" : "gate",
    244 				"frame_size" : {"h" : 66, "w" : 8}, 
    245 				"col_data"   : {"off_x" : 0, "off_y" : -29, "col_h" : 37, "col_w" : 8}, 
    246 				"anim_set":
    247 				[
    248 				{"filename" : "gate\\gate_down.bmp"        , "frame_count" : 1 , "frame_rate" : 100 , "id" : "GATE_DOWN"        },
    249 				{"filename" : "gate\\gate_up.bmp"          , "frame_count" : 1 , "frame_rate" : 100 , "id" : "GATE_UP"          },
    250 				{"filename" : "gate\\gate_lower.bmp"       , "frame_count" : 6 , "frame_rate" : 40  , "id" : "GATE_LOWER"       },
    251 				{"filename" : "gate\\gate_lower_begin.bmp" , "frame_count" : 3 , "frame_rate" : 40  , "id" : "GATE_LOWER_BEGIN" },
    252 				{"filename" : "gate\\gate_raise.bmp"       , "frame_count" : 38, "frame_rate" : 120 , "id" : "GATE_RAISE"       }
    253 				],
    254 				"loop_ids" :
    255 				[
    256 					"GATE_DOWN",
    257 					"GATE_UP"
    258 				],
    259 				"transition_ids" :
    260 				[
    261 					"GATE_LOWER",
    262 					"GATE_LOWER_BEGIN",
    263 					"GATE_RAISE"
    264 				],
    265 				"anim_graph": 
    266 				[
    267 					{
    268 						"loop_name": "GATE_DOWN",
    269 						"transitions": ["NONE", "GATE_RAISE"]
    270 					},
    271 					{
    272 						"loop_name": "GATE_UP",
    273 						"transitions": ["GATE_LOWER", "NONE"]
    274 					}
    275 				]
    276 			},
    277 			{
    278 				"pack_name" : "winch",
    279 				"frame_size" : {"h" : 31, "w" : 22}, 
    280 				"col_data"   : {"off_x" : 0, "off_y" : 0, "col_h" : 17, "col_w" : 22}, 
    281 				"anim_set":
    282 				[
    283 				{"filename" : "winch\\winch_down.bmp"        , "frame_count" : 1 , "frame_rate" : 100 , "id" : "GATE_DOWN"        },
    284 				{"filename" : "winch\\winch_up.bmp"          , "frame_count" : 1 , "frame_rate" : 100 , "id" : "GATE_UP"          },
    285 				{"filename" : "winch\\winch_lower.bmp"       , "frame_count" : 6 , "frame_rate" : 40  , "id" : "GATE_LOWER"       },
    286 				{"filename" : "winch\\winch_lower_begin.bmp" , "frame_count" : 4 , "frame_rate" : 120 , "id" : "GATE_LOWER_BEGIN" },
    287 				{"filename" : "winch\\winch_raise.bmp"       , "frame_count" : 40, "frame_rate" : 120 , "id" : "GATE_RAISE"       }
    288 				],
    289 				"loop_ids" :
    290 				[
    291 					"GATE_DOWN",
    292 					"GATE_UP"
    293 				],
    294 				"transition_ids" :
    295 				[
    296 					"GATE_LOWER",
    297 					"GATE_LOWER_BEGIN",
    298 					"GATE_RAISE"
    299 				],
    300 				"anim_graph": 
    301 				[
    302 					{
    303 						"loop_name": "GATE_DOWN",
    304 						"transitions": ["NONE", "GATE_RAISE"]
    305 					},
    306 					{
    307 						"loop_name": "GATE_UP",
    308 						"transitions": ["GATE_LOWER", "NONE"]
    309 					}
    310 				]
    311 			},
    312 			{
    313 				"pack_name" : "gateman_npc",
    314 				"frame_size" : {"h" : 26, "w" : 14}, 
    315 				"col_data"   : {"off_x" : 0, "off_y" : 0, "col_h" : 26, "col_w" : 14}, 
    316 				"anim_set":
    317 				[
    318 				{"filename" : "NPCs\\gateman\\gateoperator_idle.bmp"        , "frame_count" : 6 , "frame_rate" : 250 , "id" : "GATE_DOWN"             },
    319 				{"filename" : "NPCs\\gateman\\gateoperator_idle.bmp"        , "frame_count" : 6 , "frame_rate" : 250 , "id" : "GATE_UP"             },
    320 				{"filename" : "NPCs\\gateman\\gateoperator_lower.bmp"       , "frame_count" : 7 , "frame_rate" : 120  , "id" : "GATE_LOWER"       },
    321 				{"filename" : "NPCs\\gateman\\gateoperator_raise.bmp"       , "frame_count" : 43, "frame_rate" : 120 , "id" : "GATE_RAISE"       }
    322 				],
    323 				"loop_ids" :
    324 				[
    325 					"GATE_DOWN",
    326 					"GATE_UP"
    327 				],
    328 				"transition_ids" :
    329 				[
    330 					"GATE_LOWER",
    331 					"GATE_RAISE"
    332 				],
    333 				"anim_graph": 
    334 				[
    335 					{
    336 						"loop_name": "GATE_DOWN",
    337 						"transitions": ["NONE", "GATE_RAISE"]
    338 					},
    339 					{
    340 						"loop_name": "GATE_UP",
    341 						"transitions": ["GATE_LOWER", "NONE"]
    342 					}
    343 				]
    344 			},
    345 			{
    346 				"pack_name" : "red_pack",
    347 				"frame_size" : {"h" : 23, "w" : 14}, 
    348 				"col_data"   : {"off_x" : -5, "off_y" : 0, "col_h" : 23, "col_w" : 6}, 
    349 				"anim_set":
    350 				[
    351 				{"filename" : "red_idle_begin.bmp", "frame_count" : 4 , "frame_rate" : 75 , "off_x" : 0, "off_y" : 0, "col_h" : 0, "col_w" : 0, "id" : "IDLE_BEGIN"},
    352 				{"filename" : "red_idle.bmp"      , "frame_count" : 3 , "frame_rate" : 100, "off_x" : 0, "off_y" : 0, "col_h" : 0, "col_w" : 0, "id" : "IDLE"      },
    353 				{"filename" : "red_run.bmp"       , "frame_count" : 15, "frame_rate" : 20 , "off_x" : 0, "off_y" : 0, "col_h" : 0, "col_w" : 0, "id" : "RUN"       }
    354 				],
    355 				"loop_ids" :
    356 				[
    357 					"IDLE",
    358 					"RUN"
    359 				],
    360 				"transition_ids" :
    361 				[
    362 					"IDLE_BEGIN"
    363 				],
    364 				"anim_graph": 
    365 				[
    366 					{
    367 						"loop_name": "IDLE",
    368 						"transitions": ["NONE", "NONE"]
    369 					},
    370 					{
    371 						"loop_name": "RUN",
    372 						"transitions": ["IDLE_BEGIN", "NONE"]
    373 					}
    374 				]
    375 			},
    376 			{
    377 				"pack_name" : "yella_pack", 
    378 				"frame_size" : {"h" : 23, "w" : 14}, 
    379 				"col_data"   : {"off_x" : -5, "off_y" : 0, "col_h" : 23, "col_w" : 6},
    380 				"anim_set":
    381 				[
    382 				{"filename" : "yella_idle_begin.bmp", "frame_count" : 4 , "frame_rate" : 75 , "id" : "IDLE_BEGIN"},
    383 				{"filename" : "yella_idle.bmp"      , "frame_count" : 3 , "frame_rate" : 100, "id" : "IDLE"      },
    384 				{"filename" : "yella_run.bmp"       , "frame_count" : 15, "frame_rate" : 20 , "id" : "RUN"       }
    385 				],
    386 				"loop_ids" :
    387 				[
    388 					"IDLE",
    389 					"RUN"
    390 				],
    391 				"transition_ids" :
    392 				[
    393 					"IDLE_BEGIN"
    394 				],
    395 				"anim_graph": 
    396 				[
    397 					{
    398 						"loop_name": "IDLE",
    399 						"transitions": ["NONE", "NONE"]
    400 					},
    401 					{
    402 						"loop_name": "RUN",
    403 						"transitions": ["IDLE_BEGIN", "NONE"]
    404 					}
    405 				]
    406 			},
    407 			{
    408 				"pack_name" : "b_rabbit_pack", 
    409 				"frame_size" : {"h" : 5, "w" : 6}, 
    410 				"col_data"   : {"off_x" : 0, "off_y" : 0, "col_h" : 5, "col_w" : 6},
    411 				"anim_set":
    412 				[
    413 				{"filename" : "rabbits\\brabbit_hop.bmp"       , "frame_count" : 1 , "frame_rate" : 100, "id" : "RUN"   },
    414 				{"filename" : "rabbits\\brabbit_idle_eat.bmp"  , "frame_count" : 13, "frame_rate" : 100, "id" : "EAT"   },
    415 				{"filename" : "rabbits\\brabbit_idle_look.bmp" , "frame_count" : 8 , "frame_rate" : 100, "id" : "LOOK"  },
    416 				{"filename" : "rabbits\\brabbit_sleep.bmp"     , "frame_count" : 1 , "frame_rate" : 100, "id" : "SLEEP" }
    417 				],
    418 				"loop_ids" :
    419 				[
    420 					"RUN",
    421 					"EAT",
    422 					"LOOK",
    423 					"SLEEP"
    424 				],
    425 				"transition_ids" :
    426 				[
    427 				],
    428 				"anim_graph": 
    429 				[
    430 					{
    431 						"loop_name": "RUN",
    432 						"transitions": ["NONE", "NONE", "NONE", "NONE"]
    433 					},
    434 					{
    435 						"loop_name": "EAT",
    436 						"transitions": ["NONE", "NONE", "NONE", "NONE"]
    437 					},
    438 					{
    439 						"loop_name": "LOOK",
    440 						"transitions": ["NONE", "NONE", "NONE", "NONE"]
    441 					},
    442 					{
    443 						"loop_name": "SLEEP",
    444 						"transitions": ["NONE", "NONE", "NONE", "NONE"]
    445 					}
    446 				]
    447 			},
    448 			{
    449 				"pack_name" : "loyal_bug_pack", 
    450 				"frame_size" : {"h" : 26, "w" : 64}, 
    451 				"col_data"   : {"off_x" : -32, "off_y" : 0, "col_h" : 26, "col_w" : 32},
    452 				"anim_set":
    453 				[
    454 				{"filename" : "loyal_bug\\loyalbug_idle_begin.bmp" , "frame_count" : 5 ,  "frame_rate" : 75 , "id" : "IDLE_BEGIN"},
    455 				{"filename" : "loyal_bug\\loyalbug_idle.bmp"       , "frame_count" : 11 , "frame_rate" : 120, "id" : "IDLE"      },
    456 				{"filename" : "loyal_bug\\loyalbug_walk.bmp"       , "frame_count" : 23,  "frame_rate" : 20 , "id" : "RUN"       }
    457 				],
    458 				"loop_ids" :
    459 				[
    460 					"IDLE",
    461 					"RUN"
    462 				],
    463 				"transition_ids" :
    464 				[
    465 					"IDLE_BEGIN"
    466 				],
    467 				"anim_graph": 
    468 				[
    469 					{
    470 						"loop_name": "IDLE",
    471 						"transitions": ["NONE", "NONE"]
    472 					},
    473 					{
    474 						"loop_name": "RUN",
    475 						"transitions": ["IDLE_BEGIN", "NONE"]
    476 					}
    477 				]
    478 			},
    479 			{
    480 				"pack_name" : "hostile_bug", 
    481 				"frame_size" : {"h" : 7, "w" : 13}, 
    482 				"col_data"   : {"off_x" : 0, "off_y" : 0, "col_h" : 7, "col_w" : 13},
    483 				"anim_set":
    484 				[
    485 				{"filename" : "hostile\\bug_walk.bmp" , "frame_count" : 8 ,  "frame_rate" : 75 , "id" : "RUN"}
    486 				],
    487 				"loop_ids" :
    488 				[
    489 					"RUN"
    490 				],
    491 				"transition_ids" :
    492 				[
    493 				],
    494 				"anim_graph": 
    495 				[
    496 					{
    497 						"loop_name": "RUN",
    498 						"transitions": []
    499 					}
    500 				]
    501 			},
    502 			{
    503 				"pack_name" : "door", 
    504 				"frame_size" : {"h" : 22, "w" : 15}, 
    505 				"col_data"   : {"off_x" : 0, "off_y" : 0, "col_h" : 22, "col_w" : 15},
    506 				"anim_set":
    507 				[
    508 				{"filename" : "door.bmp" , "frame_count" : 1,  "frame_rate" : 100 , "id" : "IDLE"}
    509 				],
    510 				"loop_ids" :
    511 				[
    512 					"IDLE"
    513 				],
    514 				"transition_ids" :
    515 				[
    516 				],
    517 				"anim_graph": 
    518 				[
    519 					{
    520 						"loop_name": "IDLE",
    521 						"transitions": ["NONE"]
    522 					}
    523 				]
    524 			},
    525 			{
    526 				"pack_name" : "garden_npc", 
    527 				"frame_size" : {"h" : 22, "w" : 11}, 
    528 				"col_data"   : {"off_x" : 0, "off_y" : 0, "col_h" : 22, "col_w" : 11},
    529 				"anim_set":
    530 				[
    531 				{"filename" : "NPCs\\gardenwoman_idle.bmp" , "frame_count" : 5,  "frame_rate" : 300 , "id" : "IDLE"}
    532 				],
    533 				"loop_ids" :
    534 				[
    535 					"IDLE"
    536 				],
    537 				"transition_ids" :
    538 				[
    539 				],
    540 				"anim_graph": 
    541 				[
    542 					{
    543 						"loop_name": "IDLE",
    544 						"transitions": ["NONE"]
    545 					}
    546 				]
    547 			},
    548 			{
    549 				"pack_name" : "smoke_npc", 
    550 				"frame_size" : {"h" : 22, "w" : 13}, 
    551 				"col_data"   : {"off_x" : 0, "off_y" : 0, "col_h" : 22, "col_w" : 13},
    552 				"anim_set":
    553 				[
    554 				{"filename" : "NPCs\\smokingman_idle.bmp" , "frame_count" : 21,  "frame_rate" : 260 , "id" : "IDLE"}
    555 				],
    556 				"loop_ids" :
    557 				[
    558 					"IDLE"
    559 				],
    560 				"transition_ids" :
    561 				[
    562 				],
    563 				"anim_graph": 
    564 				[
    565 					{
    566 						"loop_name": "IDLE",
    567 						"transitions": ["NONE"]
    568 					}
    569 				]
    570 			},
    571 			{
    572 				"pack_name" : "sit_man_npc", 
    573 				"frame_size" : {"h" : 22, "w" : 8}, 
    574 				"col_data"   : {"off_x" : 0, "off_y" : 0, "col_h" : 22, "col_w" : 8},
    575 				"anim_set":
    576 				[
    577 				{"filename" : "NPCs\\sitting_man_idle.bmp" , "frame_count" : 11,  "frame_rate" : 260 , "id" : "IDLE"}
    578 				],
    579 				"loop_ids" :
    580 				[
    581 					"IDLE"
    582 				],
    583 				"transition_ids" :
    584 				[
    585 				],
    586 				"anim_graph": 
    587 				[
    588 					{
    589 						"loop_name": "IDLE",
    590 						"transitions": ["NONE"]
    591 					}
    592 				]
    593 			},
    594 			{
    595 				"pack_name" : "storeowner_npc", 
    596 				"frame_size" : {"h" : 25, "w" : 8}, 
    597 				"col_data"   : {"off_x" : 0, "off_y" : 0, "col_h" : 25, "col_w" : 8},
    598 				"anim_set":
    599 				[
    600 				{"filename" : "NPCs\\storeowner_idle.bmp" , "frame_count" : 8,  "frame_rate" : 415 , "id" : "IDLE"}
    601 				],
    602 				"loop_ids" :
    603 				[
    604 					"IDLE"
    605 				],
    606 				"transition_ids" :
    607 				[
    608 				],
    609 				"anim_graph": 
    610 				[
    611 					{
    612 						"loop_name": "IDLE",
    613 						"transitions": ["NONE"]
    614 					}
    615 				]
    616 			},
    617 			{
    618 				"pack_name" : "bad_hat", 
    619 				"frame_size" : {"h" : 23, "w" : 14}, 
    620 				"col_data"   : {"off_x" : -5, "off_y" : 0, "col_h" : 23, "col_w" : 6},
    621 				"anim_set":
    622 				[
    623 				{"filename" : "player\\myhatisat.bmp" , "frame_count" : 1,  "frame_rate" : 100 , "id" : "IDLE"}
    624 				],
    625 				"loop_ids" :
    626 				[
    627 					"IDLE"
    628 				],
    629 				"transition_ids" :
    630 				[
    631 				],
    632 				"anim_graph": 
    633 				[
    634 					{
    635 						"loop_name": "IDLE",
    636 						"transitions": ["NONE"]
    637 					}
    638 				]
    639 			}
    640 		],
    641 
    642 		"actors" : 
    643 		[
    644 		{"name":"garden0",     "type" : "talker"      , "anim_pack" : "garden_npc"     , "x" : 850  , "y" :  714, "lines" : "Heres the garden woman, this is the stuff she will say. To demonstrate scrolling heres some more text."},
    645 		{"name":"smoke0",      "type" : "talker"      , "anim_pack" : "smoke_npc"      , "x" : 928  , "y" :  672, "lines" : "This is the smoking man, talkers can be spoken to from some distance away horizontally, but you need to be closer vertically. text"},
    646 		{"name":"sit0",        "type" : "talker"      , "anim_pack" : "sit_man_npc"    , "x" : 905  , "y" :  695, "lines" : "Nice try bro"},
    647 		{"name":"storeowner0", "type" : "talker"      , "anim_pack" : "storeowner_npc" , "x" : 930  , "y" :  711, "lines" : "I gotta say something."},
    648 		{"name":"door0",       "type" : "door"        , "anim_pack" : "door"           , "x" : 1470 , "y" :  714, "x2" : 100, "y2" : 714, "x_off" : 5, "y_off" : -1},
    649 		{"name":"gate0",       "type" : "gate"        , "anim_pack" : "gate"           , "x" : 1570 , "y" :  699, "dir" : "RIGHT"},
    650 		{"name":"gateman0",    "type" : "gateman"     , "anim_pack" : "gateman_npc"    , "x" : 1540 , "y" :  670, "linked_gate" : "gate0", "lines" : "When this dialogue closes gate npc will open the gate"},
    651     {"name":"player0",     "type" : "player"      , "anim_pack" : "player_pack"    , "x" : 1700,  "y" :  670}
    652 		],
    653 
    654 		"hud_textures" : 
    655 		{
    656 		"life_base" : "life_base.bmp",
    657 		"life_bar"  : "life_bar.bmp",
    658 		"text_box"  : "dialogue_box.bmp",
    659 		"fader"     : "fader.bmp"
    660 		},
    661 
    662 		"Particles" : 
    663 		[
    664 		{"anim_pack" : "splash"}
    665 		]
    666 			
    667 	}
    668 }