merge conflict

This commit is contained in:
Frederic Leger 2023-12-15 15:40:13 -05:00
parent 77a982b1fa
commit 570bef266c
8 changed files with 169 additions and 181 deletions

View File

@ -31,6 +31,7 @@
#define TEXTURE_SIZE 512 #define TEXTURE_SIZE 512
#define MAX_BULLETS 512 #define MAX_BULLETS 512
#define NB_BOOST 1
#define TIME_SPEED_BOOST 10 //secondes #define TIME_SPEED_BOOST 10 //secondes
#define TIME_DAMAGE_BOOST 10 //secondes #define TIME_DAMAGE_BOOST 10 //secondes
#define TIME_INVINCIBLE_BOOST 4 //secondes #define TIME_INVINCIBLE_BOOST 4 //secondes

View File

@ -84,7 +84,7 @@ Vector3f Player::GetInput(bool front, bool back, bool left, bool right, bool jum
return delta; return delta;
} }
Player::Sound Player::ApplyPhysics(Vector3f input, World* world, float elapsedTime) { Player::Sound Player::ApplyPhysics(Vector3f input, World* world, float elapsedTime, Booster booster_table[]) {
Player::Sound snd = Player::Sound::NOSOUND; Player::Sound snd = Player::Sound::NOSOUND;
static float timing = 0.f; static float timing = 0.f;
/* Gestion de collisions */ /* Gestion de collisions */
@ -198,37 +198,49 @@ Player::Sound Player::ApplyPhysics(Vector3f input, World* world, float elapsedTi
else isStep = false; else isStep = false;
m_POV = m_position.y; m_POV = m_position.y;
m_POV += m_airborne ? 0 : (sin(bobbingtime) - 0.5f) * (abs(m_velocity.x) + abs(m_velocity.z)) * .2f; m_POV += m_airborne ? 0 : (sin(bobbingtime) - 0.5f) * (abs(m_velocity.x) + abs(m_velocity.z)) * .2f;
TakeBooster(booster_table);
RemoveBooster(elapsedTime); RemoveBooster(elapsedTime);
return snd; return snd;
} }
void Player::ApplyTransformation(Transformation& transformation, bool rel, bool rot) const { void Player::ApplyTransformation(Transformation& transformation, bool rel, bool rot) const {
transformation.ApplyRotation(-m_rotX, 1, 0, 0); transformation.ApplyRotation(-m_rotX, 1, 0, 0);
transformation.ApplyRotation(-m_rotY, 0, 1, 0); transformation.ApplyRotation(-m_rotY, 0, 1, 0);
if (rel) transformation.ApplyTranslation(-GetPOV()); if (rel) transformation.ApplyTranslation(-GetPOV());
} }
void Player::GetBooster(Booster boosttype) void Player::TakeBooster(Booster booster_table[])
{ {
if (boosttype == SPEED) for (int i = 0; i < sizeof(booster_table); i++)
{
if (abs((m_position.x + m_position.y + m_position.z) - (booster_table[i].GetPosition().x + booster_table[i].GetPosition().y + booster_table[i].GetPosition().z)) <= 0.5f && booster_table[i].GetAvailability() == true)
{
GetBooster(booster_table[i].GetType());
booster_table[i].SetAvailability(false);
}
}
}
void Player::GetBooster(BOOST_TYPE boosttype)
{
if (boosttype == BTYPE_SPEED)
{ {
boostspeed = true; boostspeed = true;
timeboostspeed = 0; timeboostspeed = 0;
} }
if (boosttype == HEAL) if (boosttype == BTYPE_HEAL)
{ {
m_hp = 100; m_hp = 100;
} }
if (boosttype == DAMAGE) if (boosttype == BTYPE_DAMAGE)
{ {
boostdamage = true; boostdamage = true;
timeboostdamage = 0; timeboostdamage = 0;
} }
if (boosttype == INVINCIBLE) if (boosttype == BTYPE_INVINCIBLE)
{ {
boostinvincible = true; boostinvincible = true;
boostinvincible = 0; boostinvincible = 0;

View File

@ -4,6 +4,8 @@
#include <cmath> #include <cmath>
#include "transformation.h" #include "transformation.h"
#include "vector3.h" #include "vector3.h"
#include "../SQCSim2021/booster.h"
#include "define.h"
class World; class World;
@ -11,7 +13,7 @@ class World;
class Player { class Player {
public: public:
enum Sound { NOSOUND, STEP, FALL }; enum Sound { NOSOUND, STEP, FALL };
enum Booster { SPEED, HEAL, DAMAGE, INVINCIBLE }; //enum BoosterType { SPEED, HEAL, DAMAGE, INVINCIBLE };
Player(const Vector3f& position, float rotX = 0, float rotY = 0); Player(const Vector3f& position, float rotX = 0, float rotY = 0);
~Player(); ~Player();
@ -19,8 +21,9 @@ public:
void TurnLeftRight(float value, float sensitivity); void TurnLeftRight(float value, float sensitivity);
void TurnTopBottom(float value, float sensitivity); void TurnTopBottom(float value, float sensitivity);
Vector3f GetInput(bool front, bool back, bool left, bool right, bool jump, bool dash, float elapsedTime); Vector3f GetInput(bool front, bool back, bool left, bool right, bool jump, bool dash, float elapsedTime);
Sound ApplyPhysics(Vector3f input, World* world, float elapsedTime); Sound ApplyPhysics(Vector3f input, World* world, float elapsedTime, Booster booster_table[]);
void GetBooster(Booster boosttype); void TakeBooster(Booster booster_table[]);
void GetBooster(BOOST_TYPE boosttype);
void RemoveBooster(float elapsedtime); void RemoveBooster(float elapsedtime);
void ApplyTransformation(Transformation& transformation, bool rel = true, bool rot = true) const; void ApplyTransformation(Transformation& transformation, bool rel = true, bool rot = true) const;

View File

@ -1,46 +1,81 @@
#include "booster.h" #include "booster.h"
void Booster::RenderBillboard(const Vector3f pos, TextureAtlas& textureAtlas, Shader& shader, Transformation tran) Booster::Booster(Vector3f tpos, BOOST_TYPE ttype)
{
pos = tpos;
type = ttype;
}
Booster::~Booster()
{
}
Vector3f Booster::GetPosition()
{
return pos;
}
BOOST_TYPE Booster::GetType()
{
return type;
}
bool Booster::GetAvailability()
{
return available;
}
void Booster::SetAvailability(bool value)
{
available = value;
}
void Booster::RenderBillboard(TextureAtlas& textureAtlas, Shader& shader, Transformation tran, Player player)
{ {
//
//Vector3f playerToQuad = m_player.GetPosition() - m_position;
//playerToQuad.Normalize();
//Vector3f targetPosition = m_player.GetPosition() + playerToQuad * 10.0f;
//Matrix4f rotationMatrix;
//rotationMatrix.SetLookAt(m_position, targetPosition, Vector3f(0, 1, 0));
//glMultMatrixf(rotationMatrix.GetInternalValues());
float x = pos.x;
float y = pos.y;
float z = pos.z;
float width = 1.0f; float width = 1.0f;
float height = 1.0f; float height = 1.7f;
//Pt override les collisions.. a ce point la je sais pas quoi faire
//Matrix4 mat4 = tran.GetMatrix(); Matrix4 mat4 = tran.GetMatrix();
//mat4 VP = pMatrix * vMatrix;
//Vector3f CameraRight = Vector3f(mat4.Get11(), mat4.Get21(), mat4.Get31());
//Vector3f CameraUp = Vector3f(mat4.Get12(), mat4.Get22(), mat4.Get32());
//Vector3f v1 = (m_position + CameraRight * 0.5 * width + CameraUp * -0.5 * width); Vector3f DiffCam = GetPosition() - player.GetPosition();
//Vector3f v2 = (m_position + CameraRight * 0.5 * width + CameraUp * 0.5 * width); Vector3f UpCam = Vector3f(mat4.Get12(), mat4.Get22(), mat4.Get32());
//Vector3f v4 = (m_position + CameraRight * -0.5 * width + CameraUp * -0.5 * width);
//Vector3f v3 = (m_position + CameraRight * -0.5 * width + CameraUp * 0.5 * width); Vector3f CrossA = DiffCam.Cross(UpCam);
Vector3f CrossB = DiffCam.Cross(CrossA);
CrossA.Normalize();
CrossB.Normalize();
Vector3f playerPosition = GetPosition() + Vector3f(0.f, 0.f, 0.f);
Vector3f v1 = (playerPosition + CrossA * 0.5 * width + CrossB * 0.5 * height);
Vector3f v2 = (playerPosition - CrossA * 0.5 * width + CrossB * 0.5 * height);
Vector3f v3 = (playerPosition + CrossA * 0.5 * width - CrossB * 0.5 * height);
Vector3f v4 = (playerPosition - CrossA * 0.5 * width - CrossB * 0.5 * height);
//tran.ApplyTranslation(m_position);
float u, v, w, h; float u, v, w, h;
//glDisable(GL_DEPTH_TEST);
shader.Use(); shader.Use();
textureAtlas.Bind(); textureAtlas.Bind();
textureAtlas.TextureIndexToCoord(8, u, v, w, h); textureAtlas.TextureIndexToCoord(0, u, v, w, h);
//glLoadIdentity();
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBlendEquation(GL_FUNC_ADD);
glLoadMatrixf(tran.GetMatrix().GetInternalValues()); glLoadMatrixf(tran.GetMatrix().GetInternalValues());
glBegin(GL_QUADS); glBegin(GL_QUADS);
glTexCoord2f(u, v); glVertex3f(x - width / 2., y - height, z); //glVertex3f(v4.x, v4.y, v4.z);//glVertex3f(0, 50, 0); glTexCoord2f(u, v); glVertex3f(v1.x, v1.y, v1.z);
glTexCoord2f(u + w, v); glVertex3f(x + width / 2., y - height, z); //glVertex3f(v3.x, v3.y, v3.z); //glVertex3f(50,50, 0); glTexCoord2f(u + w, v); glVertex3f(v2.x, v2.y, v2.z);
glTexCoord2f(u + w, v + h); glVertex3f(x + width / 2., y, z); //glVertex3f(v2.x, v2.y, v2.z); //glVertex3f(50, 0, 0); glTexCoord2f(u + w, v + h); glVertex3f(v3.x, v3.y, v3.z);
glTexCoord2f(u, v + h); glVertex3f(x - width / 2., y, z); //glVertex3f(v1.x, v1.y, v1.z);// glVertex3f(0, 0, 0); glTexCoord2f(u, v + h); glVertex3f(v4.x, v4.y, v4.z);
glEnd(); glEnd();
glBlendFunc(GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR);
glBlendEquation(GL_FUNC_SUBTRACT);
glDisable(GL_BLEND);
shader.Disable(); shader.Disable();
//tran.ApplyTranslation(-m_position);
//glEnable(GL_DEPTH_TEST);
} }

View File

@ -5,10 +5,21 @@
#include "shader.h" #include "shader.h"
#include "../SQCSim-common/vector3.h" #include "../SQCSim-common/vector3.h"
#include "../SQCSim-common/transformation.h" #include "../SQCSim-common/transformation.h"
#include "../SQCSim-common/player.h"
class Booster { class Booster {
public: public:
void RenderBillboard(const Vector3f pos, TextureAtlas& textureAtlas, Shader& shader, Transformation tran); Booster(Vector3f tpos, BOOST_TYPE ttype);
~Booster();
void RenderBillboard(TextureAtlas& textureAtlas, Shader& shader, Transformation tran, Player player);
Vector3f GetPosition();
BOOST_TYPE GetType();
bool GetAvailability();
void SetAvailability(bool value);
private:
Vector3f pos;
BOOST_TYPE type;
bool available;
}; };
#endif #endif

View File

@ -3,13 +3,13 @@
//#define SFML_STATIC true //#define SFML_STATIC true
#include "../SQCSim-common/define.h"
#include <iostream> #include <iostream>
#include <chrono> #include <chrono>
#include <iomanip> #include <iomanip>
#include <GL/glew.h> #include <GL/glew.h>
#include <SFML/Window.hpp> #include <SFML/Window.hpp>
#include <SFML/Graphics.hpp> #include <SFML/Graphics.hpp>
#include "../SQCSim-common/define.h"
#ifdef _WIN32 #ifdef _WIN32
#include <gl/GL.h> #include <gl/GL.h>

View File

@ -1346,7 +1346,7 @@ void Engine::Render(float elapsedTime) {
static bool leftright = false; static bool leftright = false;
if (pollTime >= .005f) { if (pollTime >= .005f) {
Player::Sound snd = m_player.ApplyPhysics(m_player.GetInput(m_keyW, m_keyS, m_keyA, m_keyD, m_keySpace, (bloc == BTYPE_LAST && bulletTime <= 0.f && m_mouseL), elapsedTime), &m_world, elapsedTime); Player::Sound snd = m_player.ApplyPhysics(m_player.GetInput(m_keyW, m_keyS, m_keyA, m_keyD, m_keySpace, (bloc == BTYPE_LAST && bulletTime <= 0.f && m_mouseL), elapsedTime), &m_world, elapsedTime, booster_table);
switch (snd) { switch (snd) {
case Player::Sound::STEP: case Player::Sound::STEP:
if (leftright) if (leftright)
@ -1425,9 +1425,22 @@ void Engine::Render(float elapsedTime) {
} }
} }
gameTime += elapsedTime * 10;
Vector3f dance = Vector3f(sin(gameTime), 0, cos(-gameTime));
dance.Normalize();
booster_table[0] = Booster({ 195, 16, 195 }, BTYPE_SPEED);
m_remotePlayer.ApplyPhysics(dance, &m_world, elapsedTime, booster_table);
m_world.Update(m_bullets, m_player.GetPosition(), m_blockinfo); m_world.Update(m_bullets, m_player.GetPosition(), m_blockinfo);
m_renderer.UpdateMesh(&m_world, m_player.GetPosition(), m_blockinfo); m_renderer.UpdateMesh(&m_world, m_player.GetPosition(), m_blockinfo);
glDisable(GL_BLEND); m_remotePlayer.Render(m_animeAtlas, m_shader01, all, elapsedTime);
booster_table[0].RenderBillboard(m_textureAtlas, m_shader01, all, m_player);
if (m_isSkybox) m_renderer.RenderWorld(&m_world, m_renderCount, m_player.GetPosition(), m_player.GetDirection(), all, m_shader01, m_textureAtlas);
//glClear(GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
//m_remotePlayer.Render(m_textureAtlas, m_shader01, all, elapsedTime);
m_renderer.RenderWorld(&m_world, m_renderCount, m_player.GetPosition(), m_player.GetDirection(), all, m_shader01, m_textureAtlas); m_renderer.RenderWorld(&m_world, m_renderCount, m_player.GetPosition(), m_player.GetDirection(), all, m_shader01, m_textureAtlas);
glEnable(GL_BLEND); glEnable(GL_BLEND);

View File

@ -5,7 +5,6 @@
#include <chrono> #include <chrono>
#include <cmath> #include <cmath>
#include <unordered_map> #include <unordered_map>
#include <set>
#include "../SQCSim-common/array2d.h" #include "../SQCSim-common/array2d.h"
#include "../SQCSim-common/blockinfo.h" #include "../SQCSim-common/blockinfo.h"
#include "../SQCSim-common/boostinfo.h" #include "../SQCSim-common/boostinfo.h"
@ -25,12 +24,15 @@
#include "renderer.h" #include "renderer.h"
#include "remoteplayer.h" #include "remoteplayer.h"
#include "booster.h" #include "booster.h"
#include "settings.h"
class Engine : public OpenglContext { class Engine : public OpenglContext {
public: public:
Engine(); Engine();
virtual ~Engine(); virtual ~Engine();
virtual void DrawMenu();
virtual void DrawPause();
virtual void DrawSplachScreen();
virtual void Init(); virtual void Init();
virtual void DeInit(); virtual void DeInit();
virtual void LoadResource(); virtual void LoadResource();
@ -45,150 +47,90 @@ public:
private: private:
int GetFps(float elapsedTime) const; int GetFps(float elapsedTime) const;
int GetCountdown(float elapsedTime); int GetCountdown(float elapsedTime);
int GetOptionsChoice();
bool StartMultiplayerGame();
bool LoadTexture(Texture& texture, const std::string& filename, bool useMipmaps = true, bool stopOnError = true); bool LoadTexture(Texture& texture, const std::string& filename, bool useMipmaps = true, bool stopOnError = true);
void ChangeResolution(Resolution resolution);
void InstantDamage(); void InstantDamage();
void SystemNotification(std::string systemLog); void SystemNotification(std::string systemLog);
void KillNotification(Player killer, Player killed); void KillNotification(Player killer, Player killed);
void DisplayNotification(std::string message); void DisplayNotification(std::string message);
void ProcessNotificationQueue();
void DisplayCrosshair(); void DisplayCrosshair();
void DisplayPovGun(); void DisplayPovGun();
void DisplayCurrentItem(); void DisplayCurrentItem();
void DisplayHud(int timer); void DisplayHud(int timer);
void DrawHud(float elapsedTime, BlockType bloc);
void DisplayInfo(float elapsedTime, BlockType bloc); void DisplayInfo(float elapsedTime, BlockType bloc);
void DisplaySingleOrMultiplayerMenu();
void DisplaySplashScreen(); void DrawHud(float elapsedTime, BlockType bloc);
void DisplayMainMenu();
void DrawButtonBackgrounds(float centerX, float centerY, int iterations);
void DrawMainMenuButtons(float centerX, float centerY);
void DrawSingleMultiButtons(float centerX, float centerY);
void DisplayLobbyMenu(float elapsedTime);
void SetPlayerUsername(float elapsedTime);
void SetServerAddress(float elapsedTime);
void DisplayPauseMenu(float elapsedTime);
void DisplayOptionsMenu();
void DisplayAudioMenu(float centerX, float centerY);
void DisplayGraphicsMenu(float centerX, float centerY);
void DisplayGameplayMenu(float centerX, float centerY);
void DrawSliderBackground(float centerX, float centerY, float minVal, float maxVal, float bottomSideValue, float topSideValue);
void DisplayBarPercentValue(float centerX, float centerY, float posX, float posY, float minVal, float maxVal, float value);
void DrawSlider(float centerX, float centerY, float value, float minVal, float maxVal, float bottomSideValue, float topSideValue);
void PrintText(float x, float y, const std::string& t, float charSizeMultiplier = 1.0f); void PrintText(float x, float y, const std::string& t, float charSizeMultiplier = 1.0f);
void ProcessNotificationQueue();
char SimulateKeyboard(unsigned char key);
void HandlePlayerInput(float elapsedTime);
Audio m_audio = Audio(AUDIO_PATH "music01.wav", AUDIO_PATH "menumusic01.wav");
irrklang::ISound* m_powpow, * m_scream;
irrklang::ISound* m_whoosh[MAX_BULLETS];
Bullet* m_bullets[MAX_BULLETS];
//Menu
Vector3f m_otherplayerpos = Vector3f(999, 999, 999);
World m_world = World();
Player m_player = Player(Vector3f(.5f, CHUNK_SIZE_Y + 1.8f, .5f));
Renderer m_renderer = Renderer(); Connector m_conn;
Shader m_shader01;
Booster m_booster = Booster();
BlockInfo* m_blockinfo[BTYPE_LAST]; BlockInfo* m_blockinfo[BTYPE_LAST];
BoostInfo* m_boostinfo[BTYPE_BOOST_LAST]; BoostInfo* m_boostinfo[BTYPE_BOOST_LAST];
GameState m_gamestate = GameState::SPLASH;
Shader m_shader01;
Skybox m_skybox;
TextureAtlas m_textureAtlas = TextureAtlas(BTYPE_LAST); TextureAtlas m_textureAtlas = TextureAtlas(BTYPE_LAST);
TextureAtlas m_animeAtlas = TextureAtlas(TYPE_LAST + POS_LAST); TextureAtlas m_animeAtlas = TextureAtlas(TYPE_LAST + POS_LAST);
TextureAtlas::TextureIndex texBoostHeal; World m_world = World();
Renderer m_renderer = Renderer();
Booster* booster_table;
Texture m_textureCrosshair; Texture m_textureCrosshair;
Texture m_textureFont; Texture m_textureFont;
Texture m_textureGun; Texture m_textureGun;
Texture m_texturePovGun; Texture m_texturePovGun;
Texture m_textureSkybox; Texture m_textureSkybox;
Texture m_textureSoloMultiMenu;
Texture m_textureSoloText;
Texture m_textureMultiText;
Texture m_textureTitle;
Texture m_textureLobbyMenu; TextureAtlas::TextureIndex texBoostHeal;
Texture m_textureMainMenu;
Texture m_textureOptionsMenu;
Texture m_texturePauseMenu;
Texture m_textureSplashScreen;
Texture m_textureHd; Skybox m_skybox;
Texture m_textureFhd; Audio m_audio = Audio(AUDIO_PATH "start.wav");
Texture m_textureQhd;
Texture m_textureUhd;
Texture m_textureLobbyServer; irrklang::ISound* m_powpow,
Texture m_textureLobbyIdentify; * m_scream;
Texture m_textureCheck; irrklang::ISound *m_whoosh[MAX_BULLETS];
Texture m_textureChecked;
Texture m_texturePauseResume; Player m_player = Player(Vector3f(.5f, CHUNK_SIZE_Y + 1.8f, .5f));
Texture m_texturePauseMainMenu;
Texture m_textureOptAudio; Bullet* m_bullets[MAX_BULLETS];
Texture m_textureOptBack;
Texture m_textureOptGameplay;
Texture m_textureOptGraphics;
Texture m_textureOptMain;
Texture m_textureOptMusic;
Texture m_textureOptOptions;
Texture m_textureOptResolution;
Texture m_textureOptSensitivity;
Texture m_textureOptSfx;
Texture m_textureMenuBack; std::unordered_map<uint64_t, Player*> m_players;
Texture m_textureMenuMulti; netprot::Buffer m_buf, m_bufout;
Texture m_textureMenuOptions; std::chrono::high_resolution_clock::time_point m_startTime;
Texture m_textureMenuPlay;
Texture m_textureMenuQuit;
Texture m_textureMenuSingle;
Texture m_textureMenuTitle;
Settings m_options = Settings(m_audio); //Menu
enum class GameState: uint8_t { MAIN_MENU, OPTIONS, QUIT, NEWG, PLAY, PAUSE };
GameState m_gamestate = GameState::MAIN_MENU;
Texture MenuTitleTexture;
Texture MenuBGTexture;
Texture MenuStartTexture;
Texture MenuQuitTexture;
Texture MenuOptionsTexture;
Texture PauseBGTexture;
Texture SplachScreenTexture;
Resolution m_resolution = HD;
float m_splashTime = 2.0f;
float m_scale; float m_scale;
float m_time = 0; float m_time = 0;
float m_time_SplashScreen = 0;
float m_titleX = 0; float m_titleX = 0;
float m_titleY = 0; float m_titleY = 0;
float m_Width = 0;
float m_Height = 0;
int m_renderCount = 0; int m_renderCount = 0;
int m_countdown = COUNTDOWN; int m_countdown = COUNTDOWN;
int m_nbReductionChunk = 4; int m_nbReductionChunk = 4;
int m_timerReductionChunk = 30; int m_timerReductionChunk = 30;
float m_mainvolume;
float m_musicvolume;
float m_sfxvolume;
float m_sensitivity;
int m_selectedOption = 0;
bool m_selectedOptAudioMainBar = false;
bool m_selectedOptAudioMusicBar = false;
bool m_selectedOptAudioSfxBar = false;
bool m_selectedGameplaySensitivityBar = false;
bool m_damage = false; bool m_damage = false;
bool m_wireframe = false; bool m_wireframe = false;
@ -202,57 +144,28 @@ private:
bool m_soloMultiChoiceMade = false; bool m_soloMultiChoiceMade = false;
bool m_stopcountdown = false; bool m_stopcountdown = false;
bool m_selectedPlayOptions = false;
bool m_selectedOptions = false;
bool m_selectedQuit = false;
std::string m_currentInputString;
std::string m_username;
std::string m_serverAddr;
char m_inputChar = 0;
bool m_invalidChar = false;
bool m_charChanged = false;
bool m_settingUsername = false;
bool m_settingServer = false;
bool m_selectedSinglePlayer = false;
bool m_selectedMultiPlayer = false;
bool m_singleReady = false;
bool m_multiReady = false;
bool m_key1 = false; bool m_key1 = false;
bool m_key2 = false; bool m_key2 = false;
bool m_keyK = false; bool m_keyK = false;
bool m_keyL = false; bool m_keyL = false;
bool m_keyW = false; bool m_keyW = false;
bool m_keyA = false; bool m_keyA = false;
bool m_keyS = false; bool m_keyS = false;
bool m_keyD = false; bool m_keyD = false;
bool m_keyEnter = false;
bool m_keySpace = false; bool m_keySpace = false;
bool m_keyShift = false;
bool m_keyBackspace = false;
bool m_mouseL = false; bool m_mouseL = false;
bool m_mouseR = false; bool m_mouseR = false;
bool m_mouseC = false; bool m_mouseC = false;
bool m_mouseWU = false; bool m_mouseWU = false;
bool m_mouseWD = false; bool m_mouseWD = false;
//Pour trouver ou est la souris
float m_mousemx = 0; float m_mousemx = 0;
float m_mousemy = 0; float m_mousemy = 0;
bool m_networkgame = false; bool m_networkgame = false;
netprot::PlayerInfo m_pinfo;
Connector m_conn; RemotePlayer m_remotePlayer = RemotePlayer(netprot::PlayerInfo(),Vector3f(5.5f, CHUNK_SIZE_Y + 1.8f, 5.5f));
std::deque<netprot::ChunkMod*> m_chunkmod_manifest;
std::chrono::high_resolution_clock::time_point m_startTime;
std::unordered_map<uint64_t, Player*> m_players;
netprot::Buffer m_buf, m_bufout;
netprot::ChunkMod* m_chunkmod = nullptr;
std::unordered_map<uint64_t, netprot::Sync> m_syncs;
std::string m_messageNotification = ""; std::string m_messageNotification = "";
}; };