#include "remoteplayer.h" #include #include #include "texture.h" #include #include RemotePlayer::RemotePlayer(netprot::PlayerInfo pinfo) : m_pinfo(pinfo), m_aminacc(0.0f), m_animstate(Anim::STILL), m_team_id(0), current(), previous(), m_texture_front(), Player(Vector3f(0, 0, 0), 0, 0) { LoadTexture(m_texture_front, TEXTURE_PATH "AssetOtherPlayer/FinalPNGStanding/BlueFrontRight.png", false, false); } //RemotePlayer::RemotePlayer() //{ // //} RemotePlayer::~RemotePlayer() { } void RemotePlayer::Init() { } void RemotePlayer::Feed(const netprot::Output out) { current.position = out.position; current.direction = out.direction; current.states = out.states; current.id = out.id; //a revoir pour le jump et le shoot en meme temps lorsque les test seront possible if (current.position != previous.position) { Vector3f positionDelta = current.position - previous.position; m_position = current.position + positionDelta; m_direction = current.direction; } if(current.direction != previous.direction) { m_direction = current.direction; current.direction = current.direction; } if (current.states.shooting) { //true; m_animstate = Anim::SHOOTING; } else if (current.states.jumping) { //true; m_animstate = Anim::JUMPING; } else if (current.states.dead) { //true; m_animstate = Anim::DEAD; } else if(current.states.powerup){ //true; m_animstate = Anim::POWERUP; } else if (current.states.still) { //true; m_animstate = Anim::STILL; } else if (current.states.running) { //true; m_animstate = Anim::RUNNING; } previous.direction = current.direction; previous.position = current.position; previous.states = current.states; previous.id = current.id; } void RemotePlayer::Render(TextureAtlas& atlas, Shader& shader, float elapsedTime) { m_texture_front.Bind(); glBegin(GL_QUADS); glTexCoord2f(0, 0); glVertex2f(0, 500); glTexCoord2f(1, 0); glVertex2f(500, 500); glTexCoord2f(1, 1); glVertex2f(500, 0); glTexCoord2f(0, 1); glVertex2f(0, 0); glEnd(); } bool RemotePlayer::LoadTexture(Texture& texture, const std::string& filename, bool useMipmaps, bool stopOnError) { texture.Load(filename, useMipmaps); if (!texture.IsValid()) { std::cerr << "Unable to load texture (" << filename << ")" << std::endl; if (stopOnError) return false; return false; } return true; }