SQC-15_online #1

Merged
memartel_loc merged 349 commits from SQC-15_online into master 2023-12-10 17:41:26 -05:00
2 changed files with 58 additions and 49 deletions
Showing only changes of commit 8b448f5072 - Show all commits

View File

@ -55,9 +55,8 @@ void Engine::Init() {
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBlendEquation(GL_FUNC_SUBTRACT);
if (m_istarted) {
if (m_istarted)
return;
}
else m_istarted = true;
// Objet de skybox avec sa propre texture et son propre shader!
@ -71,52 +70,52 @@ void Engine::Init() {
m_whoosh[x] = nullptr;
}
//char* ch = new char[2];
char* ch = new char[2];
//std::cout << "Jouer en ligne? [o/N] ";
//std::cin.getline(ch, 2);
//std::cout << std::endl;
std::cout << "Jouer en ligne? [o/N] ";
std::cin.getline(ch, 2);
std::cout << std::endl;
//if (*ch == 'o' || *ch == 'O') {
// char* input = new char[32];
// std::string playname, srvname;
if (*ch == 'o' || *ch == 'O') {
char* input = new char[32];
std::string playname, srvname;
// while (playname.size() < 1) {
// std::cout << "Veuillez entrer un nom de joueur: ";
// std::cin.getline(input, 32);
// std::cout << std::endl;
// playname = input;
// if (playname.size() < 1 || playname.size() > 32)
// std::puts("Nom invalide.");
// }
// while (srvname.size() < 1) {
// std::cout << "Veuillez entrer une adresse de serveur: ";
// std::cin.getline(input, 32);
// std::cout << std::endl;
// srvname = input;
// if (srvname.size() < 1 || srvname.size() > 32)
// std::puts("Adresse serveur invalide.");
// }
// delete[] input;
while (playname.size() < 1) {
std::cout << "Veuillez entrer un nom de joueur: ";
std::cin.getline(input, 32);
std::cout << std::endl;
playname = input;
if (playname.size() < 1 || playname.size() > 32)
std::puts("Nom invalide.");
}
while (srvname.size() < 1) {
std::cout << "Veuillez entrer une adresse de serveur: ";
std::cin.getline(input, 32);
std::cout << std::endl;
srvname = input;
if (srvname.size() < 1 || srvname.size() > 32)
std::puts("Adresse serveur invalide.");
}
delete[] input;
// if (!m_conn.Init()) {
// if (!m_conn.Connect(srvname.c_str(), playname)) {
// // setup jeu en reseau.
// std::cout << "ID recu du serveur: " << std::to_string(m_conn.getId()) << "!" << std::endl;
// std::cout << "Seed recu du serveur: " << std::to_string(m_conn.getSeed()) << "!" << std::endl;
// m_player = Player(m_conn.getOrigin().position);
if (!m_conn.Init()) {
if (!m_conn.Connect(srvname.c_str(), playname)) {
// setup jeu en reseau.
std::cout << "ID recu du serveur: " << std::to_string(m_conn.getId()) << "!" << std::endl;
std::cout << "Seed recu du serveur: " << std::to_string(m_conn.getSeed()) << "!" << std::endl;
m_player = Player(m_conn.getOrigin().position);
// for (auto& [key, player] : m_conn.m_players)
// m_players[key] = new RemotePlayer(player);
for (auto& [key, player] : m_conn.m_players)
m_players[key] = new RemotePlayer(player);
// seed = m_conn.getSeed();
// m_networkgame = true;
// }
// else std::cout << "Erreur de connexion." << std::endl;
// }
// else std::cout << "Erreur de creation de socket." << std::endl;
//}
//delete[] ch;
seed = m_conn.getSeed();
m_networkgame = true;
}
else std::cout << "Erreur de connexion." << std::endl;
}
else std::cout << "Erreur de creation de socket." << std::endl;
}
delete[] ch;
m_world.SetSeed(seed);
@ -126,9 +125,6 @@ void Engine::Init() {
m_startTime = std::chrono::high_resolution_clock::now();
m_remotePlayer.SetPosition(Vector3f(.5, CHUNK_SIZE_Y + 10., .5));
// Gestion de souris.
CenterMouse();
HideCursor();
}
void Engine::DeInit() {}
@ -278,6 +274,11 @@ void Engine::Render(float elapsedTime) {
return;
}
if (m_gamestate == GameState::PAUSE) {
DisplayPauseMenu();
return;
}
if (m_gamestate == GameState::PLAY) {
HideCursor();
CenterMouse(); //D<>placement de centermouse dans l'action de jouer
@ -942,16 +943,23 @@ void Engine::DisplaySplashScreen() {
glTexCoord2f(0, 1); glVertex2i(-imageWidth / 2, imageHeight / 2);
glEnd();
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBlendEquation(GL_FUNC_ADD);
glEnable(GL_BLEND);
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
}
void Engine::DisplayPauseMenu() {
m_texturePauseMenu.Bind();
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex2i(0, 0);
glTexCoord2f(1, 0); glVertex2i(Width(), 0);
glTexCoord2f(1, 1); glVertex2i(Width(), Height());
glTexCoord2f(0, 1); glVertex2i(0, Height());
glEnd();
}
void Engine::DisplayMainMenu() {
GLint viewport[4];
glGetIntegerv(GL_VIEWPORT, viewport);

View File

@ -61,6 +61,7 @@ private:
void DisplayInfo(float elapsedTime, BlockType bloc);
void DisplaySplashScreen();
void DisplayPauseMenu();
void DisplayMainMenu();
void DrawButtonBackgrounds(float centerX, float centerY, int iterations);