Skip to content

Commit

Permalink
Merge pull request #68 from YGNI-RType/dev
Browse files Browse the repository at this point in the history
Release v0.4.0
  • Loading branch information
Popochounet authored Nov 5, 2024
2 parents f067605 + 6017265 commit fc49e0d
Show file tree
Hide file tree
Showing 100 changed files with 3,107 additions and 638 deletions.
6 changes: 4 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ include(GNUInstallDirs)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)

include(cmake/automate-vcpkg.cmake)
vcpkg_bootstrap()
vcpkg_install_packages(raylib stduuid nlohmann-json portaudio opus bzip2)
if (NOT DEFINED ENV{NOT_INSTALL_VCPKG})
vcpkg_bootstrap()
vcpkg_install_packages(raylib stduuid nlohmann-json portaudio opus bzip2)
endif()

file(GLOB_RECURSE SOURCES source/*.cpp)
list(FILTER SOURCES EXCLUDE REGEX ".*/deprecated/.*")
Expand Down
2 changes: 1 addition & 1 deletion examples/POC_3D/assets/models/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
props

Binary file added examples/POC_3D/assets/models/antique_cabinet.glb
Binary file not shown.
2 changes: 1 addition & 1 deletion examples/POC_3D/include/components/Player.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
#pragma once

#include "GEngine/libdev/Component.hpp"
#include <string>

#define DEFAULT_SPEED 0.06

Expand All @@ -21,6 +20,7 @@ enum class PlayerState {
struct Player : public gengine::Component<Player> {
float speed;
float defaultSpeed;
bool isLocked = false;

Player(float defaultSpeed = DEFAULT_SPEED)
: speed(defaultSpeed)
Expand Down
15 changes: 15 additions & 0 deletions examples/POC_3D/include/components/Prop.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/*
** EPITECH PROJECT, 2024
** B-CPP-500-LYN-5-1-rtype-basile.fouquet
** File description:
** Prop.hpp
*/

#pragma once

#include "GEngine/libdev/Component.hpp"

namespace poc3d::component {
struct Prop : public gengine::Component<Prop> {};

} // namespace poc3d::component
11 changes: 11 additions & 0 deletions examples/POC_3D/include/events/Jump.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,24 @@
#pragma once

#include "GEngine/libdev/System.hpp"
#include <stduuid/uuid.h>

namespace poc3d::event {
struct Jump : public gengine::Event {
float strength;
uuids::uuid playerUuid = uuids::uuid{};

Jump(float strength = 0.1)
: strength(strength) {
}

Jump(double strength = 0.1)
: strength(strength) {
}

Jump(float strength = 0.1, uuids::uuid playerUuid = uuids::uuid{})
: strength(strength)
, playerUuid(playerUuid) {
}
};
} // namespace poc3d::event
20 changes: 20 additions & 0 deletions examples/POC_3D/include/events/LockPlayerEvent.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*
** EPITECH PROJECT, 2024
** B-CPP-500-LYN-5-1-rtype-basile.fouquet
** File description:
** LockPlayerEvent.hpp
*/

#pragma once

#include "GEngine/libdev/System.hpp"

namespace poc3d::event {
struct LockPlayerEvent : public gengine::Event {
bool locked;

LockPlayerEvent(bool locked)
: locked(locked) {
}
};
} // namespace poc3d::event
14 changes: 14 additions & 0 deletions examples/POC_3D/include/events/MorphToPropEvent.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
** EPITECH PROJECT, 2024
** B-CPP-500-LYN-5-1-rtype-basile.fouquet
** File description:
** MorphToPropEvent.hpp
*/

#pragma once

#include "GEngine/libdev/System.hpp"

namespace poc3d::event {
struct MorphToPropEvent : public gengine::Event {};
} // namespace poc3d::event
14 changes: 14 additions & 0 deletions examples/POC_3D/include/events/ResetPlayerRotationCameraEvent.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
** EPITECH PROJECT, 2024
** B-CPP-500-LYN-5-1-rtype-basile.fouquet
** File description:
** ResetPlayerRotationCameraEvent.hpp
*/

#pragma once

#include "GEngine/libdev/System.hpp"

namespace poc3d::event {
struct ResetPlayerRotationCameraEvent : public gengine::Event {};
} // namespace poc3d::event
20 changes: 20 additions & 0 deletions examples/POC_3D/include/events/ResetPlayerRotationEvent.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*
** EPITECH PROJECT, 2024
** B-CPP-500-LYN-5-1-rtype-basile.fouquet
** File description:
** ResetPlayerRotationEvent.hpp
*/

#pragma once

#include "GEngine/libdev/System.hpp"

namespace poc3d::event {
struct ResetPlayerRotationEvent : public gengine::Event {
float rotation;

ResetPlayerRotationEvent(float rotation)
: rotation(rotation) {
}
};
} // namespace poc3d::event
49 changes: 49 additions & 0 deletions examples/POC_3D/include/systems/CameraRotation.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/*
** EPITECH PROJECT, 2024
** B-CPP-500-LYN-5-1-rtype-basile.fouquet
** File description:
** CameraRotation.hpp
*/

#pragma once

#include "GEngine/libdev/systems/events/GameLoop.hpp"

#include "GEngine/interface/components/RemoteLocal.hpp"
#include "GEngine/libdev/components/Transforms.hpp"
#include "GEngine/libdev/components/Velocities.hpp"
#include "GEngine/libdev/components/driver/output/Animation.hpp"
#include "GEngine/libdev/components/driver/output/Model.hpp"

#include "components/Player.hpp"

#include "GEngine/interface/events/SharedEvent.hpp"
#include "GEngine/libdev/Components.hpp"
#include "GEngine/libdev/System.hpp"

#include "events/Movement.hpp"
#include "events/ResetPlayerRotationCameraEvent.hpp"
#include "events/Rotation.hpp"

#include "GEngine/libdev/systems/driver/output/Draw.hpp"

#include "Constants.hpp"

namespace poc3d::system {
class CameraRotation
: public gengine::System<CameraRotation, gengine::interface::component::RemoteLocal, gengine::component::Velocity3D,
gengine::component::driver::output::Model, component::Player, geg::component::Transform3D,
gengine::system::driver::output::DrawModel>,
public gengine::LocalSystem {
public:
void init(void) override;
void onStart(gengine::system::event::StartEngine &e);
void onMovement(gengine::interface::event::SharedEvent<event::Movement> &e);
void rotateCamera(event::Rotation &e);
void resetPlayerRotation(event::ResetPlayerRotationCameraEvent &e);

private:
void moveCamera(geg::component::Transform3D &transform, gengine::Vect3 &forward);
gengine::Entity m_cameraId;
};
} // namespace poc3d::system
18 changes: 13 additions & 5 deletions examples/POC_3D/include/systems/Guess.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,29 @@
#include "GEngine/libdev/Components.hpp"
#include "GEngine/libdev/System.hpp"

#include "GEngine/interface/events/RemoteLocal.hpp"
#include "GEngine/interface/events/SharedEvent.hpp"

#include "GEngine/libdev/systems/driver/output/Draw.hpp"
#include "GEngine/libdev/systems/driver/output/ModelManager.hpp"
#include "GEngine/libdev/systems/driver/output/RenderWindow.hpp"

#include "events/GuessEvent.hpp"

namespace poc3d::system {
class Guess : public gengine::System<Guess, gengine::interface::component::RemoteLocal,
gengine::component::driver::output::Model, geg::component::Transform3D,
component::Player, gengine::system::driver::output::DrawModel,
gengine::system::driver::output::ModelManager> {
class Guess
: public gengine::System<Guess, gengine::interface::component::RemoteLocal,
gengine::component::driver::output::Model, geg::component::Transform3D, component::Player,
gengine::system::driver::output::DrawModel, gengine::system::driver::output::ModelManager,
gengine::system::driver::output::RenderWindow>,
public gengine::LocalSystem {
public:
void init(void) override;

void guessWho(gengine::interface::event::SharedEvent<event::GuessEvent> &e);
void guessWho(event::GuessEvent &e);
void setMe(gengine::interface::event::ItsMe &e);

private:
uuids::uuid m_me;
};
} // namespace poc3d::system
23 changes: 23 additions & 0 deletions examples/POC_3D/include/systems/HUD.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@

/*
** EPITECH PROJECT, 2024
** B-CPP-500-LYN-5-1-rtype-basile.fouquet
** File description:
** Init.hpp
*/

#pragma once

#include "GEngine/libdev/Events.hpp"
#include "GEngine/libdev/System.hpp"
#include "GEngine/libdev/Systems.hpp"

#include <raylib.h>

namespace poc3d::system {
class Crossair : public gengine::OnEventSystem<Crossair, gengine::system::event::StartEngine>,
public gengine::LocalSystem {
public:
void onEvent(gengine::system::event::StartEngine &e);
};
} // namespace poc3d::system
41 changes: 0 additions & 41 deletions examples/POC_3D/include/systems/Init.hpp

This file was deleted.

10 changes: 8 additions & 2 deletions examples/POC_3D/include/systems/InputsToGameEvents.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@
#include "events/ChangePlayerModelEvent.hpp"
#include "events/GuessEvent.hpp"
#include "events/Jump.hpp"
#include "events/LockPlayerEvent.hpp"
#include "events/MorphToPropEvent.hpp"
#include "events/Movement.hpp"
#include "events/ResetPlayerRotationCameraEvent.hpp"
#include "events/Rotation.hpp"
#include "events/Sprint.hpp"

Expand All @@ -26,16 +29,19 @@ class InputsToGameEvents : public gengine::System<InputsToGameEvents, gengine::s
void init(void) override;
void sendEvents(geg::event::GameLoop &e);

void rotatePlayer(geg::event::io::MouseMoveEvent &e);
void changeCameraMode(geg::event::io::KeyF5Event &e);

void moveFwd(geg::event::io::KeyWEvent &e);
void moveLeft(geg::event::io::KeyAEvent &e);
void moveBck(geg::event::io::KeySEvent &e);
void moveRight(geg::event::io::KeyDEvent &e);
void jump(geg::event::io::KeySpaceEvent &e);
void sprint(geg::event::io::KeyLeftShiftEvent &e);
void sprint(geg::event::io::KeyLeftControlEvent &e);

void guess(geg::event::io::KeyEEvent &e);
void guess(geg::event::io::MouseLeft &e);
void morph(geg::event::io::KeyEEvent &e);
void lockPlayer(geg::event::io::KeyLeftShiftEvent &e);

void setPlayerModelCoraline(geg::event::io::KeyOneEvent &e);
void setPlayerModelHunter(geg::event::io::KeyTwoEvent &e);
Expand Down
39 changes: 39 additions & 0 deletions examples/POC_3D/include/systems/MorphToProp.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
** EPITECH PROJECT, 2024
** B-CPP-500-LYN-5-1-rtype-basile.fouquet
** File description:
** MorphToProp.hpp
*/

#pragma once

#include "GEngine/interface/components/RemoteLocal.hpp"
#include "GEngine/libdev/components/Transforms.hpp"
#include "GEngine/libdev/components/driver/output/Model.hpp"
#include "components/Player.hpp"
#include "components/Prop.hpp"

#include "GEngine/libdev/Components.hpp"
#include "GEngine/libdev/System.hpp"
#include "GEngine/libdev/Systems.hpp"

#include "GEngine/interface/events/SharedEvent.hpp"

#include "GEngine/libdev/systems/driver/output/Draw.hpp"
#include "GEngine/libdev/systems/driver/output/ModelManager.hpp"

#include "events/MorphToPropEvent.hpp"

namespace poc3d::system {
class MorphToProp
: public gengine::System<
MorphToProp, gengine::interface::component::RemoteLocal, gengine::component::driver::output::Model,
geg::component::Transform3D, component::Player, component::Prop, gengine::system::driver::output::DrawModel,
gengine::system::driver::output::ModelManager, gengine::system::driver::output::RenderWindow>,
public gengine::LocalSystem {
public:
void init(void) override;

void morphPlayer(event::MorphToPropEvent &e);
};
} // namespace poc3d::system
5 changes: 2 additions & 3 deletions examples/POC_3D/include/systems/PlayerMotion.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@

#include "events/ChangeCameraMode.hpp"
#include "events/Jump.hpp"
#include "events/LockPlayerEvent.hpp"
#include "events/Movement.hpp"
#include "events/Rotation.hpp"
#include "events/Sprint.hpp"
Expand All @@ -42,8 +43,6 @@ class PlayerMotion : public gengine::System<PlayerMotion, gengine::interface::co
void jumpPlayer(gengine::interface::event::SharedEvent<event::Jump> &e);
void changeCameraModePlayer(gengine::interface::event::SharedEvent<event::ChangeCameraMode> &e);
void sprintPlayer(gengine::interface::event::SharedEvent<event::Sprint> &e);

private:
void moveCamera(geg::component::Transform3D &transform, gengine::Vect3 &forward);
void lockPlayer(gengine::interface::event::SharedEvent<event::LockPlayerEvent> &e);
};
} // namespace poc3d::system
Loading

0 comments on commit fc49e0d

Please sign in to comment.