From 197cb88523cf8580d3a38d13dd3c9a07ce001687 Mon Sep 17 00:00:00 2001 From: Piezo_ Date: Sun, 25 Nov 2018 13:49:26 -0800 Subject: [PATCH] merged https://github.com/kestral246/hangglider, changed a couple things --- LICENSE.txt | 2 + README.md | 38 +++++++ init.lua | 198 ++++++++++++++++++++++++++++++------ textures/blank.png | Bin 0 -> 4194 bytes textures/glider_struts.png | Bin 0 -> 28576 bytes textures/glider_struts.png~ | Bin 0 -> 32906 bytes 6 files changed, 208 insertions(+), 30 deletions(-) create mode 100644 README.md mode change 100755 => 100644 init.lua create mode 100644 textures/blank.png create mode 100644 textures/glider_struts.png create mode 100644 textures/glider_struts.png~ diff --git a/LICENSE.txt b/LICENSE.txt index 9c34541..4cbb63b 100755 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,7 @@ License for Code ---------------- Copyright (C) 2018 Piezo_ +Copyright (C) 2018 kestral246 Copyright (C) 2016 cd2 (cdqwertz) This program is free software; you can redistribute it and/or @@ -23,6 +24,7 @@ License for Media Textures: glider_inventory.png: CC-BY-SA 3.0 UNPORTED. Created by cd2 (cdqwertz) + glider_struts.png: CC-BY-SA 3.0, Piezo_. Default wood and wool textures from minetest-game. Models and sounds: diff --git a/README.md b/README.md new file mode 100644 index 0000000..56c6a48 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +Hang Glider Mod for Minetest +---------------------------- +This is a fork of the minetest-hangglider mod by Piezo_ (orderofthefourthwall@gmail.com) + +Which is located at: + + +**This version is an experimental version that is not intended for general use.** + +It includes the following changes by David G (kestral246@gmail.com): + +- Give visual indication that hangglider is equiped. + - Display simple overlay with blurred struts when equiped. + - Issue: don't know how to disable overlay when using third person view. + +- Also unequip hangglider when landing on water. + +- Attempt to linearize parabolic flight path. + - Start gravity stronger, but gradually reduce it as descent velocity increases. + - Don't use airstopper when equipped from the ground (descent velocity is low). + - Slightly increase flight speed to 1.25. + +- Unequip/equip cycling mid-flight should not fly farther than continuous flight. + - When equipping mid-air (descent velocity higher), use airstopper but increase descent slope afterwards. + - Create airbreak flag so all equips mid-flight use faster descent. + - Reset airbreak flag only when land (canExist goes false). + - Issue: it wouldn't reset if land in water, use fly, and launch from air, before I added test for water, + - Not sure if there are other such cases. + +- Did another round of parameter tuning. + - Commented out hud debug display code with prefix "--debug:". + +- For Minetest 5.x the glider's set_attach point needs to be offset by 1 node. + - Provided alternate commented out version of this line that has the correct offset. + +- Discovered that sprint mod interferes with this mod's speed settings. + - It's likely that other mods that affect player_physics will have this same problem. + - May need to consider adding player_monoid support to this mod. diff --git a/init.lua b/init.lua old mode 100755 new mode 100644 index 4b6c6d7..ca145a7 --- a/init.lua +++ b/init.lua @@ -1,5 +1,50 @@ -hangglider = {} +-- Hangglider mod for Minetest +-- Original code by Piezo_ (orderofthefourthwall@gmail.com) +-- 2018-11-14 + +-- Modifications by David G (kestral246@gmail.com) +-- 2018-11-24 +-- For Minetest 5.x, glider's set_attach needs to be offset by 1 node +-- Switch to alternate commented line below with correct offset. +-- Additional tuning of parameters. +-- Commented out debug hud display code, prefixed with "--debug:". + +-- 2018-11-22 +-- Give visual indication that hangglider is equiped. +-- Display simple overlay with blurred struts when equiped. +-- Issue: don't know how to disable overlay in third person view. +-- Also Unequip hangglider when landing on water. +-- Attempt to linearize parabolic flight path. +-- Start gravity stronger, but gradually reduce it as descent velocity increases. +-- Don't use airstopper when equipped from the ground (descent velocity is low). +-- Slightly increase flight speed to 1.25. +-- Unequip/equip cycling mid-flight should not fly farther than continuous flight. +-- When equipping mid-air (descent velocity higher), use airstopper but increase descent slope afterwards. +-- Create airbreak flag so all equips mid-flight use faster descent. +-- Reset airbreak flag only when land (canExist goes false). +-- Issue: it wouldn't reset if land in water, use fly, and launch from air, before I added test for water, +-- not sure if there are other such cases. +-- Temporarily add hud debug display to show descent velocity, gravity override, and airbreak flag. +-- Still in process of tuning all the parameters. + + +-- Modifications by Piezo_ +-- 2018-11-25 +-- hud overlay and debug can be enabled/disabled +-- Added blender-rendered overlay for struts using the actual model. +-- Reduced airbreak penalty severity +-- gave glider limited durability. + + +local HUD_Overlay = true --show glider struts as overlay on HUD +local debug = false --show debug info in top-center of hud +hangglider = {} --Make this global, so other mods can tell if hangglider exists. hangglider.use = {} +if HUD_Overlay then +hangglider.id = {} -- hud id for displaying overlay with struts +end +if debug then hangglider.debug = {} end -- hud id for debug data +hangglider.airbreak = {} -- true if falling fast when equip minetest.register_entity("hangglider:airstopper", { --A one-instant entity that catches the player and slows them down. hp_max = 3, @@ -31,19 +76,65 @@ minetest.register_entity("hangglider:glider", { local player = self.object:get_attach("parent") if player then local pos = player:getpos() - if hangglider.use[player:get_player_name()] then - if minetest.registered_nodes[minetest.get_node(vector.new(pos.x, pos.y-0.5, pos.z)).name] then - if not minetest.registered_nodes[minetest.get_node(vector.new(pos.x, pos.y-0.5, pos.z)).name].walkable then + local pname = player:get_player_name() + if hangglider.use[pname] then + local mrn_name = minetest.registered_nodes[minetest.get_node(vector.new(pos.x, pos.y-0.5, pos.z)).name] + if mrn_name then + if not (mrn_name.walkable or (mrn_name.drowning and mrn_name.drowning == 1)) then canExist = true - if player:get_player_velocity().y > -4.5 and player:get_physics_override().gravity < 0 then - player:set_physics_override({ - gravity = 0.02, - }) - elseif player:get_player_velocity().y < -5 and player:get_physics_override().gravity > 0 then - player:set_physics_override({ - gravity = -0.02, - }) + local vel = player:get_player_velocity() + local grav = player:get_physics_override().gravity + if debug then player:hud_change(hangglider.debug[pname].id, "text", vel.y..', '..grav..', '..tostring(hangglider.airbreak[pname])) end + -- If airbreaking used, increase the descent progression to not give + -- mid-flight unequip/equip cycles a distance advantage. + if hangglider.airbreak[pname] then + if vel.y <= -4.0 then + grav = -0.2 --Extreme measures are needed, as sometimes speed will get a bit out of control + elseif vel.y <= -2.0 then + grav = -0.02 + elseif vel.y <= -1.75 then + grav = 0.00125 -- *1 + elseif vel.y <= -1.5 then + grav = 0.0025 -- *2 + elseif vel.y <= -1.25 then + grav = 0.005 -- *2 + elseif vel.y <= -1 then + grav = 0.015 -- *3 + elseif vel.y <= -0.75 then + grav = 0.04 -- *4 + elseif vel.y <= -0.5 then + grav = 0.08 -- *4 + elseif vel.y <= -0.25 then + grav = 0.12 -- *3 + elseif vel.y <= 0 then + grav = 0.3 -- *3 + else -- vel.y > 0 + grav = 0.75 -- *1.5 + end + else -- normal descent progression + if vel.y <= -4.0 then + grav = -0.2 + elseif vel.y <= -2.0 then + grav = -0.02 + elseif vel.y <= -1.5 then + grav = 0.00125 + elseif vel.y <= -1.25 then + grav = 0.0025 + elseif vel.y <= -1 then + grav = 0.005 + elseif vel.y <= -0.75 then + grav = 0.01 + elseif vel.y <= -0.5 then + grav = 0.02 + elseif vel.y <= -0.25 then + grav = 0.04 + elseif vel.y <= 0 then + grav = 0.1 + else -- vel.y > 0 + grav = 0.5 + end end + player:set_physics_override({gravity = grav}) end end end @@ -51,8 +142,13 @@ minetest.register_entity("hangglider:glider", { player:set_physics_override({ gravity = 1, jump = 1, + speed = 1, }) - hangglider.use[player:get_player_name()] = false + hangglider.use[pname] = false + if HUD_Overlay then + player:hud_change(hangglider.id[pname], "text", "blank.png") + end + hangglider.airbreak[pname] = false end end end @@ -73,42 +169,84 @@ end) minetest.register_on_joinplayer(function(player) + local pname = player:get_player_name() player:set_physics_override({ gravity = 1, jump = 1, }) - hangglider.use[player:get_player_name()] = false + hangglider.use[pname] = false + if HUD_Overlay then + hangglider.id[pname] = player:hud_add({ + hud_elem_type = "image", + text = "blank.png", + position = {x=0, y=0}, + scale = {x=-100, y=-100}, + alignment = {x=1, y=1}, + offset = {x=0, y=0} + }) end + if debug then + hangglider.debug[pname] = {id = player:hud_add({hud_elem_type = "text", + position = {x=0.5, y=0.1}, + text = "-", + number = 0xFF0000}), -- red text + -- ht = {50,50,50}, + } + end + hangglider.airbreak[pname] = false end) minetest.register_on_leaveplayer(function(player) - hangglider.use[player:get_player_name()] = nil + local pname = player:get_player_name() + hangglider.use[pname] = nil + if HUD_Overlay then hangglider.id[pname] = nil end + if debug then hangglider.debug[pname] = nil end + hangglider.airbreak[pname] = nil end) -minetest.register_craftitem("hangglider:hangglider", { +minetest.register_tool("hangglider:hangglider", { description = "Glider", inventory_image = "glider_item.png", - + stack_max=1, on_use = function(itemstack, user, pointed_thing) if not user then return end local pos = user:get_pos() - if minetest.get_node(pos).name == "air" and not hangglider.use[user:get_player_name()] then --Equip + local pname = user:get_player_name() + if minetest.get_node(pos).name == "air" and not hangglider.use[pname] then --Equip minetest.sound_play("bedsheet", {pos=pos, max_hear_distance = 8, gain = 1.0}) - user:set_physics_override({ - gravity = 0.02, - jump = 0, - }) - local stopper = minetest.add_entity(pos, "hangglider:airstopper") - stopper:get_luaentity().attach = user - user:set_attach( stopper, "", {x=0,y=0,z=0}, {x=0,y=0,z=0}) - hangglider.use[user:get_player_name()] = true + if HUD_Overlay then user:hud_change(hangglider.id[pname], "text", "glider_struts.png") end + local vel = user:get_player_velocity().y + if vel < -2 then -- engage mid-air, falling fast, so stop but ramp velocity more quickly + hangglider.airbreak[pname] = true + user:set_physics_override({ + gravity = 1, + jump = 0, + speed = 1.75, + }) + local stopper = minetest.add_entity(pos, "hangglider:airstopper") + stopper:get_luaentity().attach = user + user:set_attach( stopper, "", {x=0,y=0,z=0}, {x=0,y=0,z=0}) + else + user:set_physics_override({ + gravity = 0.02, + jump = 0, + speed = 1.75, + }) + end + hangglider.use[pname] = true + -- if minetest 0.4.x use this: minetest.add_entity(user:get_pos(), "hangglider:glider"):set_attach(user, "", {x=0,y=0,z=0}, {x=0,y=0,z=0}) - - elseif hangglider.use[user:get_player_name()] then --Unequip - hangglider.use[user:get_player_name()] = false + -- if minetest 5.x use this: + -- minetest.add_entity(user:get_pos(), "hangglider:glider"):set_attach(user, "", {x=0,y=10,z=0}, {x=0,y=0,z=0}) + itemstack:set_wear(itemstack:get_wear() + 255) + return itemstack + elseif hangglider.use[pname] then --Unequip + if HUD_Overlay then user:hud_change(hangglider.id[pname], "text", "blank.png") end + hangglider.use[pname] = false end - end + end, + sound = {breaks = "default_tool_breaks"}, }) minetest.register_craft({ diff --git a/textures/blank.png b/textures/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..de728ad036ea83ce41243a45d4229d866171ae6e GIT binary patch literal 4194 zcmeAS@N?(olHy`uVBq!ia0y~yU~gbxV6os}0g5=?;yeMQn3BBRT^Rni_n+Ah4nJa0`PlBg3pY5H=O_D7uTBGO!;!O16qLb9155hc#~xw)x%B|t6%gL6@8 zVo7R>LV0FMhJw4NZ$OG(Dmw!M|0z!w$B+ufw+9UwfvOHE{9Yc%%bx(!F$zXQU^E0q zLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!nMnhmU1O{CQ6zKTBWMEX|Q!fNL&C}J-Wt~$( F698ayDun<5 literal 0 HcmV?d00001 diff --git a/textures/glider_struts.png b/textures/glider_struts.png new file mode 100644 index 0000000000000000000000000000000000000000..da71a8a84d24ec08ca1ec0653bf40a9bbcc2a67c GIT binary patch literal 28576 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 literal 0 HcmV?d00001 diff --git a/textures/glider_struts.png~ b/textures/glider_struts.png~ new file mode 100644 index 0000000000000000000000000000000000000000..55dd0d281d4f4b53f10c9e42314aa09c1aede16b GIT binary patch literal 32906 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