tank_island 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ }