Added better support for sprinting in bobbing

master
Joel Leclerc 2012-04-30 21:09:37 -06:00
parent f0a0111194
commit 62ca46cece
7 changed files with 48 additions and 18 deletions

2
.gitignore vendored
View File

@ -12,8 +12,6 @@ tags
!/games/minetest/ !/games/minetest/
!/games/minimal/ !/games/minimal/
/cache/ /cache/
/textures/
/sounds/
/mods/* /mods/*
!/mods/minetest/ !/mods/minetest/
/mods/minetest/* /mods/minetest/*

View File

@ -1178,16 +1178,16 @@ minetest.register_node("default:chest_locked", {
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
}) })
minetest.register_node("default:furnace", { minetest.register_entity("default:furnace", {
description = "Furnace", description = "Furnace",
tile_images = {"default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png", textures = {"default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png",
"default_furnace_side.png", "default_furnace_side.png", "default_furnace_front.png"}, "default_furnace_side.png", "default_furnace_side.png", "default_furnace_front.png"},
paramtype2 = "facedir", paramtype2 = "facedir",
metadata_name = "furnace", metadata_name = "furnace",
groups = {cracky=2}, groups = {cracky=2},
legacy_facedir_simple = true, legacy_facedir_simple = true,
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
on_step = function(dtime) --[[on_step = function(self, dtime)
if (dtime > 60) then if (dtime > 60) then
print("Furnace stepping a long time ("..dtime..")") print("Furnace stepping a long time ("..dtime..")")
end end
@ -1206,10 +1206,10 @@ minetest.register_node("default:furnace", {
local cooktime local cooktime
end end
end, end,]]
}) })
minetest.register_on_placenode(function(pos, newnode, placer) --[[minetest.register_on_placenode(function(pos, newnode, placer)
if newnode.name == "default:furnace_lua" then if newnode.name == "default:furnace_lua" then
local meta = minetest.env:get_meta(pos) local meta = minetest.env:get_meta(pos)
meta:get_inventory():set_list("fuel", {""}) meta:get_inventory():set_list("fuel", {""})
@ -1229,7 +1229,7 @@ minetest.register_on_placenode(function(pos, newnode, placer)
meta:set_string("src_totaltime", "0") meta:set_string("src_totaltime", "0")
meta:set_string("src_time", "0") meta:set_string("src_time", "0")
end end
end) end)]]
minetest.register_node("default:cobble", { minetest.register_node("default:cobble", {
description = "Cobble", description = "Cobble",

View File

@ -147,9 +147,13 @@ void Camera::step(f32 dtime)
#if 0 #if 0
// Animation is getting turned off // Animation is getting turned off
if (m_view_bobbing_anim < 0.5) if (m_view_bobbing_anim < 0.5)
{
m_view_bobbing_anim -= offset; m_view_bobbing_anim -= offset;
}
else else
{
m_view_bobbing_anim += offset; m_view_bobbing_anim += offset;
}
if (m_view_bobbing_anim <= 0 || m_view_bobbing_anim >= 1) if (m_view_bobbing_anim <= 0 || m_view_bobbing_anim >= 1)
{ {
m_view_bobbing_anim = 0; m_view_bobbing_anim = 0;
@ -158,15 +162,24 @@ void Camera::step(f32 dtime)
#endif #endif
#if 1 #if 1
// Animation is getting turned off // Animation is getting turned off
if(m_view_bobbing_anim < 0.25){ if(m_view_bobbing_anim < 0.25)
{
m_view_bobbing_anim -= offset; m_view_bobbing_anim -= offset;
} else if(m_view_bobbing_anim > 0.75){ }
else if(m_view_bobbing_anim > 0.75)
{
m_view_bobbing_anim += offset; m_view_bobbing_anim += offset;
} if(m_view_bobbing_anim < 0.5){ }
if(m_view_bobbing_anim < 0.5)
{
m_view_bobbing_anim += offset; m_view_bobbing_anim += offset;
if(m_view_bobbing_anim > 0.5) if(m_view_bobbing_anim > 0.5)
{
m_view_bobbing_anim = 0.5; m_view_bobbing_anim = 0.5;
} else { }
}
else
{
m_view_bobbing_anim -= offset; m_view_bobbing_anim -= offset;
if(m_view_bobbing_anim < 0.5) if(m_view_bobbing_anim < 0.5)
m_view_bobbing_anim = 0.5; m_view_bobbing_anim = 0.5;
@ -186,7 +199,8 @@ void Camera::step(f32 dtime)
bool step = (was == 0 || bool step = (was == 0 ||
(was < 0.5f && m_view_bobbing_anim >= 0.5f) || (was < 0.5f && m_view_bobbing_anim >= 0.5f) ||
(was > 0.5f && m_view_bobbing_anim <= 0.5f)); (was > 0.5f && m_view_bobbing_anim <= 0.5f));
if(step){ if(step)
{
MtEvent *e = new SimpleTriggerEvent("ViewBobbingStep"); MtEvent *e = new SimpleTriggerEvent("ViewBobbingStep");
m_gamedef->event()->put(e); m_gamedef->event()->put(e);
} }
@ -386,7 +400,8 @@ void Camera::update(LocalPlayer* player, f32 frametime, v2u32 screensize,
{ {
// Start animation // Start animation
m_view_bobbing_state = 1; m_view_bobbing_state = 1;
m_view_bobbing_speed = MYMIN(speed.getLength(), 40); //m_view_bobbing_speed = MYMIN(speed.getLength(), 40);
m_view_bobbing_speed = speed.getLength()*0.7;
} }
else if (m_view_bobbing_state == 1) else if (m_view_bobbing_state == 1)
{ {

View File

@ -1,6 +1,12 @@
/* /*
BlockPlanet
Copyright (C) 2012 MiJyn, Joel Leclerc <mijyn@mail.com>
Licensed under GPLv3
Based on:
Minetest-c55 Minetest-c55
Copyright (C) 2010-2012 celeron55, Perttu Ahola <celeron55@gmail.com> Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

View File

@ -146,8 +146,7 @@ void content_mapnode_get_name_id_mapping(NameIdMapping *nimap)
nimap->set(9, "default:water_source"); nimap->set(9, "default:water_source");
nimap->set(14, "default:sign_wall"); nimap->set(14, "default:sign_wall");
nimap->set(15, "default:chest"); nimap->set(15, "default:chest");
// Good luck in finding that, C++! nimap->set(16, "default:furnace");
nimap->set(16, "default:furnace_cpp");
nimap->set(17, "default:chest_locked"); nimap->set(17, "default:chest_locked");
nimap->set(21, "default:fence_wood"); nimap->set(21, "default:fence_wood");
nimap->set(30, "default:rail"); nimap->set(30, "default:rail");

View File

@ -1,4 +1,10 @@
/* /*
BlockPlanet
Copyright (C) 2012 MiJyn, Joel Leclerc <mijyn@mail.com>
Licensed under GPLv3
Based on:
Minetest-c55 Minetest-c55
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com> Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>

View File

@ -1,6 +1,12 @@
/* /*
BlockPlanet
Copyright (C) 2012 MiJyn, Joel Leclerc <mijyn@mail.com>
Licensed under GPLv3
Based on:
Minetest-c55 Minetest-c55
Copyright (C) 2011 celeron55, Perttu Ahola <celeron55@gmail.com> Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by