mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-27 17:28:41 +00:00
some work-in-progress
This commit is contained in:
parent
3f5bad938a
commit
b94a007864
20 changed files with 701 additions and 270 deletions
55
src/player.h
55
src/player.h
|
@ -37,7 +37,8 @@ public:
|
|||
Player();
|
||||
virtual ~Player();
|
||||
|
||||
void move(f32 dtime, Map &map);
|
||||
//void move(f32 dtime, Map &map);
|
||||
virtual void move(f32 dtime, Map &map) = 0;
|
||||
|
||||
v3f getSpeed()
|
||||
{
|
||||
|
@ -94,6 +95,8 @@ public:
|
|||
|
||||
virtual bool isLocal() const = 0;
|
||||
|
||||
virtual void updateLight(u8 light_at_pos) {};
|
||||
|
||||
bool touching_ground;
|
||||
bool in_water;
|
||||
|
||||
|
@ -124,6 +127,10 @@ public:
|
|||
return false;
|
||||
}
|
||||
|
||||
void move(f32 dtime, Map &map)
|
||||
{
|
||||
}
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
@ -163,8 +170,18 @@ public:
|
|||
|
||||
void setPosition(v3f position)
|
||||
{
|
||||
m_oldpos = m_showpos;
|
||||
|
||||
if(m_pos_animation_time < 0.001 || m_pos_animation_time > 1.0)
|
||||
m_pos_animation_time = m_pos_animation_time_counter;
|
||||
else
|
||||
m_pos_animation_time = m_pos_animation_time * 0.9
|
||||
+ m_pos_animation_time_counter * 0.1;
|
||||
m_pos_animation_time_counter = 0;
|
||||
m_pos_animation_counter = 0;
|
||||
|
||||
Player::setPosition(position);
|
||||
ISceneNode::setPosition(position);
|
||||
//ISceneNode::setPosition(position);
|
||||
}
|
||||
|
||||
virtual void setYaw(f32 yaw)
|
||||
|
@ -180,9 +197,41 @@ public:
|
|||
|
||||
void updateName(const char *name);
|
||||
|
||||
virtual void updateLight(u8 light_at_pos)
|
||||
{
|
||||
if(m_node == NULL)
|
||||
return;
|
||||
|
||||
u8 li = decode_light(light_at_pos);
|
||||
video::SColor color(255,li,li,li);
|
||||
|
||||
scene::IMesh *mesh = m_node->getMesh();
|
||||
|
||||
u16 mc = mesh->getMeshBufferCount();
|
||||
for(u16 j=0; j<mc; j++)
|
||||
{
|
||||
scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
|
||||
video::S3DVertex *vertices = (video::S3DVertex*)buf->getVertices();
|
||||
u16 vc = buf->getVertexCount();
|
||||
for(u16 i=0; i<vc; i++)
|
||||
{
|
||||
vertices[i].Color = color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void move(f32 dtime, Map &map);
|
||||
|
||||
private:
|
||||
scene::IMeshSceneNode *m_node;
|
||||
scene::ITextSceneNode* m_text;
|
||||
core::aabbox3d<f32> m_box;
|
||||
|
||||
v3f m_oldpos;
|
||||
f32 m_pos_animation_counter;
|
||||
f32 m_pos_animation_time;
|
||||
f32 m_pos_animation_time_counter;
|
||||
v3f m_showpos;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -242,6 +291,8 @@ public:
|
|||
return true;
|
||||
}
|
||||
|
||||
void move(f32 dtime, Map &map);
|
||||
|
||||
void applyControl(float dtime);
|
||||
|
||||
PlayerControl control;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue