From 505a09a4ffede89a552bbce8c61e621e6485b610 Mon Sep 17 00:00:00 2001 From: jsrobson10 Date: Tue, 4 Aug 2020 16:01:07 +1000 Subject: [PATCH] Adding recipe cards --- src/projectzombie/init/Models.java | 4 +- .../menu/MenuInventoryBasic.java | 34 +- src/projectzombie/menu/MenuSaves.java | 8 +- src/projectzombie/menu/gui/GUIRecipeCard.java | 100 +++- src/projectzombie/menu/gui/GUISavesCard.java | 2 +- .../gui/{label_box_wide.png => label.png} | Bin src/resources/texture/gui/label_box_big.png | Bin 14066 -> 0 bytes src/resources/texture/gui/label_recipe.png | Bin 0 -> 11517 bytes src/resources/texture/list.txt | 438 +++++++++--------- 9 files changed, 310 insertions(+), 276 deletions(-) rename src/resources/texture/gui/{label_box_wide.png => label.png} (100%) delete mode 100644 src/resources/texture/gui/label_box_big.png create mode 100644 src/resources/texture/gui/label_recipe.png diff --git a/src/projectzombie/init/Models.java b/src/projectzombie/init/Models.java index ca56f02..b6df280 100755 --- a/src/projectzombie/init/Models.java +++ b/src/projectzombie/init/Models.java @@ -101,8 +101,8 @@ public class Models public static final ModelGui UI_BUTTON_DELETE_HOVER = new ModelGui(Resources.ATLAS.get("/gui/button_delete_hover.png"), new Vec2d(1.875, 1.875)); public static final ModelGui UI_BUTTON_PLAY = new ModelGui(Resources.ATLAS.get("/gui/button_play.png"), new Vec2d(1.875, 1.875)); public static final ModelGui UI_BUTTON_PLAY_HOVER = new ModelGui(Resources.ATLAS.get("/gui/button_play_hover.png"), new Vec2d(1.875, 1.875)); - public static final ModelGui UI_LABEL_BOX_BIG = new ModelGui(Resources.ATLAS.get("/gui/label_box_big.png"), new Vec2d(12, 1.5)); - public static final ModelGui UI_LABEL_BOX_WIDE = new ModelGui(Resources.ATLAS.get("/gui/label_box_wide.png"), new Vec2d(24, 3)); + public static final ModelGui UI_LABEL = new ModelGui(Resources.ATLAS.get("/gui/label.png"), new Vec2d(24, 3)); + public static final ModelGui UI_LABEL_RECIPE = new ModelGui(Resources.ATLAS.get("/gui/label_recipe.png"), new Vec2d(12, 3)); public static final ModelGui UI_SELECTION_BOX_WIDE = new ModelGui(Resources.ATLAS.get("/gui/selection_box_wide.png"), new Vec2d(24, 12)); public static final ModelGui UI_SELECTION_BOX_BIG = new ModelGui(Resources.ATLAS.get("/gui/selection_box_big.png"), new Vec2d(12, 12)); public static final ModelGui UI_TEXT_BOX = new ModelGui(Resources.ATLAS.get("/gui/text_box.png"), new Vec2d(12, 1.5)); diff --git a/src/projectzombie/menu/MenuInventoryBasic.java b/src/projectzombie/menu/MenuInventoryBasic.java index edb7ce2..3f27e4e 100644 --- a/src/projectzombie/menu/MenuInventoryBasic.java +++ b/src/projectzombie/menu/MenuInventoryBasic.java @@ -12,6 +12,7 @@ import projectzombie.inventory.recipe.Recipe; import projectzombie.menu.gui.GUIContainerSlider; import projectzombie.menu.gui.GUIItemSlot; import projectzombie.menu.gui.GUIItemSlotGetter; +import projectzombie.menu.gui.GUIRecipeCard; import projectzombie.util.math.ItemStack; public class MenuInventoryBasic extends MenuInventory @@ -38,39 +39,8 @@ public class MenuInventoryBasic extends MenuInventory { Recipe recipe = recipies[i]; - GUIItemSlot slot = new GUIItemSlot(1.5, true, new GUIItemSlotGetter() - { - @Override - public void setItemStack(ItemStack stack) { - } - - @Override - public boolean isAllowed(ItemStack stack) { - return false; - } - - @Override - public ItemStack getItemStack() { - return (recipe.canCraft(tool) && - recipe.hasResourcesToCraft(inventory)) ? - recipe.getResult().copy() : - ItemStack.getEmpty(); - } - - @Override - public boolean mustTakeAll() { - return true; - } - - @Override - public void onRemoveItemStack() { - if(recipe.canCraft(tool) && recipe.hasResourcesToCraft(inventory)) { - recipe.craftResult(inventory); - } - } - }); + GUIRecipeCard slot = new GUIRecipeCard(inventory, slider, recipe, tool, new Vec2d(0, i*1.5)); - slot.setPos(new Vec2d(4, i*1.5)); slider.add(slot); } diff --git a/src/projectzombie/menu/MenuSaves.java b/src/projectzombie/menu/MenuSaves.java index d1a8e15..eacff0f 100644 --- a/src/projectzombie/menu/MenuSaves.java +++ b/src/projectzombie/menu/MenuSaves.java @@ -141,7 +141,7 @@ public class MenuSaves extends Menu private void generateSaveCards() { - double slider_length = Models.UI_LABEL_BOX_WIDE.getHeight() * 18.0 * saves.size() / 16.0; + double slider_length = Models.UI_LABEL.getHeight() * 18.0 * saves.size() / 16.0; double selection_length = Models.UI_SELECTION_BOX_WIDE.getHeight() * 248 / 256.0; slider.clear(); @@ -153,10 +153,10 @@ public class MenuSaves extends Menu SaveCard save = saves.get(index[0]); GUISavesCard savesCard = new GUISavesCard(save.text, new Vec2d( - -Models.UI_LABEL_BOX_WIDE.getWidth() / 2.0, - -Models.UI_LABEL_BOX_WIDE.getHeight() + + -Models.UI_LABEL.getWidth() / 2.0, + -Models.UI_LABEL.getHeight() + Models.UI_SELECTION_BOX_WIDE.getHeight() * 60.0 / 128.0 - - Models.UI_LABEL_BOX_WIDE.getHeight() * 18.0 * i / 16.0)) + Models.UI_LABEL.getHeight() * 18.0 * i / 16.0)) { @Override public void onDeletePressed() { diff --git a/src/projectzombie/menu/gui/GUIRecipeCard.java b/src/projectzombie/menu/gui/GUIRecipeCard.java index 2f4d7fe..e48814e 100644 --- a/src/projectzombie/menu/gui/GUIRecipeCard.java +++ b/src/projectzombie/menu/gui/GUIRecipeCard.java @@ -3,21 +3,35 @@ package projectzombie.menu.gui; import gl_engine.matrix.Matrix4; import gl_engine.vec.Vec2d; import projectzombie.init.Models; +import projectzombie.inventory.Crafting; +import projectzombie.inventory.Inventory; import projectzombie.inventory.recipe.Recipe; import projectzombie.model.ModelGui; +import projectzombie.util.math.ItemStack; -public class GUIRecipeCard implements GUIContainer +public class GUIRecipeCard implements GUIContainer, GUIItemSlotGetter { - private static final ModelGui LABEL = Models.UI_LABEL_BOX_BIG; + private static final ModelGui LABEL = Models.UI_LABEL_RECIPE; private Vec2d pos; private Recipe recipe; private GUIContainer gui; + private GUIItemSlot result_slot; + private Inventory inventory; + private Crafting tool; - public GUIRecipeCard(GUIContainer gui, Recipe recipe, Vec2d pos) { + public GUIRecipeCard(Inventory inventory, GUIContainer gui, Recipe recipe, Crafting tool, Vec2d pos) + { this.gui = gui; this.recipe = recipe; this.pos = pos; + this.inventory = inventory; + this.tool = tool; + + result_slot = new GUIItemSlot(1.5, true, this); + result_slot.setPos(pos.add(new Vec2d( + Models.UI_LABEL_RECIPE.getWidth() * 102 / 128.0, + Models.UI_LABEL_RECIPE.getHeight() * 8 / 32.0))); } @Override @@ -25,6 +39,14 @@ public class GUIRecipeCard implements GUIContainer { LABEL.setModel(Matrix4.multiply(matrix, Matrix4.translate(pos.x, pos.y, 0))); LABEL.render(); + + result_slot.render(matrix, mousePos, canHover); + } + + private GUIComponent[] allComponents() { + return new GUIComponent[] { + result_slot + }; } @Override @@ -34,56 +56,98 @@ public class GUIRecipeCard implements GUIContainer @Override public boolean checkMouseHover(Vec2d mousePos) { - // TODO Auto-generated method stub + for(GUIComponent c : allComponents()) { + if(c.checkMouseHover(mousePos)) { + return true; + } + } return false; } @Override public void onScroll(Vec2d mousePos, double amount) { - // TODO Auto-generated method stub - + for(GUIComponent c : allComponents()) { + c.onScroll(mousePos, amount); + } } @Override public void onRightClick(Vec2d mousePos) { - // TODO Auto-generated method stub - + for(GUIComponent c : allComponents()) { + c.onRightClick(mousePos); + } } @Override public void onMouseClick(Vec2d mousePos) { - // TODO Auto-generated method stub - + for(GUIComponent c : allComponents()) { + c.onMouseClick(mousePos); + } } @Override public void onActivate() { - // TODO Auto-generated method stub - + for(GUIComponent c : allComponents()) { + c.onActivate(); + } } @Override public void onBack() { - // TODO Auto-generated method stub - + for(GUIComponent c : allComponents()) { + c.onBack(); + } } @Override - public GUIItemSlot getHoveringItemSlot(Vec2d mousePos) { - // TODO Auto-generated method stub + public GUIItemSlot getHoveringItemSlot(Vec2d mousePos) + { + for(GUIComponent c : allComponents()) { + if(c instanceof GUIItemSlot) { + return (GUIItemSlot)c; + } + } + return null; } @Override public void add(GUIComponent c) { - // TODO Auto-generated method stub } @Override public void clear() { - // TODO Auto-generated method stub } + @Override + public void setItemStack(ItemStack stack) { + } + + @Override + public boolean isAllowed(ItemStack stack) { + return false; + } + + @Override + public ItemStack getItemStack() { + return (recipe.canCraft(tool) && + recipe.hasResourcesToCraft(inventory)) ? + recipe.getResult().copy() : + ItemStack.getEmpty(); + } + + @Override + public boolean mustTakeAll() { + return true; + } + + @Override + public void onRemoveItemStack() { + if(recipe.canCraft(tool) && recipe.hasResourcesToCraft(inventory)) { + recipe.craftResult(inventory); + } + } + } diff --git a/src/projectzombie/menu/gui/GUISavesCard.java b/src/projectzombie/menu/gui/GUISavesCard.java index db58cd0..80501f3 100644 --- a/src/projectzombie/menu/gui/GUISavesCard.java +++ b/src/projectzombie/menu/gui/GUISavesCard.java @@ -9,7 +9,7 @@ import projectzombie.text.Text; public class GUISavesCard implements GUIComponent { - private static final ModelGui LABEL = Models.UI_LABEL_BOX_WIDE; + private static final ModelGui LABEL = Models.UI_LABEL; private Vec2d pos = new Vec2d(0, 0); private GUIButtonModel buttonDelete; diff --git a/src/resources/texture/gui/label_box_wide.png b/src/resources/texture/gui/label.png similarity index 100% rename from src/resources/texture/gui/label_box_wide.png rename to src/resources/texture/gui/label.png diff --git a/src/resources/texture/gui/label_box_big.png b/src/resources/texture/gui/label_box_big.png deleted file mode 100644 index 4a2afdc3864d50b7028975cd54d93fbd382aaaa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14066 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 I&MBb@0FrUTD*ylh diff --git a/src/resources/texture/gui/label_recipe.png b/src/resources/texture/gui/label_recipe.png new file mode 100644 index 0000000000000000000000000000000000000000..04f8efcca4740b435aa8b38f66305fd94164ce73 GIT binary patch literal 11517 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 literal 0 HcmV?d00001 diff --git a/src/resources/texture/list.txt b/src/resources/texture/list.txt index 58a6264..90b216d 100644 --- a/src/resources/texture/list.txt +++ b/src/resources/texture/list.txt @@ -1,234 +1,234 @@ -./text/char_question.png -./text/char_l_a.png -./text/char_u_j.png -./text/char_l_u.png -./text/char_u_s.png -./text/char_l_s.png -./text/char_apostrophe.png -./text/char_plus.png -./text/char_l_e.png -./text/char_7.png -./text/char_minus.png -./text/char_u_r.png -./text/char_u_l.png -./text/char_obracket.png -./text/char_pow.png -./text/char_u_m.png -./text/char_l_t.png -./text/char_percent.png -./text/char_l_y.png -./text/char_0.png -./text/char_4.png -./text/char_l_r.png -./text/char_l_m.png -./text/char_cbracket.png -./text/char_u_g.png -./text/char_u_q.png -./text/char_u_i.png -./text/char_tilde.png -./text/char_l_w.png -./text/char_l_v.png -./text/char_fslash.png -./text/char_u_p.png -./text/char_gthan.png -./text/char_8.png -./text/char_unknown.png -./text/char_and.png -./text/char_osbracket.png -./text/char_u_n.png -./text/char_l_i.png -./text/char_u_y.png -./text/char_l_p.png -./text/char_lthan.png -./text/char_l_g.png -./text/char_bslash.png -./text/char_1.png -./text/char_u_z.png -./text/char_l_f.png -./text/char_u_w.png -./text/char_9.png -./text/char_l_x.png -./text/char_ccbracket.png -./text/char_l_o.png -./text/char_equals.png -./text/char_l_d.png -./text/char_dollar.png -./text/char_hashtag.png -./text/char_l_q.png -./text/char_u_o.png -./text/char_6.png -./text/char_u_d.png -./text/char_u_e.png -./text/char_exclamation.png -./text/char_vertical.png -./text/char_ocbracket.png -./text/char_u_k.png -./text/char_u_c.png -./text/char_l_n.png -./text/char_semicolon.png -./text/char_u_b.png -./text/char_u_f.png -./text/char_l_h.png -./text/char_l_k.png -./text/char_u_t.png -./text/char_3.png -./text/char_u_v.png -./text/char_u_h.png -./text/char_quotation.png -./text/char_u_a.png -./text/char_l_b.png -./text/char_underscore.png -./text/char_u_x.png -./text/char_comma.png -./text/char_csbracket.png -./text/char_l_l.png -./text/char_5.png -./text/char_star.png -./text/char_colon.png -./text/char_l_z.png -./text/char_space.png -./text/char_2.png -./text/char_at.png -./text/char_grave.png -./text/char_l_j.png -./text/char_fullstop.png -./text/char_l_c.png -./text/char_u_u.png +./tile/hemp6.png +./tile/hemp7.png +./tile/hemp1.png +./tile/rock.png +./tile/rock_ice.png +./tile/sapling3.png +./tile/ladder.png +./tile/tree_leaves_snow.png +./tile/ice_wall.png +./tile/water.png +./tile/sandstone_wall.png +./tile/ladder_up.png +./tile/cactus4.png +./tile/tall_grass.png +./tile/cactus2.png +./tile/grass_infested.png +./tile/tree_branch_leaves.png +./tile/dirt.png +./tile/wall.png +./tile/tree_base.png +./tile/cactus1.png +./tile/sapling4.png +./tile/hemp3.png +./tile/cactus_top.png +./tile/tunnel_down.png +./tile/stone.png +./tile/snow.png +./tile/boss_portal.png +./tile/hemp4.png +./tile/sand.png +./tile/lantern.png +./tile/ice.png +./tile/sapling1.png +./tile/chest.png +./tile/hemp2.png +./tile/hemp8.png +./tile/cactus3.png +./tile/lava.png +./tile/tree_leaves.png +./tile/hemp5.png +./tile/lava_flow.png +./tile/grass.png +./tile/tree_branch.png +./tile/sandstone.png +./tile/tree_branch_leaves_snow.png +./tile/rock_sandstone.png +./tile/sapling2.png ./list.txt -./player/player_white_front_moving.png -./player/player_white_back_moving.png -./player/player_black_back_moving.png -./player/player_black_back_still.png +./item/log.png +./item/rock.png +./item/acorn.png +./item/ammo_box.png +./item/plant_fibre.png +./item/flint_hatchet.png +./item/hemp_seed.png +./item/shield_upgrade.png +./item/grappling_hook.png +./item/log_snow.png +./item/health_potion.png +./item/snow_pile.png +./item/gun_upgrade.png +./item/sandstone.png +./item/flint.png ./player/player_white_back_still.png ./player/player_white_front_still.png ./player/player_black_front_moving.png ./player/player_black_front_still.png -./particle/smoke_trail.png -./particle/water.png -./particle/smoke_0.png -./particle/smoke_1.png -./particle/blood.png -./particle/lava.png -./particle/bullet.png -./particle/smoke_2.png -./particle/snow.png -./particle/rain.png -./particle/smoke_4.png -./particle/smoke_3.png -./particle/smoke_5.png -./gui/temperature.png -./gui/label_box_big.png -./gui/label_box_wide.png -./gui/slot_armor_chest.png -./gui/health_empty.png -./gui/button_hover.png +./player/player_black_back_moving.png +./player/player_black_back_still.png +./player/player_white_back_moving.png +./player/player_white_front_moving.png +./gui/selection_box_wide.png +./gui/text_box.png +./gui/pixel_white.png ./gui/water.png +./gui/gun.png +./gui/button_delete.png +./gui/button_delete_hover.png +./gui/slot_armor_chest.png +./gui/pixel_black.png +./gui/slot_clothing_shirt.png +./gui/button_play.png ./gui/slot_armor_legs.png ./gui/selection_box_big.png -./gui/button_normal.png -./gui/hotbar.png -./gui/slot_armor_helmet.png -./gui/button_delete.png -./gui/text_cursor.png ./gui/inventory.png -./gui/button_delete_hover.png -./gui/button_play_hover.png -./gui/health_full.png -./gui/hotbar_selected.png -./gui/slot_clothing_shirt.png -./gui/pixel_white.png -./gui/pixel_black.png +./gui/label.png ./gui/slot_clothing_pants.png -./gui/text_box.png -./gui/shield.png +./gui/health_empty.png +./gui/label_recipe.png +./gui/hotbar_selected.png +./gui/health_full.png +./gui/temperature.png +./gui/button_play_hover.png +./gui/text_cursor.png +./gui/slot_armor_helmet.png ./gui/slot_clothing_boots.png -./gui/selection_box_wide.png -./gui/gun.png -./gui/button_play.png -./tile/cactus4.png -./tile/hemp1.png -./tile/dirt.png -./tile/lantern.png -./tile/hemp8.png -./tile/wall.png -./tile/cactus_top.png -./tile/cactus2.png -./tile/rock.png -./tile/water.png -./tile/hemp4.png -./tile/stone.png -./tile/tree_leaves.png -./tile/sapling2.png -./tile/ladder_up.png -./tile/sapling3.png -./tile/lava_flow.png -./tile/ice_wall.png -./tile/grass.png -./tile/chest.png -./tile/sapling4.png -./tile/lava.png -./tile/tall_grass.png -./tile/hemp5.png -./tile/sapling1.png -./tile/snow.png -./tile/sandstone_wall.png -./tile/rock_sandstone.png -./tile/hemp6.png -./tile/cactus1.png -./tile/tree_branch_leaves.png -./tile/tunnel_down.png -./tile/tree_branch_leaves_snow.png -./tile/tree_leaves_snow.png -./tile/rock_ice.png -./tile/boss_portal.png -./tile/ladder.png -./tile/hemp7.png -./tile/grass_infested.png -./tile/tree_branch.png -./tile/sand.png -./tile/tree_base.png -./tile/cactus3.png -./tile/sandstone.png -./tile/hemp3.png -./tile/hemp2.png -./tile/ice.png -./entity/flare.png -./entity/grappling_hook.png -./entity/zombie_back_moving.png -./entity/tnt.png +./gui/hotbar.png +./gui/button_normal.png +./gui/shield.png +./gui/button_hover.png +./text/char_bslash.png +./text/char_dollar.png +./text/char_l_w.png +./text/char_u_d.png +./text/char_u_t.png +./text/char_space.png +./text/char_l_x.png +./text/char_l_k.png +./text/char_6.png +./text/char_unknown.png +./text/char_comma.png +./text/char_obracket.png +./text/char_u_w.png +./text/char_7.png +./text/char_l_f.png +./text/char_vertical.png +./text/char_plus.png +./text/char_u_a.png +./text/char_star.png +./text/char_9.png +./text/char_u_k.png +./text/char_grave.png +./text/char_u_n.png +./text/char_percent.png +./text/char_u_m.png +./text/char_exclamation.png +./text/char_1.png +./text/char_l_q.png +./text/char_l_z.png +./text/char_l_h.png +./text/char_u_c.png +./text/char_l_g.png +./text/char_l_s.png +./text/char_fullstop.png +./text/char_u_j.png +./text/char_l_m.png +./text/char_l_t.png +./text/char_u_v.png +./text/char_colon.png +./text/char_l_i.png +./text/char_l_y.png +./text/char_semicolon.png +./text/char_u_l.png +./text/char_apostrophe.png +./text/char_u_e.png +./text/char_5.png +./text/char_2.png +./text/char_3.png +./text/char_l_p.png +./text/char_and.png +./text/char_fslash.png +./text/char_l_u.png +./text/char_u_f.png +./text/char_u_u.png +./text/char_at.png +./text/char_l_e.png +./text/char_l_l.png +./text/char_u_g.png +./text/char_u_q.png +./text/char_u_b.png +./text/char_l_o.png +./text/char_csbracket.png +./text/char_osbracket.png +./text/char_minus.png +./text/char_l_v.png +./text/char_lthan.png +./text/char_u_s.png +./text/char_equals.png +./text/char_8.png +./text/char_ccbracket.png +./text/char_underscore.png +./text/char_u_x.png +./text/char_0.png +./text/char_l_d.png +./text/char_l_c.png +./text/char_l_j.png +./text/char_u_z.png +./text/char_u_h.png +./text/char_pow.png +./text/char_hashtag.png +./text/char_gthan.png +./text/char_cbracket.png +./text/char_u_i.png +./text/char_question.png +./text/char_u_o.png +./text/char_u_y.png +./text/char_l_r.png +./text/char_l_b.png +./text/char_ocbracket.png +./text/char_l_a.png +./text/char_quotation.png +./text/char_l_n.png +./text/char_u_p.png +./text/char_tilde.png +./text/char_u_r.png +./text/char_4.png ./entity/armored_zombie_back_moving.png -./entity/armored_zombie_front_moving.png -./entity/player/hair_side.png -./entity/player/head_top.png -./entity/player/head_side.png -./entity/player/head_back.png -./entity/player/head_bottom.png -./entity/player/hair_front.png -./entity/player/head_front.png -./entity/player/hair_back.png -./entity/player/hair_top.png -./entity/dummy.png -./entity/armored_zombie_front_still.png -./entity/armored_zombie_back_still.png -./entity/zombie_front_moving.png -./entity/boss1/boss_walking_firing.png +./entity/zombie_front_still.png +./entity/tnt.png +./entity/flare.png +./entity/boss1/boss_walking.png ./entity/boss1/boss_firing.png ./entity/boss1/boss_still.png -./entity/boss1/boss_walking.png +./entity/boss1/boss_walking_firing.png +./entity/armored_zombie_back_still.png +./entity/armored_zombie_front_moving.png +./entity/player/head_back.png +./entity/player/hair_top.png +./entity/player/head_front.png +./entity/player/head_top.png +./entity/player/hair_side.png +./entity/player/head_side.png +./entity/player/hair_back.png +./entity/player/hair_front.png +./entity/player/head_bottom.png +./entity/grappling_hook.png ./entity/zombie_back_still.png -./entity/zombie_front_still.png -./item/acorn.png -./item/grappling_hook.png -./item/gun_upgrade.png -./item/shield_upgrade.png -./item/rock.png -./item/flint_hatchet.png -./item/log.png -./item/log_snow.png -./item/hemp_seed.png -./item/ammo_box.png -./item/plant_fibre.png -./item/health_potion.png -./item/snow_pile.png -./item/flint.png -./item/sandstone.png +./entity/dummy.png +./entity/zombie_back_moving.png +./entity/armored_zombie_front_still.png +./entity/zombie_front_moving.png +./particle/smoke_1.png +./particle/water.png +./particle/rain.png +./particle/blood.png +./particle/snow.png +./particle/smoke_3.png +./particle/smoke_4.png +./particle/smoke_2.png +./particle/smoke_0.png +./particle/bullet.png +./particle/lava.png +./particle/smoke_trail.png +./particle/smoke_5.png