tank_island 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE +22 -0
  6. data/README.md +58 -0
  7. data/Rakefile +2 -0
  8. data/bin/tank_island +30 -0
  9. data/lib/entities/box.rb +28 -0
  10. data/lib/entities/bullet.rb +26 -0
  11. data/lib/entities/camera.rb +113 -0
  12. data/lib/entities/components/ai/gun.rb +114 -0
  13. data/lib/entities/components/ai/tank_chasing_state.rb +30 -0
  14. data/lib/entities/components/ai/tank_fighting_state.rb +47 -0
  15. data/lib/entities/components/ai/tank_fleeing_state.rb +50 -0
  16. data/lib/entities/components/ai/tank_motion_fsm.rb +102 -0
  17. data/lib/entities/components/ai/tank_motion_state.rb +84 -0
  18. data/lib/entities/components/ai/tank_navigating_state.rb +34 -0
  19. data/lib/entities/components/ai/tank_roaming_state.rb +83 -0
  20. data/lib/entities/components/ai/tank_stuck_state.rb +45 -0
  21. data/lib/entities/components/ai/vision.rb +109 -0
  22. data/lib/entities/components/ai_input.rb +70 -0
  23. data/lib/entities/components/box_graphics.rb +39 -0
  24. data/lib/entities/components/bullet_graphics.rb +13 -0
  25. data/lib/entities/components/bullet_physics.rb +65 -0
  26. data/lib/entities/components/bullet_sounds.rb +15 -0
  27. data/lib/entities/components/component.rb +32 -0
  28. data/lib/entities/components/damage_graphics.rb +20 -0
  29. data/lib/entities/components/explosion_graphics.rb +43 -0
  30. data/lib/entities/components/explosion_sounds.rb +16 -0
  31. data/lib/entities/components/health.rb +87 -0
  32. data/lib/entities/components/player_input.rb +100 -0
  33. data/lib/entities/components/player_sounds.rb +16 -0
  34. data/lib/entities/components/powerup_graphics.rb +22 -0
  35. data/lib/entities/components/powerup_sounds.rb +15 -0
  36. data/lib/entities/components/tank_graphics.rb +46 -0
  37. data/lib/entities/components/tank_health.rb +32 -0
  38. data/lib/entities/components/tank_physics.rb +179 -0
  39. data/lib/entities/components/tank_sounds.rb +43 -0
  40. data/lib/entities/components/tree_graphics.rb +69 -0
  41. data/lib/entities/damage.rb +26 -0
  42. data/lib/entities/explosion.rb +34 -0
  43. data/lib/entities/game_object.rb +54 -0
  44. data/lib/entities/hud.rb +79 -0
  45. data/lib/entities/map.rb +183 -0
  46. data/lib/entities/object_pool.rb +59 -0
  47. data/lib/entities/powerups/fire_rate_powerup.rb +14 -0
  48. data/lib/entities/powerups/health_powerup.rb +12 -0
  49. data/lib/entities/powerups/powerup.rb +35 -0
  50. data/lib/entities/powerups/powerup_respawn_queue.rb +23 -0
  51. data/lib/entities/powerups/repair_powerup.rb +14 -0
  52. data/lib/entities/powerups/tank_speed_powerup.rb +14 -0
  53. data/lib/entities/radar.rb +62 -0
  54. data/lib/entities/score_display.rb +35 -0
  55. data/lib/entities/tank.rb +64 -0
  56. data/lib/entities/tree.rb +18 -0
  57. data/lib/game_states/demo_state.rb +49 -0
  58. data/lib/game_states/game_state.rb +27 -0
  59. data/lib/game_states/menu_state.rb +60 -0
  60. data/lib/game_states/pause_state.rb +61 -0
  61. data/lib/game_states/play_state.rb +119 -0
  62. data/lib/misc/axis_aligned_bounding_box.rb +33 -0
  63. data/lib/misc/game_window.rb +30 -0
  64. data/lib/misc/names.rb +13 -0
  65. data/lib/misc/quad_tree.rb +91 -0
  66. data/lib/misc/stats.rb +55 -0
  67. data/lib/misc/stereo_sample.rb +96 -0
  68. data/lib/misc/utils.rb +145 -0
  69. data/media/armalite_rifle.ttf +0 -0
  70. data/media/boxes_barrels.json +60 -0
  71. data/media/boxes_barrels.png +0 -0
  72. data/media/bullet.png +0 -0
  73. data/media/c_dot.png +0 -0
  74. data/media/country_field.png +0 -0
  75. data/media/crash.ogg +0 -0
  76. data/media/damage1.png +0 -0
  77. data/media/damage2.png +0 -0
  78. data/media/damage3.png +0 -0
  79. data/media/damage4.png +0 -0
  80. data/media/decor.json +516 -0
  81. data/media/decor.png +0 -0
  82. data/media/decor.psd +0 -0
  83. data/media/explosion.mp3 +0 -0
  84. data/media/explosion.png +0 -0
  85. data/media/fire.mp3 +0 -0
  86. data/media/ground.json +492 -0
  87. data/media/ground.png +0 -0
  88. data/media/ground_units.json +900 -0
  89. data/media/ground_units.png +0 -0
  90. data/media/menu_music.mp3 +0 -0
  91. data/media/metal_interaction2.wav +0 -0
  92. data/media/names.txt +279 -0
  93. data/media/pickups.json +68 -0
  94. data/media/pickups.png +0 -0
  95. data/media/powerup.mp3 +0 -0
  96. data/media/respawn.wav +0 -0
  97. data/media/tank_driving.mp3 +0 -0
  98. data/media/top_secret.ttf +0 -0
  99. data/media/trees.png +0 -0
  100. data/media/trees_packed.json +388 -0
  101. data/media/trees_packed.png +0 -0
  102. data/media/water.png +0 -0
  103. data/spec/misc/aabb_spec.rb +85 -0
  104. data/spec/misc/quad_tree_spec.rb +137 -0
  105. data/tank_island.gemspec +29 -0
  106. metadata +223 -0
Binary file
Binary file
@@ -0,0 +1,279 @@
1
+ Strippy
2
+ Boffo
3
+ Buffo
4
+ Drips
5
+ Porno
6
+ Mentos
7
+ Felches
8
+ Grout
9
+ Oboe
10
+ Bumbo
11
+ Salvo
12
+ Drowny
13
+ Viagra
14
+ Acetone
15
+ Zarathustra
16
+ Styptic
17
+ Recidivo
18
+ Unctuous
19
+ Reflux
20
+ Maalox
21
+ Scurvy
22
+ Rickets
23
+ Noriega
24
+ Polyp
25
+ Garbo
26
+ Tantric
27
+ Phalanx
28
+ Bondage
29
+ Asbestos
30
+ Trenton
31
+ Aspic
32
+ Marfin
33
+ Merkin
34
+ Dropsy
35
+ Ponzi
36
+ Garrotte
37
+ Calphalon
38
+ Juvie
39
+ Schmoey Schmoe-head
40
+ Nixon
41
+ Droppo
42
+ Lesions
43
+ Boner
44
+ Clowny
45
+ Clooney
46
+ Frowny
47
+ Enfilade
48
+ Mojo
49
+ Ploop
50
+ Contusions
51
+ Animus
52
+ Pooey Poo-head
53
+ Weiner
54
+ Bac-o’s
55
+ Buckminster Fuller
56
+ Domey
57
+ Subjunctive Predicate
58
+ Pestilence
59
+ Fury
60
+ Ninja
61
+ Platano
62
+ Melons
63
+ Nutout
64
+ Dangles
65
+ Tipsy
66
+ Steerage
67
+ Dunkirk
68
+ Antietam
69
+ Chins
70
+ Genuflection
71
+ Kreplach
72
+ Pringles
73
+ Shingles
74
+ Viscera
75
+ Viggo
76
+ Kielbasa
77
+ Sterno
78
+ Salieri
79
+ Flaubert
80
+ Gaspachio
81
+ Chagganooga
82
+ Nougat
83
+ Lumps
84
+ Chewie
85
+ Wookie
86
+ Kotter
87
+ Dracula
88
+ Han Solo
89
+ Jabba
90
+ Lando
91
+ Alone
92
+ Felony
93
+ Diaspora
94
+ Perspicacity
95
+ Tapenade
96
+ Detritus
97
+ Jaundice
98
+ Sbarro
99
+ Osmosis
100
+ Achtung!
101
+ Stabbo
102
+ Oleo
103
+ Tampopo
104
+ Nagano
105
+ Synergy
106
+ Effluvia
107
+ Leg Warmers
108
+ Roboto
109
+ Prozac
110
+ Eukenuba
111
+ Retsin
112
+ Rogaine
113
+ Ethel Merman
114
+ Topical Crème
115
+ Ointment
116
+ Cold Compress
117
+ Ace Bandage
118
+ Bourbon
119
+ Bowels
120
+ Brundlefly
121
+ Platanos
122
+ My People
123
+ Mo’ Broccoli
124
+ Borracho
125
+ Smuts
126
+ Nehi
127
+ Olestra
128
+ Greedo
129
+ Coolio
130
+ Consiglieri
131
+ Dinner Bell
132
+ Maligno
133
+ Angelos
134
+ Parabola
135
+ Velcro
136
+ Nubbins
137
+ Scuppers
138
+ Kippers
139
+ Flautas
140
+ Blintzes
141
+ Decoupage
142
+ Sprockets
143
+ Lupins
144
+ Gorditas
145
+ Funyuns
146
+ Manicles
147
+ Drano
148
+ Alcoa
149
+ Spores
150
+ Spleens
151
+ Placenta
152
+ Melanoma
153
+ Pathos
154
+ Explosivo
155
+ Feces
156
+ Epoxy
157
+ Ruminant
158
+ Calamari
159
+ Toffifay
160
+ Proletariat
161
+ Cop Rock
162
+ Tunisia
163
+ Cabal
164
+ Glasnost
165
+ Lanolin
166
+ Surfeit
167
+ Pillages
168
+ Acela
169
+ Wads
170
+ Bulges
171
+ Apshai
172
+ Zork
173
+ Socratic Method
174
+ Stoma
175
+ Bulldog
176
+ Bilbo
177
+ Stephen McNulty
178
+ Ball in
179
+ Schyler
180
+ Santyl
181
+ Fungible
182
+ Fergie
183
+ Verizon
184
+ Magma
185
+ Clown
186
+ Mature Content
187
+ Humpy
188
+ Flabby
189
+ Meniscus
190
+ Mellotron
191
+ M.C. Escher
192
+ Morbidly Obese
193
+ Fluffer
194
+ Strychnine
195
+ Tolstoy
196
+ String Theory
197
+ Mastication
198
+ Corpuscle
199
+ Animatronic Abraham Lincoln
200
+ Arrears
201
+ No Lo Contendere
202
+ Top Copy is Yours
203
+ Wankel
204
+ Peristalsis
205
+ Next Stop Friendship Heights
206
+ Pompatus
207
+ T’aint
208
+ Repetitive Motion Disorder
209
+ Post-traumatic Stress Disorder
210
+ Aphasia
211
+ Enlarged Prostate
212
+ Irritable Bowel Syndrome
213
+ Feline Distemper
214
+ Riboflavin
215
+ Flintstones Chewable Vitamins
216
+ Metamucils
217
+ Premature Ejaculation
218
+ Erection Lasting More Than 4 Hours
219
+ The
220
+ Quadratic Equation
221
+ Stephen Hawking
222
+ Hello Larry
223
+ Mildly Amusing
224
+ Scary to Children
225
+ Harmful If Swallowed
226
+ Do Not Take Internally
227
+ Courtesy Flush
228
+ Chuck Norris
229
+ Collect all Four
230
+ Buckaroo Bonsai Reference
231
+ Your Mom Just Died
232
+ Jonathan Coulton
233
+ Axis of Evil
234
+ Crystal Pepsi
235
+ Dr. Bob
236
+ FEMA
237
+ Broken Levee
238
+ Rhyming Couplet
239
+ Iambic Pentameter
240
+ Reforestation
241
+ Eustachian Tube
242
+ Trachea
243
+ Duodenum
244
+ Relapse
245
+ Dressing on the Side, Please,
246
+ High Fructose Corn Syrup
247
+ High Fiber Diet
248
+ Load Bearing Wall
249
+ Partially Hydrogenated
250
+ Reconstituted Meat Slurry
251
+ 30,000 lbs of Bananas
252
+ Open-source Coding
253
+ Network Administrator
254
+ Subversive Meme
255
+ 4th Grade Education
256
+ Conscientious Objector
257
+ Monkeydogs
258
+ Irregular Heartbeat
259
+ Asystole
260
+ Peak Oil
261
+ SEPTA IRA
262
+ Diversified Stock Portfolio
263
+ No-load Funds
264
+ 0% APR for 12 Months
265
+ Zero-Sum Game
266
+ Nitrogen-fixing Crop Rotation
267
+ Frame-off Restoration
268
+ Acid Bath
269
+ Knights Templar
270
+ Mary Magdalene
271
+ Unexpected Plot Twist
272
+ Kennesaw Mountain Landis
273
+ Unintended Consequences
274
+ Odd-lot Purchases
275
+ Martyrs
276
+ Consenting Adults
277
+ Store-brand Taco Seasoning
278
+ Penultimate
279
+ It’s Not a Balloon It’s an Airship
@@ -0,0 +1,68 @@
1
+ {"frames": {
2
+
3
+ "coin.png":
4
+ {
5
+ "frame": {"x":2,"y":80,"w":25,"h":24},
6
+ "rotated": false,
7
+ "trimmed": false,
8
+ "spriteSourceSize": {"x":0,"y":0,"w":25,"h":24},
9
+ "sourceSize": {"w":25,"h":24}
10
+ },
11
+ "diagonal_gun.png":
12
+ {
13
+ "frame": {"x":29,"y":54,"w":25,"h":24},
14
+ "rotated": false,
15
+ "trimmed": false,
16
+ "spriteSourceSize": {"x":0,"y":0,"w":25,"h":24},
17
+ "sourceSize": {"w":25,"h":24}
18
+ },
19
+ "life_up.png":
20
+ {
21
+ "frame": {"x":2,"y":54,"w":25,"h":24},
22
+ "rotated": false,
23
+ "trimmed": false,
24
+ "spriteSourceSize": {"x":0,"y":0,"w":25,"h":24},
25
+ "sourceSize": {"w":25,"h":24}
26
+ },
27
+ "missile.png":
28
+ {
29
+ "frame": {"x":29,"y":28,"w":25,"h":24},
30
+ "rotated": false,
31
+ "trimmed": false,
32
+ "spriteSourceSize": {"x":0,"y":0,"w":25,"h":24},
33
+ "sourceSize": {"w":25,"h":24}
34
+ },
35
+ "repair.png":
36
+ {
37
+ "frame": {"x":2,"y":28,"w":25,"h":24},
38
+ "rotated": false,
39
+ "trimmed": false,
40
+ "spriteSourceSize": {"x":0,"y":0,"w":25,"h":24},
41
+ "sourceSize": {"w":25,"h":24}
42
+ },
43
+ "straight_gun.png":
44
+ {
45
+ "frame": {"x":29,"y":2,"w":25,"h":24},
46
+ "rotated": false,
47
+ "trimmed": false,
48
+ "spriteSourceSize": {"x":0,"y":0,"w":25,"h":24},
49
+ "sourceSize": {"w":25,"h":24}
50
+ },
51
+ "wingman.png":
52
+ {
53
+ "frame": {"x":2,"y":2,"w":25,"h":24},
54
+ "rotated": false,
55
+ "trimmed": false,
56
+ "spriteSourceSize": {"x":0,"y":0,"w":25,"h":24},
57
+ "sourceSize": {"w":25,"h":24}
58
+ }},
59
+ "meta": {
60
+ "app": "http://www.codeandweb.com/texturepacker ",
61
+ "version": "1.0",
62
+ "image": "pickups.png",
63
+ "format": "RGBA8888",
64
+ "size": {"w":64,"h":128},
65
+ "scale": "0.5",
66
+ "smartupdate": "$TexturePacker:SmartUpdate:5bccec5fb5decb53145ba22504d88edd:1/1$"
67
+ }
68
+ }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,388 @@
1
+ {"frames": {
2
+
3
+ "tree_01.png":
4
+ {
5
+ "frame": {"x":280,"y":183,"w":62,"h":66},
6
+ "rotated": false,
7
+ "trimmed": true,
8
+ "spriteSourceSize": {"x":2,"y":0,"w":62,"h":66},
9
+ "sourceSize": {"w":68,"h":68}
10
+ },
11
+ "tree_02.png":
12
+ {
13
+ "frame": {"x":125,"y":3,"w":40,"h":38},
14
+ "rotated": false,
15
+ "trimmed": true,
16
+ "spriteSourceSize": {"x":2,"y":2,"w":40,"h":38},
17
+ "sourceSize": {"w":44,"h":42}
18
+ },
19
+ "tree_03.png":
20
+ {
21
+ "frame": {"x":451,"y":115,"w":66,"h":64},
22
+ "rotated": false,
23
+ "trimmed": true,
24
+ "spriteSourceSize": {"x":0,"y":0,"w":66,"h":64},
25
+ "sourceSize": {"w":68,"h":68}
26
+ },
27
+ "tree_04.png":
28
+ {
29
+ "frame": {"x":383,"y":115,"w":64,"h":64},
30
+ "rotated": false,
31
+ "trimmed": true,
32
+ "spriteSourceSize": {"x":2,"y":0,"w":64,"h":64},
33
+ "sourceSize": {"w":68,"h":68}
34
+ },
35
+ "tree_05.png":
36
+ {
37
+ "frame": {"x":217,"y":55,"w":54,"h":52},
38
+ "rotated": false,
39
+ "trimmed": true,
40
+ "spriteSourceSize": {"x":0,"y":0,"w":54,"h":52},
41
+ "sourceSize": {"w":54,"h":54}
42
+ },
43
+ "tree_06.png":
44
+ {
45
+ "frame": {"x":3,"y":55,"w":46,"h":48},
46
+ "rotated": false,
47
+ "trimmed": false,
48
+ "spriteSourceSize": {"x":0,"y":0,"w":46,"h":48},
49
+ "sourceSize": {"w":46,"h":48}
50
+ },
51
+ "tree_07.png":
52
+ {
53
+ "frame": {"x":443,"y":55,"w":52,"h":56},
54
+ "rotated": false,
55
+ "trimmed": true,
56
+ "spriteSourceSize": {"x":2,"y":0,"w":52,"h":56},
57
+ "sourceSize": {"w":56,"h":58}
58
+ },
59
+ "tree_08.png":
60
+ {
61
+ "frame": {"x":163,"y":55,"w":50,"h":50},
62
+ "rotated": false,
63
+ "trimmed": true,
64
+ "spriteSourceSize": {"x":0,"y":1,"w":50,"h":50},
65
+ "sourceSize": {"w":50,"h":52}
66
+ },
67
+ "tree_09.png":
68
+ {
69
+ "frame": {"x":39,"y":3,"w":38,"h":38},
70
+ "rotated": false,
71
+ "trimmed": true,
72
+ "spriteSourceSize": {"x":0,"y":0,"w":38,"h":38},
73
+ "sourceSize": {"w":40,"h":40}
74
+ },
75
+ "tree_10.png":
76
+ {
77
+ "frame": {"x":3,"y":183,"w":64,"h":64},
78
+ "rotated": false,
79
+ "trimmed": true,
80
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
81
+ "sourceSize": {"w":66,"h":66}
82
+ },
83
+ "tree_11.png":
84
+ {
85
+ "frame": {"x":365,"y":3,"w":47,"h":48},
86
+ "rotated": false,
87
+ "trimmed": true,
88
+ "spriteSourceSize": {"x":0,"y":2,"w":47,"h":48},
89
+ "sourceSize": {"w":47,"h":52}
90
+ },
91
+ "tree_12.png":
92
+ {
93
+ "frame": {"x":416,"y":3,"w":46,"h":48},
94
+ "rotated": false,
95
+ "trimmed": false,
96
+ "spriteSourceSize": {"x":0,"y":0,"w":46,"h":48},
97
+ "sourceSize": {"w":46,"h":48}
98
+ },
99
+ "tree_13.png":
100
+ {
101
+ "frame": {"x":3,"y":3,"w":32,"h":32},
102
+ "rotated": false,
103
+ "trimmed": false,
104
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
105
+ "sourceSize": {"w":32,"h":32}
106
+ },
107
+ "tree_14.png":
108
+ {
109
+ "frame": {"x":215,"y":3,"w":46,"h":44},
110
+ "rotated": false,
111
+ "trimmed": false,
112
+ "spriteSourceSize": {"x":0,"y":0,"w":46,"h":44},
113
+ "sourceSize": {"w":46,"h":44}
114
+ },
115
+ "tree_15.png":
116
+ {
117
+ "frame": {"x":71,"y":183,"w":64,"h":64},
118
+ "rotated": false,
119
+ "trimmed": true,
120
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
121
+ "sourceSize": {"w":66,"h":66}
122
+ },
123
+ "tree_16.png":
124
+ {
125
+ "frame": {"x":169,"y":3,"w":42,"h":42},
126
+ "rotated": false,
127
+ "trimmed": true,
128
+ "spriteSourceSize": {"x":3,"y":1,"w":42,"h":42},
129
+ "sourceSize": {"w":48,"h":46}
130
+ },
131
+ "tree_17.png":
132
+ {
133
+ "frame": {"x":385,"y":55,"w":54,"h":54},
134
+ "rotated": false,
135
+ "trimmed": true,
136
+ "spriteSourceSize": {"x":0,"y":2,"w":54,"h":54},
137
+ "sourceSize": {"w":54,"h":58}
138
+ },
139
+ "tree_18.png":
140
+ {
141
+ "frame": {"x":139,"y":183,"w":68,"h":64},
142
+ "rotated": false,
143
+ "trimmed": true,
144
+ "spriteSourceSize": {"x":1,"y":0,"w":68,"h":64},
145
+ "sourceSize": {"w":70,"h":64}
146
+ },
147
+ "tree_19.png":
148
+ {
149
+ "frame": {"x":67,"y":115,"w":56,"h":58},
150
+ "rotated": false,
151
+ "trimmed": true,
152
+ "spriteSourceSize": {"x":0,"y":0,"w":56,"h":58},
153
+ "sourceSize": {"w":56,"h":60}
154
+ },
155
+ "tree_20.png":
156
+ {
157
+ "frame": {"x":275,"y":55,"w":48,"h":52},
158
+ "rotated": false,
159
+ "trimmed": true,
160
+ "spriteSourceSize": {"x":1,"y":1,"w":48,"h":52},
161
+ "sourceSize": {"w":52,"h":54}
162
+ },
163
+ "tree_21.png":
164
+ {
165
+ "frame": {"x":3,"y":115,"w":60,"h":56},
166
+ "rotated": false,
167
+ "trimmed": true,
168
+ "spriteSourceSize": {"x":0,"y":0,"w":60,"h":56},
169
+ "sourceSize": {"w":64,"h":60}
170
+ },
171
+ "tree_22.png":
172
+ {
173
+ "frame": {"x":327,"y":55,"w":54,"h":54},
174
+ "rotated": false,
175
+ "trimmed": true,
176
+ "spriteSourceSize": {"x":0,"y":2,"w":54,"h":54},
177
+ "sourceSize": {"w":54,"h":60}
178
+ },
179
+ "tree_23.png":
180
+ {
181
+ "frame": {"x":346,"y":183,"w":62,"h":66},
182
+ "rotated": false,
183
+ "trimmed": true,
184
+ "spriteSourceSize": {"x":0,"y":0,"w":62,"h":66},
185
+ "sourceSize": {"w":64,"h":68}
186
+ },
187
+ "tree_24.png":
188
+ {
189
+ "frame": {"x":81,"y":3,"w":40,"h":38},
190
+ "rotated": false,
191
+ "trimmed": true,
192
+ "spriteSourceSize": {"x":0,"y":1,"w":40,"h":38},
193
+ "sourceSize": {"w":40,"h":42}
194
+ },
195
+ "tree_25.png":
196
+ {
197
+ "frame": {"x":255,"y":115,"w":58,"h":62},
198
+ "rotated": false,
199
+ "trimmed": true,
200
+ "spriteSourceSize": {"x":0,"y":0,"w":58,"h":62},
201
+ "sourceSize": {"w":60,"h":62}
202
+ },
203
+ "tree_26.png":
204
+ {
205
+ "frame": {"x":466,"y":3,"w":48,"h":48},
206
+ "rotated": false,
207
+ "trimmed": true,
208
+ "spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
209
+ "sourceSize": {"w":50,"h":50}
210
+ },
211
+ "tree_27.png":
212
+ {
213
+ "frame": {"x":127,"y":115,"w":56,"h":60},
214
+ "rotated": false,
215
+ "trimmed": true,
216
+ "spriteSourceSize": {"x":1,"y":1,"w":56,"h":60},
217
+ "sourceSize": {"w":60,"h":62}
218
+ },
219
+ "tree_28.png":
220
+ {
221
+ "frame": {"x":3,"y":257,"w":66,"h":70},
222
+ "rotated": false,
223
+ "trimmed": true,
224
+ "spriteSourceSize": {"x":1,"y":0,"w":66,"h":70},
225
+ "sourceSize": {"w":70,"h":70}
226
+ },
227
+ "tree_29.png":
228
+ {
229
+ "frame": {"x":111,"y":55,"w":48,"h":50},
230
+ "rotated": false,
231
+ "trimmed": true,
232
+ "spriteSourceSize": {"x":2,"y":1,"w":48,"h":50},
233
+ "sourceSize": {"w":52,"h":52}
234
+ },
235
+ "tree_30.png":
236
+ {
237
+ "frame": {"x":317,"y":115,"w":62,"h":62},
238
+ "rotated": false,
239
+ "trimmed": true,
240
+ "spriteSourceSize": {"x":1,"y":2,"w":62,"h":62},
241
+ "sourceSize": {"w":66,"h":66}
242
+ },
243
+ "tree_38.png":
244
+ {
245
+ "frame": {"x":407,"y":341,"w":110,"h":114},
246
+ "rotated": false,
247
+ "trimmed": true,
248
+ "spriteSourceSize": {"x":0,"y":3,"w":110,"h":114},
249
+ "sourceSize": {"w":110,"h":120}
250
+ },
251
+ "tree_39.png":
252
+ {
253
+ "frame": {"x":301,"y":341,"w":102,"h":114},
254
+ "rotated": false,
255
+ "trimmed": true,
256
+ "spriteSourceSize": {"x":0,"y":1,"w":102,"h":114},
257
+ "sourceSize": {"w":106,"h":120}
258
+ },
259
+ "tree_40.png":
260
+ {
261
+ "frame": {"x":211,"y":183,"w":65,"h":65},
262
+ "rotated": false,
263
+ "trimmed": true,
264
+ "spriteSourceSize": {"x":1,"y":0,"w":65,"h":65},
265
+ "sourceSize": {"w":67,"h":65}
266
+ },
267
+ "tree_41.png":
268
+ {
269
+ "frame": {"x":151,"y":257,"w":74,"h":72},
270
+ "rotated": false,
271
+ "trimmed": true,
272
+ "spriteSourceSize": {"x":1,"y":0,"w":74,"h":72},
273
+ "sourceSize": {"w":82,"h":76}
274
+ },
275
+ "tree_42.png":
276
+ {
277
+ "frame": {"x":73,"y":257,"w":74,"h":70},
278
+ "rotated": false,
279
+ "trimmed": true,
280
+ "spriteSourceSize": {"x":2,"y":2,"w":74,"h":70},
281
+ "sourceSize": {"w":78,"h":76}
282
+ },
283
+ "tree_43.png":
284
+ {
285
+ "frame": {"x":385,"y":257,"w":78,"h":78},
286
+ "rotated": false,
287
+ "trimmed": true,
288
+ "spriteSourceSize": {"x":3,"y":1,"w":78,"h":78},
289
+ "sourceSize": {"w":84,"h":82}
290
+ },
291
+ "tree_44.png":
292
+ {
293
+ "frame": {"x":195,"y":341,"w":102,"h":108},
294
+ "rotated": false,
295
+ "trimmed": true,
296
+ "spriteSourceSize": {"x":2,"y":2,"w":102,"h":108},
297
+ "sourceSize": {"w":110,"h":112}
298
+ },
299
+ "tree_46.png":
300
+ {
301
+ "frame": {"x":467,"y":257,"w":70,"h":80},
302
+ "rotated": false,
303
+ "trimmed": true,
304
+ "spriteSourceSize": {"x":1,"y":8,"w":70,"h":80},
305
+ "sourceSize": {"w":76,"h":90}
306
+ },
307
+ "tree_47.png":
308
+ {
309
+ "frame": {"x":53,"y":55,"w":54,"h":50},
310
+ "rotated": false,
311
+ "trimmed": true,
312
+ "spriteSourceSize": {"x":2,"y":2,"w":54,"h":50},
313
+ "sourceSize": {"w":60,"h":56}
314
+ },
315
+ "tree_48.png":
316
+ {
317
+ "frame": {"x":265,"y":3,"w":46,"h":46},
318
+ "rotated": false,
319
+ "trimmed": true,
320
+ "spriteSourceSize": {"x":6,"y":3,"w":46,"h":46},
321
+ "sourceSize": {"w":60,"h":56}
322
+ },
323
+ "tree_49.png":
324
+ {
325
+ "frame": {"x":315,"y":3,"w":46,"h":46},
326
+ "rotated": false,
327
+ "trimmed": true,
328
+ "spriteSourceSize": {"x":6,"y":5,"w":46,"h":46},
329
+ "sourceSize": {"w":60,"h":56}
330
+ },
331
+ "tree_50.png":
332
+ {
333
+ "frame": {"x":412,"y":183,"w":68,"h":70},
334
+ "rotated": false,
335
+ "trimmed": true,
336
+ "spriteSourceSize": {"x":0,"y":2,"w":68,"h":70},
337
+ "sourceSize": {"w":70,"h":76}
338
+ },
339
+ "tree_51.png":
340
+ {
341
+ "frame": {"x":229,"y":257,"w":74,"h":74},
342
+ "rotated": false,
343
+ "trimmed": true,
344
+ "spriteSourceSize": {"x":4,"y":1,"w":74,"h":74},
345
+ "sourceSize": {"w":86,"h":78}
346
+ },
347
+ "tree_52.png":
348
+ {
349
+ "frame": {"x":187,"y":115,"w":64,"h":62},
350
+ "rotated": false,
351
+ "trimmed": true,
352
+ "spriteSourceSize": {"x":1,"y":4,"w":64,"h":62},
353
+ "sourceSize": {"w":68,"h":68}
354
+ },
355
+ "tree_53.png":
356
+ {
357
+ "frame": {"x":3,"y":341,"w":94,"h":82},
358
+ "rotated": false,
359
+ "trimmed": true,
360
+ "spriteSourceSize": {"x":0,"y":5,"w":94,"h":82},
361
+ "sourceSize": {"w":94,"h":98}
362
+ },
363
+ "tree_54.png":
364
+ {
365
+ "frame": {"x":101,"y":341,"w":90,"h":90},
366
+ "rotated": false,
367
+ "trimmed": true,
368
+ "spriteSourceSize": {"x":2,"y":0,"w":90,"h":90},
369
+ "sourceSize": {"w":94,"h":90}
370
+ },
371
+ "tree_55.png":
372
+ {
373
+ "frame": {"x":307,"y":257,"w":74,"h":78},
374
+ "rotated": false,
375
+ "trimmed": true,
376
+ "spriteSourceSize": {"x":0,"y":2,"w":74,"h":78},
377
+ "sourceSize": {"w":76,"h":82}
378
+ }},
379
+ "meta": {
380
+ "app": "http://www.codeandweb.com/texturepacker ",
381
+ "version": "1.0",
382
+ "image": "trees_packed.png",
383
+ "format": "RGBA8888",
384
+ "size": {"w":540,"h":458},
385
+ "scale": "1",
386
+ "smartupdate": "$TexturePacker:SmartUpdate:d8b078a9b489ef94c8641390211543b9:adf8ffbc3d0a646442fdb1855a36ac0e:a7653fb3592c74bd7bf4b33200c676f1$"
387
+ }
388
+ }