diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..e42d305 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,10 @@ +{ + "Lua.diagnostics.globals": [ + "minetest", + "ItemStack", + "vector", + "VoxelManip", + "VoxelArea", + "PseudoRandom" + ] +} \ No newline at end of file diff --git a/README.txt b/README.txt index df244fe..1ad0547 100644 --- a/README.txt +++ b/README.txt @@ -2,73 +2,4 @@ Minetest Game mod: tnt ====================== See license.txt for license information. -Authors of source code ----------------------- -PilzAdam (MIT) -ShadowNinja (MIT) -sofar (sofar@foo-projects.org) (MIT) -Various Minetest developers and contributors (MIT) - -Authors of media ----------------- -BlockMen (CC BY-SA 3.0): -All textures not mentioned below. - -ShadowNinja (CC BY-SA 3.0): -tnt_smoke.png - -Wuzzy (CC BY-SA 3.0): -All gunpowder textures except tnt_gunpowder_inventory.png. - -sofar (sofar@foo-projects.org) (CC BY-SA 3.0): -tnt_blast.png - -paramat (CC BY-SA 3.0) -tnt_tnt_stick.png - Derived from a texture by benrob0329. - -TumeniNodes (CC0 1.0) -tnt_explode.ogg -renamed, edited, and converted to .ogg from Explosion2.wav -by steveygos93 (CC0 1.0) - - -tnt_ignite.ogg -renamed, edited, and converted to .ogg from sparkler_fuse_nm.wav -by theneedle.tv (CC0 1.0) - - -tnt_gunpowder_burning.ogg -renamed, edited, and converted to .ogg from road flare ignite burns.wav -by frankelmedico (CC0 1.0) - - - -Introduction ------------- -This mod adds TNT to Minetest. TNT is a tool to help the player -in mining. - -How to use the mod: - -Craft gunpowder by placing coal and gravel in the crafting area. -The gunpowder can be used to craft TNT sticks or as a fuse trail for TNT. - -To craft 2 TNT sticks: -G_G -GPG -G_G -G = gunpowder -P = paper -The sticks are not usable as an explosive. - -Craft TNT from 9 TNT sticks. - -There are different ways to ignite TNT: - 1. Hit it with a torch. - 2. Hit a gunpowder fuse trail that leads to TNT with a torch or - flint-and-steel. - 3. Activate it with mesecons (fastest way). - -For 1 TNT: -Node destruction radius is 3 nodes. -Player and object damage radius is 6 nodes. +This is just tnt logic extracted \ No newline at end of file diff --git a/init.lua b/init.lua index ae28191..6bd1172 100644 --- a/init.lua +++ b/init.lua @@ -2,23 +2,6 @@ tnt = {} --- Load support for MT game translation. -local S = minetest.get_translator("tnt") - - --- Default to enabled when in singleplayer -local enable_tnt = minetest.settings:get_bool("enable_tnt") -if enable_tnt == nil then - enable_tnt = minetest.is_singleplayer() -end - --- loss probabilities array (one in X will be lost) -local loss_prob = {} - -loss_prob["default:cobble"] = 3 -loss_prob["default:dirt"] = 4 - -local tnt_radius = tonumber(minetest.settings:get("tnt_radius") or 3) -- Fill a list with data for content IDs, after all nodes are registered local cid_data = {} @@ -77,7 +60,7 @@ end local function add_drop(drops, item) item = ItemStack(item) local name = item:get_name() - if loss_prob[name] ~= nil and math.random(1, loss_prob[name]) == 1 then + if math.random(1, 4) > 1 then return end @@ -91,11 +74,7 @@ end local basic_flame_on_construct -- cached value local function destroy(drops, npos, cid, c_air, c_fire, - on_blast_queue, on_construct_queue, - ignore_protection, ignore_on_blast, owner) - if not ignore_protection and minetest.is_protected(npos, owner) then - return cid - end + on_blast_queue, on_construct_queue, ignore_on_blast, owner) local def = cid_data[cid] @@ -203,89 +182,11 @@ local function entity_physics(pos, radius, drops) end end -local function add_effects(pos, radius, drops) - minetest.add_particle({ - pos = pos, - velocity = vector.new(), - acceleration = vector.new(), - expirationtime = 0.4, - size = radius * 10, - collisiondetection = false, - vertical = false, - texture = "tnt_boom.png", - glow = 15, - }) - minetest.add_particlespawner({ - amount = 64, - time = 0.5, - minpos = vector.subtract(pos, radius / 2), - maxpos = vector.add(pos, radius / 2), - minvel = {x = -10, y = -10, z = -10}, - maxvel = {x = 10, y = 10, z = 10}, - minacc = vector.new(), - maxacc = vector.new(), - minexptime = 1, - maxexptime = 2.5, - minsize = radius * 3, - maxsize = radius * 5, - texture = "tnt_smoke.png", - }) - - -- we just dropped some items. Look at the items entities and pick - -- one of them to use as texture - local texture = "tnt_blast.png" --fallback texture - local node - local most = 0 - for name, stack in pairs(drops) do - local count = stack:get_count() - if count > most then - most = count - local def = minetest.registered_nodes[name] - if def then - node = { name = name } - end - if def and def.tiles and def.tiles[1] then - texture = def.tiles[1] - end - end - end - - minetest.add_particlespawner({ - amount = 64, - time = 0.1, - minpos = vector.subtract(pos, radius / 2), - maxpos = vector.add(pos, radius / 2), - minvel = {x = -3, y = 0, z = -3}, - maxvel = {x = 3, y = 5, z = 3}, - minacc = {x = 0, y = -10, z = 0}, - maxacc = {x = 0, y = -10, z = 0}, - minexptime = 0.8, - maxexptime = 2.0, - minsize = radius * 0.33, - maxsize = radius, - texture = texture, - -- ^ only as fallback for clients without support for `node` parameter - node = node, - collisiondetection = true, - }) -end - -function tnt.burn(pos, nodename) - local name = nodename or minetest.get_node(pos).name - local def = minetest.registered_nodes[name] - if not def then - return - elseif def.on_ignite then - def.on_ignite(pos) - elseif minetest.get_item_group(name, "tnt") > 0 then - minetest.swap_node(pos, {name = name .. "_burning"}) - minetest.sound_play("tnt_ignite", {pos = pos}, true) - minetest.get_node_timer(pos):start(1) - end -end - -local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast, owner, explode_center) +local function tnt_explode(pos, radius, ignore_on_blast, owner, explode_center) pos = vector.round(pos) + if radius < 1 then + return + end -- scan for adjacent TNT nodes first, and enlarge the explosion local vm1 = VoxelManip() local p1 = vector.subtract(pos, 2) @@ -295,14 +196,8 @@ local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast, owne local data = vm1:get_data() local count = 0 local c_tnt - local c_tnt_burning = minetest.get_content_id("tnt:tnt_burning") - local c_tnt_boom = minetest.get_content_id("tnt:boom") + local c_tnt_boom = minetest.get_content_id("tnt:boom_center") local c_air = minetest.get_content_id("air") - if enable_tnt then - c_tnt = minetest.get_content_id("tnt:tnt") - else - c_tnt = c_tnt_burning -- tnt is not registered if disabled - end -- make sure we still have explosion even when centre node isnt tnt related if explode_center then count = 1 @@ -313,7 +208,7 @@ local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast, owne local vi = a:index(pos.x - 2, y, z) for x = pos.x - 2, pos.x + 2 do local cid = data[vi] - if cid == c_tnt or cid == c_tnt_boom or cid == c_tnt_burning then + if cid == c_tnt or cid == c_tnt_boom then count = count + 1 data[vi] = c_air end @@ -326,7 +221,7 @@ local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast, owne vm1:write_to_map() -- recalculate new radius - radius = math.floor(radius * math.pow(count, 1/3)) + radius = math.floor(radius * count^1/3) -- perform the explosion local vm = VoxelManip() @@ -340,9 +235,16 @@ local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast, owne local drops = {} local on_blast_queue = {} local on_construct_queue = {} - basic_flame_on_construct = minetest.registered_nodes["fire:basic_flame"].on_construct - - local c_fire = minetest.get_content_id("fire:basic_flame") + --check if mod fire is active + local fire_mod = minetest.get_modpath("fire") + if fire_mod ~= nil then + basic_flame_on_construct = minetest.registered_nodes["fire:basic_flame"].on_construct + c_fire = minetest.get_content_id("fire:basic_flame") + else + basic_flame_on_construct = function() end + c_fire = c_air + end + for z = -radius, radius do for y = -radius, radius do local vi = a:index(pos.x + (-radius), pos.y + y, pos.z + z) @@ -353,8 +255,7 @@ local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast, owne local p = {x = pos.x + x, y = pos.y + y, z = pos.z + z} if cid ~= c_air then data[vi] = destroy(drops, p, cid, c_air, c_fire, - on_blast_queue, on_construct_queue, - ignore_protection, ignore_on_blast, owner) + on_blast_queue, on_construct_queue, ignore_on_blast, owner) end end vi = vi + 1 @@ -405,16 +306,19 @@ end function tnt.boom(pos, def) def = def or {} def.radius = def.radius or 1 + def.sound = def.sound or 1 def.damage_radius = def.damage_radius or def.radius * 2 local meta = minetest.get_meta(pos) local owner = meta:get_string("owner") - if not def.explode_center and def.ignore_protection ~= true then - minetest.set_node(pos, {name = "tnt:boom"}) + if not def.explode_center then + minetest.set_node(pos, {name = "tnt:boom_center"}) end local sound = def.sound or "tnt_explode" - minetest.sound_play(sound, {pos = pos, gain = 2.5, - max_hear_distance = math.min(def.radius * 20, 128)}, true) - local drops, radius = tnt_explode(pos, def.radius, def.ignore_protection, + if def.sound then + minetest.sound_play(sound, {pos = pos, gain = 2.5, + max_hear_distance = math.min(def.radius * 20, 128)}, true) + end + local drops, radius = tnt_explode(pos, def.radius, def.ignore_on_blast, owner, def.explode_center) -- append entity drops local damage_radius = (radius / math.max(1, def.radius)) * def.damage_radius @@ -422,276 +326,41 @@ function tnt.boom(pos, def) if not def.disable_drops then eject_drops(drops, pos, radius) end - add_effects(pos, radius, drops) minetest.log("action", "A TNT explosion occurred at " .. minetest.pos_to_string(pos) .. " with radius " .. radius) end -minetest.register_node("tnt:boom", { +minetest.register_node("tnt:boom_center", { drawtype = "airlike", - light_source = default.LIGHT_MAX, + light_source = 14, walkable = false, drop = "", groups = {dig_immediate = 3}, -- unaffected by explosions on_blast = function() end, -}) - -minetest.register_node("tnt:gunpowder", { - description = S("Gun Powder"), - drawtype = "raillike", - paramtype = "light", - is_ground_content = false, - sunlight_propagates = true, - walkable = false, - tiles = { - "tnt_gunpowder_straight.png", - "tnt_gunpowder_curved.png", - "tnt_gunpowder_t_junction.png", - "tnt_gunpowder_crossing.png" - }, - inventory_image = "tnt_gunpowder_inventory.png", - wield_image = "tnt_gunpowder_inventory.png", - selection_box = { - type = "fixed", - fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, - }, - groups = {dig_immediate = 2, attached_node = 1, flammable = 5, - connect_to_raillike = minetest.raillike_group("gunpowder")}, - sounds = default.node_sound_leaves_defaults(), - - on_punch = function(pos, node, puncher) - if puncher:get_wielded_item():get_name() == "default:torch" then - minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) - minetest.log("action", puncher:get_player_name() .. - " ignites tnt:gunpowder at " .. - minetest.pos_to_string(pos)) - end - end, - on_blast = function(pos, intensity) - minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) - end, - on_burn = function(pos) - minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) - end, - on_ignite = function(pos, igniter) - minetest.set_node(pos, {name = "tnt:gunpowder_burning"}) - end, -}) - -minetest.register_node("tnt:gunpowder_burning", { - drawtype = "raillike", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - light_source = 5, - tiles = {{ - name = "tnt_gunpowder_burning_straight_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }, - { - name = "tnt_gunpowder_burning_curved_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }, - { - name = "tnt_gunpowder_burning_t_junction_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }, - { - name = "tnt_gunpowder_burning_crossing_animated.png", - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }}, - selection_box = { - type = "fixed", - fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, - }, - drop = "", - groups = { - dig_immediate = 2, - attached_node = 1, - connect_to_raillike = minetest.raillike_group("gunpowder") - }, - sounds = default.node_sound_leaves_defaults(), + --remove the tnt node after a while on_timer = function(pos, elapsed) - for dx = -1, 1 do - for dz = -1, 1 do - if math.abs(dx) + math.abs(dz) == 1 then - for dy = -1, 1 do - tnt.burn({ - x = pos.x + dx, - y = pos.y + dy, - z = pos.z + dz, - }) - end - end - end - end minetest.remove_node(pos) + minetest.check_for_falling(pos) end, - -- unaffected by explosions - on_blast = function() end, + -- countdown timer on_construct = function(pos) - minetest.sound_play("tnt_gunpowder_burning", {pos = pos, - gain = 2}, true) - minetest.get_node_timer(pos):start(1) + minetest.get_node_timer(pos):start(3) end, }) -minetest.register_craft({ - output = "tnt:gunpowder 5", - type = "shapeless", - recipe = {"default:coal_lump", "default:gravel"} -}) - -minetest.register_craftitem("tnt:tnt_stick", { - description = S("TNT Stick"), - inventory_image = "tnt_tnt_stick.png", - groups = {flammable = 5}, -}) - -if enable_tnt then - minetest.register_craft({ - output = "tnt:tnt_stick 2", - recipe = { - {"tnt:gunpowder", "", "tnt:gunpowder"}, - {"tnt:gunpowder", "default:paper", "tnt:gunpowder"}, - {"tnt:gunpowder", "", "tnt:gunpowder"}, - } - }) - - minetest.register_craft({ - output = "tnt:tnt", - recipe = { - {"tnt:tnt_stick", "tnt:tnt_stick", "tnt:tnt_stick"}, - {"tnt:tnt_stick", "tnt:tnt_stick", "tnt:tnt_stick"}, - {"tnt:tnt_stick", "tnt:tnt_stick", "tnt:tnt_stick"} - } - }) - - minetest.register_abm({ - label = "TNT ignition", - nodenames = {"group:tnt", "tnt:gunpowder"}, - neighbors = {"fire:basic_flame", "default:lava_source", "default:lava_flowing"}, - interval = 4, - chance = 1, - action = function(pos, node) - tnt.burn(pos, node.name) - end, - }) -end - -function tnt.register_tnt(def) - local name - if not def.name:find(':') then - name = "tnt:" .. def.name - else - name = def.name - def.name = def.name:match(":([%w_]+)") - end - if not def.tiles then def.tiles = {} end - local tnt_top = def.tiles.top or def.name .. "_top.png" - local tnt_bottom = def.tiles.bottom or def.name .. "_bottom.png" - local tnt_side = def.tiles.side or def.name .. "_side.png" - local tnt_burning = def.tiles.burning or def.name .. "_top_burning_animated.png" - if not def.damage_radius then def.damage_radius = def.radius * 2 end - - if enable_tnt then - minetest.register_node(":" .. name, { - description = def.description, - tiles = {tnt_top, tnt_bottom, tnt_side}, - is_ground_content = false, - groups = {dig_immediate = 2, mesecon = 2, tnt = 1, flammable = 5}, - sounds = default.node_sound_wood_defaults(), - after_place_node = function(pos, placer) - if placer:is_player() then - local meta = minetest.get_meta(pos) - meta:set_string("owner", placer:get_player_name()) - end - end, - on_punch = function(pos, node, puncher) - if puncher:get_wielded_item():get_name() == "default:torch" then - minetest.swap_node(pos, {name = name .. "_burning"}) - minetest.registered_nodes[name .. "_burning"].on_construct(pos) - minetest.log("action", puncher:get_player_name() .. - " ignites " .. node.name .. " at " .. - minetest.pos_to_string(pos)) - end - end, - on_blast = function(pos, intensity) - minetest.after(0.1, function() - tnt.boom(pos, def) - end) - end, - mesecons = {effector = - {action_on = - function(pos) - tnt.boom(pos, def) - end - } - }, - on_burn = function(pos) - minetest.swap_node(pos, {name = name .. "_burning"}) - minetest.registered_nodes[name .. "_burning"].on_construct(pos) - end, - on_ignite = function(pos, igniter) - minetest.swap_node(pos, {name = name .. "_burning"}) - minetest.registered_nodes[name .. "_burning"].on_construct(pos) - end, +minetest.register_node("tnt:instaboom", { + drawtype = "airlike", + light_source = 14, + walkable = false, + drop = "", + on_construct = function(pos) + tnt.boom(pos, { + radius = 12, + damage_radius = 0, + disable_drops = true, + ignore_on_blast = true, + explode_center = true, }) - end - - minetest.register_node(":" .. name .. "_burning", { - tiles = { - { - name = tnt_burning, - animation = { - type = "vertical_frames", - aspect_w = 16, - aspect_h = 16, - length = 1, - } - }, - tnt_bottom, tnt_side - }, - light_source = 5, - drop = "", - sounds = default.node_sound_wood_defaults(), - groups = {falling_node = 1}, - on_timer = function(pos, elapsed) - tnt.boom(pos, def) - end, - -- unaffected by explosions - on_blast = function() end, - on_construct = function(pos) - minetest.sound_play("tnt_ignite", {pos = pos}, true) - minetest.get_node_timer(pos):start(4) - minetest.check_for_falling(pos) - end, - }) -end - -tnt.register_tnt({ - name = "tnt:tnt", - description = S("TNT"), - radius = tnt_radius, -}) + end, +}) \ No newline at end of file diff --git a/license.txt b/license.txt index e59ec6e..6b992e8 100644 --- a/license.txt +++ b/license.txt @@ -26,47 +26,6 @@ DEALINGS IN THE SOFTWARE. For more details: https://opensource.org/licenses/MIT -=================================== - -Licenses of media ------------------ - -Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) -Copyright (C) 2014-2016 BlockMen -Copyright (C) 2014-2016 ShadowNinja -Copyright (C) 2015-2016 Wuzzy -Copyright (C) 2016 sofar (sofar@foo-projects.org) -Copyright (C) 2018 paramat - -You are free to: -Share — copy and redistribute the material in any medium or format. -Adapt — remix, transform, and build upon the material for any purpose, even commercially. -The licensor cannot revoke these freedoms as long as you follow the license terms. - -Under the following terms: - -Attribution — You must give appropriate credit, provide a link to the license, and -indicate if changes were made. You may do so in any reasonable manner, but not in any way -that suggests the licensor endorses you or your use. - -ShareAlike — If you remix, transform, or build upon the material, you must distribute -your contributions under the same license as the original. - -No additional restrictions — You may not apply legal terms or technological measures that -legally restrict others from doing anything the license permits. - -Notices: - -You do not have to comply with the license for elements of the material in the public -domain or where your use is permitted by an applicable exception or limitation. -No warranties are given. The license may not give you all of the permissions necessary -for your intended use. For example, other rights such as publicity, privacy, or moral -rights may limit how you use the material. - -For more details: -http://creativecommons.org/licenses/by-sa/3.0/ - -==================================================== CC0 1.0 Universal (CC0 1.0) Public Domain Dedication for audio files (found in sounds folder) diff --git a/locale/template.txt b/locale/template.txt deleted file mode 100644 index 62bcb15..0000000 --- a/locale/template.txt +++ /dev/null @@ -1,4 +0,0 @@ -# textdomain: tnt -Gun Powder= -TNT Stick= -TNT= diff --git a/locale/tnt.de.tr b/locale/tnt.de.tr deleted file mode 100644 index 09d2ac2..0000000 --- a/locale/tnt.de.tr +++ /dev/null @@ -1,4 +0,0 @@ -# textdomain: tnt -Gun Powder=Schießpulver -TNT Stick=TNT-Stange -TNT=TNT diff --git a/locale/tnt.es.tr b/locale/tnt.es.tr deleted file mode 100644 index d9f3f20..0000000 --- a/locale/tnt.es.tr +++ /dev/null @@ -1,4 +0,0 @@ -# textdomain: tnt -Gun Powder=Pólvora -TNT Stick=Cartucho de TNT -TNT=TNT diff --git a/locale/tnt.fr.tr b/locale/tnt.fr.tr deleted file mode 100644 index 3fe48fb..0000000 --- a/locale/tnt.fr.tr +++ /dev/null @@ -1,4 +0,0 @@ -# textdomain: tnt -Gun Powder=Poudre à canon -TNT Stick=Bâton de TNT -TNT=TNT diff --git a/locale/tnt.id.tr b/locale/tnt.id.tr deleted file mode 100644 index 2652ae0..0000000 --- a/locale/tnt.id.tr +++ /dev/null @@ -1,4 +0,0 @@ -# textdomain: tnt -Gun Powder=Bubuk Mesiu -TNT Stick=Tongkat TNT -TNT=TNT diff --git a/locale/tnt.it.tr b/locale/tnt.it.tr deleted file mode 100644 index bc4ef14..0000000 --- a/locale/tnt.it.tr +++ /dev/null @@ -1,4 +0,0 @@ -# textdomain: tnt -Gun Powder=Polvere da sparo -TNT Stick=Candelotto di TNT -TNT=TNT \ No newline at end of file diff --git a/locale/tnt.ms.tr b/locale/tnt.ms.tr deleted file mode 100644 index c4c5fdd..0000000 --- a/locale/tnt.ms.tr +++ /dev/null @@ -1,4 +0,0 @@ -# textdomain: tnt -Gun Powder=Serbuk Senjata Api -TNT Stick=Batang TNT -TNT=TNT diff --git a/locale/tnt.ru.tr b/locale/tnt.ru.tr deleted file mode 100644 index a8cee43..0000000 --- a/locale/tnt.ru.tr +++ /dev/null @@ -1,4 +0,0 @@ -# textdomain: tnt -Gun Powder=Порох -TNT Stick=Тротиловая Палка -TNT=Тротил diff --git a/locale/tnt.se.tr b/locale/tnt.se.tr deleted file mode 100644 index 21fbbd0..0000000 --- a/locale/tnt.se.tr +++ /dev/null @@ -1,4 +0,0 @@ -# textdomain: tnt -Gun Powder=Krut -TNT Stick=Dynamitpinne -TNT=Dynamit \ No newline at end of file diff --git a/locale/tnt.zh_CN.tr b/locale/tnt.zh_CN.tr deleted file mode 100644 index 0a3294e..0000000 --- a/locale/tnt.zh_CN.tr +++ /dev/null @@ -1,4 +0,0 @@ -# textdomain: tnt -Gun Powder=火药粉 -TNT Stick=炸药棒 -TNT=炸药包 diff --git a/locale/tnt.zh_TW.tr b/locale/tnt.zh_TW.tr deleted file mode 100644 index c1b3caf..0000000 --- a/locale/tnt.zh_TW.tr +++ /dev/null @@ -1,4 +0,0 @@ -# textdomain: tnt -Gun Powder=火藥粉 -TNT Stick=炸藥棒 -TNT=炸藥包 diff --git a/mod.conf b/mod.conf index 9385e82..d169196 100644 --- a/mod.conf +++ b/mod.conf @@ -1,3 +1,3 @@ name = tnt description = Minetest Game mod: tnt -depends = default, fire +optional_depends = fire \ No newline at end of file diff --git a/sounds/tnt_gunpowder_burning.ogg b/sounds/tnt_gunpowder_burning.ogg deleted file mode 100644 index 8581c2d..0000000 Binary files a/sounds/tnt_gunpowder_burning.ogg and /dev/null differ diff --git a/sounds/tnt_ignite.ogg b/sounds/tnt_ignite.ogg deleted file mode 100644 index 1a7062e..0000000 Binary files a/sounds/tnt_ignite.ogg and /dev/null differ diff --git a/textures/tnt_blast.png b/textures/tnt_blast.png deleted file mode 100644 index bbb1096..0000000 Binary files a/textures/tnt_blast.png and /dev/null differ diff --git a/textures/tnt_boom.png b/textures/tnt_boom.png deleted file mode 100644 index c848bfc..0000000 Binary files a/textures/tnt_boom.png and /dev/null differ diff --git a/textures/tnt_bottom.png b/textures/tnt_bottom.png deleted file mode 100644 index 95f66cb..0000000 Binary files a/textures/tnt_bottom.png and /dev/null differ diff --git a/textures/tnt_gunpowder_burning_crossing_animated.png b/textures/tnt_gunpowder_burning_crossing_animated.png deleted file mode 100644 index a901f7b..0000000 Binary files a/textures/tnt_gunpowder_burning_crossing_animated.png and /dev/null differ diff --git a/textures/tnt_gunpowder_burning_curved_animated.png b/textures/tnt_gunpowder_burning_curved_animated.png deleted file mode 100644 index bc01806..0000000 Binary files a/textures/tnt_gunpowder_burning_curved_animated.png and /dev/null differ diff --git a/textures/tnt_gunpowder_burning_straight_animated.png b/textures/tnt_gunpowder_burning_straight_animated.png deleted file mode 100644 index c860ace..0000000 Binary files a/textures/tnt_gunpowder_burning_straight_animated.png and /dev/null differ diff --git a/textures/tnt_gunpowder_burning_t_junction_animated.png b/textures/tnt_gunpowder_burning_t_junction_animated.png deleted file mode 100644 index a556072..0000000 Binary files a/textures/tnt_gunpowder_burning_t_junction_animated.png and /dev/null differ diff --git a/textures/tnt_gunpowder_crossing.png b/textures/tnt_gunpowder_crossing.png deleted file mode 100644 index 916c84e..0000000 Binary files a/textures/tnt_gunpowder_crossing.png and /dev/null differ diff --git a/textures/tnt_gunpowder_curved.png b/textures/tnt_gunpowder_curved.png deleted file mode 100644 index cb8b4ea..0000000 Binary files a/textures/tnt_gunpowder_curved.png and /dev/null differ diff --git a/textures/tnt_gunpowder_inventory.png b/textures/tnt_gunpowder_inventory.png deleted file mode 100644 index 105a2d2..0000000 Binary files a/textures/tnt_gunpowder_inventory.png and /dev/null differ diff --git a/textures/tnt_gunpowder_straight.png b/textures/tnt_gunpowder_straight.png deleted file mode 100644 index 8ab0e3c..0000000 Binary files a/textures/tnt_gunpowder_straight.png and /dev/null differ diff --git a/textures/tnt_gunpowder_t_junction.png b/textures/tnt_gunpowder_t_junction.png deleted file mode 100644 index ac997a7..0000000 Binary files a/textures/tnt_gunpowder_t_junction.png and /dev/null differ diff --git a/textures/tnt_side.png b/textures/tnt_side.png deleted file mode 100644 index d303473..0000000 Binary files a/textures/tnt_side.png and /dev/null differ diff --git a/textures/tnt_smoke.png b/textures/tnt_smoke.png deleted file mode 100644 index 488b50f..0000000 Binary files a/textures/tnt_smoke.png and /dev/null differ diff --git a/textures/tnt_tnt_stick.png b/textures/tnt_tnt_stick.png deleted file mode 100644 index bc47a29..0000000 Binary files a/textures/tnt_tnt_stick.png and /dev/null differ diff --git a/textures/tnt_top.png b/textures/tnt_top.png deleted file mode 100644 index 31b807c..0000000 Binary files a/textures/tnt_top.png and /dev/null differ diff --git a/textures/tnt_top_burning.png b/textures/tnt_top_burning.png deleted file mode 100644 index fc0d490..0000000 Binary files a/textures/tnt_top_burning.png and /dev/null differ diff --git a/textures/tnt_top_burning_animated.png b/textures/tnt_top_burning_animated.png deleted file mode 100644 index 18a270f..0000000 Binary files a/textures/tnt_top_burning_animated.png and /dev/null differ